winforms - WinForms图表缩放X轴标签在缩放时暂时消失
问题描述
我有一个看起来像这样的图表:
当我放大一个部分时,标签会消失:
但是,我可以通过一直向右滚动并释放鼠标来取回标签:
然后当我向左滚动时,所有标签都可见:
这种行为真是太奇怪了,我完全不知道是什么原因造成的,甚至是如何调试。
有人对我可以尝试解决的问题有任何想法吗?我希望标签在最后一张图片中显示,但在第一次缩放时。
解决方案
看起来其他人也有类似的问题,所以我将尝试结合我在网上找到的几个答案,以帮助解决您的问题。
John(DevExpress 支持)说:
AutoLayout 功能似乎导致了这个问题。请将 ChartControl.AutoLayout 属性设置为 False。这应该使轴标签元素可见。
Valdemar(DevExpress 支持)说:
我建议您使用 Axis2D.ResolveOverlappingOptions 属性。将 AllowHide 设置为 False:
[XAML]
<dxc:XYDiagram2D.AxisX>
<dxc:AxisX2D >
<dxc:AxisX2D.Label>
<dxc:AxisLabel>
<dxc:Axis2D.ResolveOverlappingOptions>
<dxc:AxisLabelResolveOverlappingOptions AllowRotate="True" AllowStagger="True" AllowHide="False" />
</dxc:Axis2D.ResolveOverlappingOptions>
</dxc:AxisLabel>
</dxc:AxisX2D.Label>
</dxc:AxisX2D>
</dxc:XYDiagram2D.AxisX>
SharpStatistics 说:
我可以复制您描述的问题的唯一方法是将 x 轴 Label.style 间隔设置为特定值,例如,
area1.AxisX.LabelStyle.Interval = 100;
然后当我放大图表时,如果缩放的 x 轴部分小于 100,我看不到任何标签。
loi-se(OP)回复:
感谢您的建议!但据我所知,我没有在任何地方设置 xaxis labelstyle,我只是使用: Chartarea1.AxisX.IntervalAutoMode = IntervalAutoMode.VariableCount这在 yaxis 的情况下工作正常,但 xaxis 似乎按照自己的意愿行事。也许我应该更新我的 .net 框架安装并获取最新版本的图表组件?还有其他建议吗?
这个用于 SSRS 报告,但我假设它使用相同(或类似的库)并支持此链接正上方的链接。
在使用图表设计 SSRS 报告时,您可能会注意到 X 或 Y 轴上的某些标签没有显示,这是因为它非常智能,可以检测到您真正想要的(不是!)。
要显示所有标签,请按照以下步骤操作:
右键单击 X 或 Y 轴,单击属性:
将间隔设置为 1:
中提琴!
https://randypaulo.com/2012/02/20/ssrs-chart-label-missing-xy-axis-missing/
这就是我能找到的所有相似之处,而无需花费更多时间进行研究。希望这里有帮助!
推荐阅读
- javascript - 如何使国际化更改 js 文件以发出警报
- css - vue-router:如何禁用 router-link 的 css 的大纲属性作为
- python - Keras同批次的训练和评估结果不同
- c# - 使用 C# 加密并使用 OpenSSL 解密
- webkit - 当我尝试动态加载使用 webkit2gtk 库编译的自定义库 (.so) 时出现 Seg Fault
- c# - 我无法将 MySql 数据库中的数据放入我的 DataGridView
- c# - 如何从 html 字符串中修剪空文本元素?
- javascript - 如果我们在 prompt() 函数中输入引号中的数字,为什么 parseInt() 函数不起作用?
- c# - EF 核心数据库特定列到嵌套对象
- reactjs - 材质 UI 高度变化和过渡