我有一个包含 3 个系列的 dotnetcharting 图。我可以将整个图形的样式更改为堆叠。
ChartIn.YAxis.Scale = Scale.Stacked;
但我只想堆叠三个系列中的两个。这样每一个都有两个条组合成一个堆栈,旁边还有另一个完整的条。
这可以做到吗?
我有一个包含 3 个系列的 dotnetcharting 图。我可以将整个图形的样式更改为堆叠。
ChartIn.YAxis.Scale = Scale.Stacked;
但我只想堆叠三个系列中的两个。这样每一个都有两个条组合成一个堆栈,旁边还有另一个完整的条。
这可以做到吗?
最后,我将我想要的数据从堆栈中分离成一个单独的填充线系列。不理想,但看起来不错。
ChartThree.SeriesCollection[3].Type = SeriesType.AreaLine;
实现这一点的方法是创建一个额外的比例并将额外系列的 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);