如何使用ASP.Net图表控件确定数据点的高度?

时间:2012-05-21 15:14:03

标签: asp.net mschart

我有一个像这样的堆积柱形图:

enter image description here

我正在使用文本注释在最右边的堆叠列中显示$ 2495。我已经通过实验确定了正确的y位置 - 显然这对于​​动态生成的内容不起作用。

有谁知道如何确定构成列的数据点的高度?我推测它会是这样的:

Chart1.Series[0][0].Height + Chart1.Series[1][0].Height + Chart1.Series[3][0].Height + Chart1.Series[4][0].Height

但是,唉,显然不是那么简单。任何想法或见解都会非常感激。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

事实证明,它比我想象的要简单得多......注释使用图表坐标。这意味着您所要做的就是将实际的相加并将其用作y坐标。我最终这样做是为了计算相应系列的高度:

private int CalculateHeight(int i, ChartGraphics graphics)
{
    var height = 0.0;

    // find the respective heights of series i, add them together
    for (var x = 0; x < this.Chart1.Series.Count(); x++)
    {
        height += this.Chart1.Series[x].Points[i].YValues[0]; 
    }

    return (int)height;
}
然后我按照这样的方式调用该函数:

        for (var i = 0; i < chart.Series[0].Points.Count(); i++ )
        {
            var height = this.CalculateHeight(i, e.ChartGraphics);

            this.Chart1.Annotations[i].Y = height + verticalPadding;
        }

比我想象的简单得多。