2015-02-24 56 views
1

我正在创建一个需要绘制图形的窗口项目,因为我正在使用图表控件。如何将自定义标签赋予图表控件的x轴?

图表控件的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); 

但这个东西不适合我。

以前有没有人这样做过?您的及时答复将非常感谢,谢谢。

+0

这不是很清楚你想要问什么在这里,但你试过'Chart1.ChartAreas [“MyChartArea”] AxisX.Title =“MyTitle”;' – Izzy 2015-02-24 09:07:41

+0

我不想标题我图表我想定制我的x轴标签从100到0,间隔为25. – 2015-02-24 09:10:20

+0

右键我明白你的意思。看看[这里](http://stackoverflow.com/questions/4858734/formatting-microsoft-chart-control-x-axis-labels-for-sub-categories-to-be-like-c)它可能是对你有一些用处。 – Izzy 2015-02-24 09:14:28

回答

0

以下是我的问题的解决方案。

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; 
}