3 つのシリーズの dotnetcharting グラフがあります。グラフ全体のスタイルを積み上げに変更できます。
ChartIn.YAxis.Scale = Scale.Stacked;
しかし、私は 3 つのシリーズのうち 2 つだけをスタックしたいと考えています。そのため、それぞれに 2 つのバーが 1 つのスタックに結合され、その横に別のバー全体があります。
これはできますか?
3 つのシリーズの dotnetcharting グラフがあります。グラフ全体のスタイルを積み上げに変更できます。
ChartIn.YAxis.Scale = Scale.Stacked;
しかし、私は 3 つのシリーズのうち 2 つだけをスタックしたいと考えています。そのため、それぞれに 2 つのバーが 1 つのスタックに結合され、その横に別のバー全体があります。
これはできますか?
最後に、必要なデータをスタックから分離して、個別の塗りつぶされた行シリーズにしました。理想的ではありませんが、見た目は問題ありませんでした。
ChartThree.SeriesCollection[3].Type = SeriesType.AreaLine;
これを達成する方法は、追加のスケールを作成し、追加のシリーズの YAxis をそのスケールに設定することです。2 番目のスケールは、1 番目のスケールがスタックされているかどうかに関係なく、スタックできます。値が正しい相対サイズで表示されるようにするには、2 番目のスケールの範囲を調整する必要があることに注意してください。
以下は、別々に積み上げられた 2 つのデータ セットを含むグラフを生成する例です (以前に合計 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);