【问题标题】:.net charts: adding angle to X-Axis reduces chart width?.net 图表:向 X 轴添加角度会减小图表宽度?
【发布时间】:2013-10-03 21:46:49
【问题描述】:

我整个下午都在摆弄 .net 图表,我还没有找到正确的方法来让图表使用 100% 的可用宽度,因为 X 轴被旋转以进行清晰的显示。

  • 示例 1:

  • 示例 2:

我们可以看到,当AxisX.LabelStyle.Angle 设置为 0 时,示例 2 的行为相当正常。在示例 1 中,将该属性设置为 -45 会异常减小图表的宽度!我会理解偏移几个像素来解释左侧最大的标签溢出,但还有比左侧空白的更多。

当您在文档中输出多个具有不同 X 标签大小的此类图表时,结果简直是可怕的。

如何调整我的图表,使其宽度不受旋转时 X 轴上的标签的影响?

更新: 这是所需的输出,考虑黄色框是图表应该伸展到的区域

【问题讨论】:

  • 问题是,你想把标签放在哪里?该控件正在尝试尽可能地布置您想要的信息。您希望控件具体做什么?截断它们?减小字体大小?让他们消失?你的问题在这方面不清楚。
  • 更新了哪张图片概述了图表应该占据的区域

标签: .net charts


【解决方案1】:

您可以尝试像这样禁用标签自动调整

// Disable X axis labels automatic fitting
Chart1.ChartAreas["Default"].AxisX.IsLabelAutoFit = false;

或者您可以尝试各种自动调整选项,看看是否可以得到您可以容忍的结果

// Enable X axis labels automatic fitting
Chart1.ChartAreas["Default"].AxisX.IsLabelAutoFit = true;
// Set X axis automatic fitting style
Chart1.ChartAreas["Default"].AxisX.LabelAutoFitStyle = 
LabelAutoFitStyle.DecreaseFont | LabelAutoFitStyle.IncreaseFont | LabelAutoFitStyle.WordWrap;

最后,您可以将标签截断到最大长度,然后再将它们提供给图形库。

【讨论】:

  • 谢谢,我已经尝试了所有,但无法得到想要的结果。我已经更新了我的问题。当 AxisX.LabelStyle.Angle 不同于 0 时,似乎会出现问题。
猜你喜欢
  • 2015-04-21
  • 1970-01-01
  • 2013-09-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-11
相关资源
最近更新 更多