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

前端之家收集整理的这篇文章主要介绍了如何使用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.f2er.com/csharp/243660.html

猜你在找的C#相关文章