如何在图表顶部显示数据点值

How do you display a data points value on top of the chart

我正在使用 System.Web.UI.DataVisualization.Charting 来显示单个点系列。我尝试实现的功能类似于 IsValueShownAsLabel,只是我希望标签显示在图表顶部,而不是数据点旁边。

我已经尝试过智能标签,并设置了标签样式,但是这些只是改变了标签在数据点旁边的位置,即它是在点的左边还是右边,而不是实际的点的位置。

我不确定还有什么地方可以看,或者我想做的事情是否很容易实现。

经过一番挖掘,我自己找到了答案。

带有自定义标签的辅助 X 轴正是我要找的。

chart.ChartAreas[0].AxisX2.Enabled = AxisEnabled.True;

然后我遍历我的数据点并为每个值添加自定义标签

for(var i = 0; i < chart.Series[0].Points.Count; i++)
        {
            var lowerValue = i + 1 - .5;
            var upperValue = i + 1 + .5;
            var roundedValue = Math.Round(chart.Series[0].Points[i].YValues.First(), 1);

            secondaryXAxis.CustomLabels.Add(lowerValue, upperValue, roundedValue.ToString(CultureInfo.InvariantCulture));
        }

建议使用 -.5 和 +.5 以确保点落在您想要的线上。就像一个魅力。