Dot Net Charting - составьте две серии, оставьте другую как обычную гистограмму - PullRequest
1 голос
/ 03 ноября 2011

У меня есть график dotnetcharting с 3 рядами.Я могу изменить стиль всего графика на составной.

ChartIn.YAxis.Scale = Scale.Stacked;

Но я хочу просто сложить два из трех рядов.Таким образом, для каждого есть два бара, объединенные в один стек с другим целым рядом с ним.

Можно ли это сделать?

Ответы [ 2 ]

1 голос
/ 24 ноября 2011

В итоге я сделал нужные данные отделенными от стека в отдельный заполненный ряд строк. Не идеально, но выглядело хорошо.

ChartThree.SeriesCollection[3].Type = SeriesType.AreaLine;
0 голосов
/ 13 марта 2013

Способ сделать это - создать дополнительную шкалу и установить 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);
...