1

这是一个令人难以置信的本地化问题,但我现在已经花了一段时间,只是无法让格式化工作。基本上我想要做的是显示一个值的柱形图,但没有花里胡哨(即没有标签,没有标题,没有图例,什么都没有!)我希望它看起来像这样: 所需图像

但相反,它看起来像这样:

实际图像

轴向右延伸,我不知道如何让它消失。这是我的代码:

charts[i].Series.Clear();
charts[i].Series.Add("Block " + i + 1);
charts[i].Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;
charts[i].Series[0].Points.Add(liveData[i]);
charts[i].ChartAreas[0].AxisY.Maximum = 4;
charts[i].ChartAreas[0].AxisY.Minimum = 0;
charts[i].ChartAreas[0].AxisX.Maximum = 1;
charts[i].ChartAreas[0].AxisX.Minimum = 1;
charts[i].ChartAreas[0].AxisX.MajorGrid.LineWidth = 0;
charts[i].ChartAreas[0].AxisY.MajorGrid.LineWidth = 0;
charts[i].ChartAreas[0].AxisX.LabelStyle.Enabled = false;
charts[i].ChartAreas[0].AxisY.LabelStyle.Enabled = false;
charts[i].ChartAreas[0].AxisY.LineWidth = 0;
charts[i].ChartAreas[0].AxisY.MajorTickMark.Enabled = false;
charts[i].ChartAreas[0].AxisX.MajorTickMark.Enabled = false;
charts[i].Series[0].IsVisibleInLegend = false;

现在我猜这是min/max事情,但对于我的生活,我就是无法让它发挥作用。有人可以看到我的错误吗?或者建议除了图表之外的另一种方法?

另请注意,您在下面看到的“Block 1 (V)”标签不是由图表生成的,它是一个textbox恰好被截屏到屏幕截图中的标签。

谢谢!

4

1 回答 1

1

您的数据的 x 值为 1。默认情况下,条形图以 1 标记为中心。通过改变限制,你实际上只看到了一半。要做两件事:准确地告诉条形它应该有多宽,并相应地限制 x 轴。

charts[i].Series[0].CustomProperties = "PointWidth = 1"; // One bar takes a width of 1 unit on the x-axis
charts[i].ChartAreas[0].AxisX.Minimum = 0.5; // change!
charts[i].ChartAreas[0].AxisX.Maximum = 1.5; // change!
于 2013-03-23T19:47:40.807 回答