Dot Net Charting - 堆叠两个系列,将另一个留作普通条形图

时间:2011-11-03 15:45:25

标签: c# asp.net dotnetcharting

我有一个包含3个系列的dotnetcharting图。我可以将整个图形的样式更改为堆叠。

ChartIn.YAxis.Scale = Scale.Stacked;

但我想在三个系列中叠加两个。因此,对于每一个,有两个条组合成一个堆栈,旁边有另一个整条。

可以这样做吗?

2 个答案:

答案 0 :(得分:1)

最后,我将我想要的数据从堆栈中分离成一个单独的实线系列。不理想,但看起来很好。

ChartThree.SeriesCollection[3].Type = SeriesType.AreaLine;

答案 1 :(得分:0)

实现此目的的方法是创建一个额外的比例并将额外系列的YAxis设置为该比例。可以独立于第一刻度是否堆叠来堆叠第二刻度。请注意,您需要在第二个刻度上调整范围,以使值以正确的相对大小显示。

这是一个生成带有两个独立堆叠数据的图表的示例(使用之前已填充了4个系列的图表):

//set main chart to stacked
Chart.YAxis.Scale = Scale.Stacked; 

//create new axis, assign it to relevant series, and set it's scale to stacked
Axis a2 = new Axis();
Chart.SeriesCollection[2].YAxis = a2;
Chart.SeriesCollection[3].YAxis = a2;
a2.Scale = Scale.Stacked;

//tie the scales together to ensure proper relative display
Chart.YAxis.SynchronizeScale.Add(a2);