【问题标题】:Visually formatting chart issue视觉格式化图表问题
【发布时间】:2013-03-24 03:47:40
【问题描述】:

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

但它看起来像这样:

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

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 标签,恰好被截屏到屏幕截图中。

谢谢!

【问题讨论】:

    标签: c# charts


    【解决方案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!
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-23
      • 1970-01-01
      • 2010-12-23
      • 2012-08-31
      • 2012-07-28
      • 2011-07-29
      • 2013-04-20
      • 2021-12-05
      相关资源
      最近更新 更多