我在VS 3.5框架中遇到图表控件问题。我正在尝试使用x轴0和y轴1绘制图形。但是它会绘制一个图表(1,1)
我的情况是我需要一个带有(0,1)的单个栏。
Chart1.Series[0].Points.Add(new DataPoint(0,1));
或
Chart1.Series[0].Points.AddXY(0,1);
结果:
条形图(1,1)而不是显示(0,1)点
我添加了
Chart1.ChartAreas[""].AxisX.Minimum = 0;
仍然显示相同的结果......
这太令人沮丧了:当我再添加一个点(1,1)
时例如:
Chart1.Series[0].Points.AddXY(0,1);
Chart1.Series[0].Points.AddXY(1,1);
然后结果:
正确显示点(0,1)和(1,1)的条形图
答案 0 :(得分:2)
您遇到此问题,因为添加到图表的默认系列是条形图。您必须删除条形图系列并将其替换为Point系列才能显示您的数据。请参阅下面的示例代码。
// clear data from the chart
chart.Series.Clear();
// add an x-y series to the chart
var xySeries = new Charting.Series() {
LegendText = "XY Plot",
ChartType = Charting.SeriesChartType.Point,
Color = Color.Brown,
MarkerStyle = Charting.MarkerStyle.Circle,
MarkerSize = 10
};
chart.Series.Add(xySeries);
// put your point on the series
xySeries.Points.AddXY(1, 1);
// set the axis
chart.ChartAreas[0].AxisX.MajorGrid.LineDashStyle = Charting.ChartDashStyle.Dot;
chart.ChartAreas[0].AxisY.MajorGrid.LineDashStyle = Charting.ChartDashStyle.Dot;
这会生成以下图表
您必须添加此using
语句,以便在可用的命名空间中包含Charting
。
using Charting = System.Windows.Forms.DataVisualization.Charting;
要更改X轴上的标签,您必须使用DataPoint的AxisLabel
属性。见下面的示例:
// put your point on the series
xySeries.Points.AddXY(0, 1);
xySeries.Points[0].AxisLabel = "0"; // <--- SET AXIS LABEL HERE
执行将“强制”图表控件以显示您选择的轴标签。