gpt4 book ai didi

c# - 如何使用 C# 在 WinForms MS Chart 中的范围条的两侧打印标签

转载 作者:太空宇宙 更新时间:2023-11-03 11:49:40 25 4
gpt4 key购买 nike

如何为范围条形图系列中的每个 y 值添加标签?

你们都知道要绘制 rangebartype series ,我们需要两个 yvalues 作为 yvalue[0] 和 yvalue[1] 。这里我需要为每个 yvalues 添加数据标签(这意味着在 yvalue[0] 和 yvalue [1]).我怎样才能实现它?有人可以建议我吗?拜托!!

范围栏的标签应如下所示(显示在范围栏的两侧)。

Label1 ███████████████ Label2

Label███████████████████ Label

最佳答案

MS Chart 中没有执行此操作的内置方法。但是,有一个丑陋的小解决方法可以为您提供所需的显示。

对于要显示的每个数据点(范围条),您需要创建 2 个相互重叠的数据点。举个例子:
数据点 0:X=1 Y=5,10
数据点 1:X=1 Y=10,5

这两个数据点彼此重叠,只是一个从左到右显示,另一个从右到左显示。
对于每个 DataPoint,在 CustomProperties 下,都有 BarLabelStyle 属性。将这两个数据点设置为“外部”。通常,这会将标签显示在范围条的右侧,但对于 DataPoint1,使用反转的 Y 值,标签现在位于范围条的左侧。因此,将 DataPoint0 的标签设置为 10(最大值),将 DataPoint1 的标签设置为 5(最小​​值)。

这看起来就像一个范围条,左侧是最小值,右侧是最大值。

警告:如果范围条的任一端太靠近图表的边缘,MS Chart 将以其无穷的智慧强制将标签显示在范围条内。为了克服这个问题,您实际上可以将第三个数字添加到 DataPoint 对象的 Y 值。这第三个值不显示,但如果它大于数据系列中的最大 Y 值,它将强制图表重新缩放以适应这个更大的值,因此您的标签不会被迫在范围条内。您也可以通过设置 ChartArea 的属性以另一种方式处理此问题。

关于c# - 如何使用 C# 在 WinForms MS Chart 中的范围条的两侧打印标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2416459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com