在 MS Chart 中没有内置的方法可以做到这一点。但是,有一个丑陋的小解决方法可以为您提供所需的显示。
对于要显示的每个数据点(范围栏),您需要创建 2 个相互重叠的数据点。例如:
DataPoint0: X=1 Y=5,10
DataPoint1: X=1 Y=10,5
这两个数据点彼此重叠,除了一个从左到右显示,另一个从右到左显示。
对于每个 DataPoint,在 CustomProperties 下都有 BarLabelStyle 属性。将这两个数据点设置为“外部”。通常,这将在范围栏的右侧显示标签,但对于 DataPoint1,使用反转的 Y 值,标签现在放置在范围栏的左侧。因此,将 DataPoint0 的标签设置为 10(最大值),将 DataPoint1 的标签设置为 5(最小值)。
这看起来就像一个范围栏,左边是最小值,右边是最大值。
注意: 如果范围条的任一端太靠近图表的边缘,MS Chart 将以其无限的智慧强制标签显示在范围条内。为了克服这个问题,您实际上可以向 DataPoint 对象的 Y 值添加第三个数字。这第三个值不会显示,但如果它大于数据系列中的最大 Y 值,它将强制图表重新缩放以适应这个更大的值,因此您的标签不会被强制在范围条内。您也可以通过设置 ChartArea 的属性来处理这种情况。