C# 可视化格式化图表问题

C# 可视化格式化图表问题,c#,charts,C#,Charts,这是一个令人难以置信的本地化问题,但我已经花了一段时间在它上面了,只是无法让格式化工作。基本上,我想做的是显示一个值的柱状图,但没有任何提示(即没有标签、没有标题、没有图例、什么都没有!),我希望它看起来像这样: 但实际上它看起来是这样的: 轴向外延伸到右边,我不知道如何使它消失。这是我的密码: charts[i].Series.Clear(); charts[i].Series.Add("Block " + i + 1); charts[i].Series[0].ChartType = S

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

但实际上它看起来是这样的:

轴向外延伸到右边,我不知道如何使它消失。这是我的密码:

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
标签


谢谢

您的数据的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!

您的数据的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!