我有一个像这样的堆积柱形图:
我正在使用文本注释在最右边的堆叠列中显示$ 2495。我已经通过实验确定了正确的y位置 - 显然这对于动态生成的内容不起作用。
有谁知道如何确定构成列的数据点的高度?我推测它会是这样的:
Chart1.Series[0][0].Height + Chart1.Series[1][0].Height + Chart1.Series[3][0].Height + Chart1.Series[4][0].Height
但是,唉,显然不是那么简单。任何想法或见解都会非常感激。
答案 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;
}
比我想象的简单得多。