这是一个令人难以置信的本地化问题,但我现在花了一些时间在它上面,只是无法使格式化工作。基本上我想要做的是显示一个值的柱形图,但没有花里胡哨(即没有标签,没有标题,没有传说,没有!)我希望它看起来像这样:
但它看起来像这样:
轴向外延伸到右边,我无法弄清楚如何让它消失。这是我的代码:
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
标签,恰好被截断到屏幕截图中。
谢谢!
答案 0 :(得分: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!