如何为图表控件的X轴添加自定义标签?

6
我正在创建一个Windows项目,其中需要绘制图表,我使用图表控件进行绘制。图表控件的X轴标签从0到100,代码如下:
chart1.ChartAreas[0].AxisX.Minimum = 0;
chart1.ChartAreas[0].AxisX.Maximum = 100;

chart1.ChartAreas[0].AxisY.Minimum = 0;
chart1.ChartAreas[0].AxisY.Maximum = 200;

chart1.ChartAreas[0].AxisX.Interval = 25;
chart1.ChartAreas[0].AxisY.Interval = 25;

但我希望能够自定义X轴标签,从100到0。

我尝试了以下几种方法:

chart1.ChartAreas[0].AxisX.Minimum = 0;
chart1.ChartAreas[0].AxisX.Maximum = 100;

chart1.ChartAreas[0].AxisY.Minimum = 0;
chart1.ChartAreas[0].AxisY.Maximum = 200;

chart1.ChartAreas[0].AxisX.Interval = 25;
chart1.ChartAreas[0].AxisY.Interval = 25;



string[] xval = { "100", "75", "50", "25", "0" };
for (int i = 0; i < xval.Length; i++)
{
  chart1.ChartAreas[0].AxisX.CustomLabels.Add(i + 0.5, i + 1.5, xval[i]);
  //chart1.ChartAreas[0].AxisX.CustomLabels.Add(xval[i]);
}

Series S1 = new Series();
S1.Points.AddXY(184,10);
S1.Points.AddXY(100,10);
S1.ChartType = SeriesChartType.Line;
S1.Color = Color.Red;
S1.Name = "Steam Inlet Saturation Temp";
chart1.Series.Add(S1);

Series S2 = new Series();
S2.Points.AddXY(100, 10);
S2.Points.AddXY(0, 10);
S2.ChartType = SeriesChartType.Line;
S2.Color = Color.Blue;
S2.Name = "Back Pressure Temp";
chart1.Series.Add(S2);

但这个东西对我来说并不起作用。 之前有人做过吗?如能及时回复,将不胜感激,谢谢。

不太清楚你在这里想要问什么,但你尝试过 Chart1.ChartAreas["MyChartArea"].AxisX.Title = "MyTitle"; 吗? - Izzy
我不想为我的图表添加标题,我想使用间隔为25,从100到0自定义我的X轴标签。 - Vivek Bhintade
我明白你的意思了。看一下这里,它可能对你有所帮助:https://dev59.com/LFPTa4cB1Zd3GeqPneiZ - Izzy
正如您在我的问题中所看到的,我已经尝试过了,但对我来说它不起作用,我不知道为什么? - Vivek Bhintade
1个回答

5
以下是我问题的解决方案。
string[] monthNames = { "100", "75" , "50" , "25" ,"0"};
int startOffset = -2;
int endOffset = 2;
foreach (string monthName in monthNames)
{
 CustomLabel monthLabel = new CustomLabel(startOffset, endOffset, monthName, 0, LabelMarkStyle.None);                        
 chart1.ChartAreas[0].AxisX.CustomLabels.Add(monthLabel);
 startOffset = startOffset + 25;
 endOffset = endOffset + 25;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接