我有这些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的答案:
- 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++;
- }
- }