0

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

在此处输入图像描述

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

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

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

但是,唉,这显然不是那么简单。任何想法或见解将不胜感激。

4

2 回答 2

1

看看这个链接

http://support2.dundas.com/OnlineDocumentation/WebChart2005/Custom_Drawing_Using_the_Paint_Event.html

请参阅底部的示例。

于 2012-05-21T17:04:12.747 回答
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;
        }

比我想象的要简单得多。

于 2012-05-21T17:54:09.103 回答