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

时间:2015-02-10 23:18:34

标签: c# .net charts

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

我尝试过智能标签,并设置标签样式,但这些只是改变数据点旁边标签的位置,即它是否位于点的左侧或右侧而不是该点的实际位置。

我不确定在哪里可以看到,或者我想要做的事情很容易实现。

1 个答案:

答案 0 :(得分:0)

所以我经过一些挖掘后自己找到了答案。

带有自定义标签的辅助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以确保这些点落在您想要的线上。像魅力一样。