.net 图表:向 X 轴添加角度会减小图表宽度?

Posted

技术标签:

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

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

示例 1:

示例 2:

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

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

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

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

【问题讨论】:

问题是,你想把标签放在哪里?该控件正在尝试尽可能地布置您想要的信息。您希望控件具体做什么?截断它们?减小字体大小?让他们消失?你的问题在这方面不清楚。 更新了哪张图片概述了图表应该占据的区域 【参考方案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 时,似乎会出现问题。

以上是关于.net 图表:向 X 轴添加角度会减小图表宽度?的主要内容,如果未能解决你的问题,请参考以下文章

echarts,折线图,我想设置X轴每个刻度的固定宽度该怎么设定呢

echarts柱状图使用v-show切换显隐时容器宽高变小

Nvd3.js - 向累积图表添加多个 y 轴

Highcharts (PieChart) - 第二次绘制时图表宽度减小

当 LabelStyle 格式为“MM/dd hh:mm”时,VB.NET windows 应用程序图表 x 轴显示“12/30 04:10”

如何在 Rational Team Concert 仪表板的图表和报告中添加 X 轴标签?