1

我在 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) 的条形图

4

1 回答 1

2

您遇到此问题是因为添加到图表的默认系列是条形图。您必须删除条形图系列并将其替换为点系列才能显示您的数据。请参阅下面的示例代码。

// 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 轴上的标签,您必须使用AxisLabelDataPoint 的属性。请参阅下面的示例:

// put your point on the series
xySeries.Points.AddXY(0, 1);
xySeries.Points[0].AxisLabel = "0"; // <--- SET AXIS LABEL HERE

这样做将“强制”图表控件显示您选择的轴标签。

于 2013-09-25T17:06:37.283 回答