微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用C#在x轴MSChart中设置值

我有这些XY值:
Series S1 = new Series()
S1.Points.AddXY(9,25);
S1.Points.AddXY(10,35);
S1.Points.AddXY(11,15);
chart1.Series.Add(S1);

但我需要在图中显示X值,如下所示:

X = “9-10”

X = “10-11”

X = “11-12”

我怎样才能做到这一点?

到目前为止,这是我发现的:

这是代码

private void Form1_Shown(object sender,EventArgs e)
    {
        chart1.ChartAreas[0].AxisX.Minimum = 7;
        chart1.ChartAreas[0].AxisX.Maximum = 15;

        Series S1 = new Series();
        S1.Points.AddXY(9,25);
        S1.Points.AddXY(10,35);
        S1.Points.AddXY(11,15);
        chart1.Series.Add(S1);

        chart1.Series[0].Points[0].AxisLabel = "9-10";
        chart1.Series[0].Points[1].AxisLabel = "10-11";
        chart1.Series[0].Points[2].AxisLabel = "11-12";

你可以看到我使用数字,并为X轴标签设置文本,但我只能为DataPoints值做这些,我需要它用于整个值范围.

有什么想法吗?

解决方法

以下是sipla的答案:

使用自定义标签和Customize事件:

string[] range = new string[10];

    private void Form1_Shown(object sender,EventArgs e)
    {
        chart1.ChartAreas[0].AxisX.Minimum = 7;
        chart1.ChartAreas[0].AxisX.Maximum = 16;

        range[0] = "";
        range[1] = "7-8";
        range[2] = "8-9";
        range[3] = "9-10";
        range[4] = "10-11";
        range[5] = "11-12";
        range[6] = "12-1";
        range[7] = "1-2";
        range[8] = "2-3";
        range[9] = "";

        Series S1 = new Series();            
        S1.Points.AddXY(9,15);
        chart1.Series.Add(S1);            

    }

    int count;
    private void chart1_Customize(object sender,EventArgs e)
    {
        count = 0;
        foreach (CustomLabel lbl in chart1.ChartAreas[0].AxisX.CustomLabels)
        {
            lbl.Text = range[count];
            count++;
        }                        
    }

原文地址:https://www.jb51.cc/csharp/243660.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐