我最近不得不改变x轴标签的大小,以确保它们在打印时清晰可辨。这样做,标签和轴本身之间出现了边距,这似乎取决于字体大小和数据点的数量。
当删除标签上的角度(AxisX.LabelStyle.Angle = 0)时,此边距似乎消失了。不幸的是,这不是一个解决方案,因为标签上的角度是项目的要求。
设置IsMarginsVisible并没有解决问题。
有没有办法取消这个保证金?
可视化问题的屏幕截图:
此处提供了显示问题的MCVE:https://www.dropbox.com/s/4y0nwj8bymz6m3q/MSChart%20-%20misplaced%20labels.zip?dl=0
请注意:前一段时间,如果元素数量变得很大,我也遇到了类似的问题,这个问题仍然没有解决(MSChart axis misplaced for huge charts)。我可以提出任何问题和建议,以避免成为另一个不受欢迎的问题。
P.S。如果你有这种想法的冲动,请告诉我为什么这样我可以尝试改进它(因为我无法看到自己这个问题不明确或缺少记录的迹象)。谢谢。
答案 0 :(得分:2)
不幸的是,我认为这是所有类型条形图的错误。要清楚,因为问题被低估了:如果X的位置(如果位置从Auto更改为0,0,100,100,则很多空白区域)出现在图表的底部(Y型轴为条形图表) -axis文本通过chart1.ChartAreas[0].AxisX.LabelStyle.Angle = 30;
成角度,如提供的示例或例如。 chart1.ChartAreas[0].AxisX.LabelAutoFitStyle = LabelAutoFitStyles.LabelsAngleStep30;
。
我怀疑这种奇怪的行为有几个原因,即:
我尝试过CustomLabels并反转X轴,而是使用辅助Y轴,但是底部的任何轴都会错误地计算它的大小。事实上,即使您使用辅助Y轴,也必须禁用Primary,以避免底部出现空白缩放。
这意味着最明显的选择可悲地减少为:
后者都会彻底改变图表的外观,但让您可以控制边距。总结:不,这似乎是一个错误,没有办法通过设置"正确"来删除边距。属性。