Как нарисовать вертикальную гистограмму в oxyplot (последняя версия исходного кода)? - PullRequest
0 голосов
/ 24 февраля 2020

Это создает горизонтальную гистограмму. Как получить вертикальную гистограмму?

Важно Я использую последнюю версию кода Soure, т.е. я извлек последнюю версию исходного кода из https://github.com/oxyplot/oxyplot и Сам построил oxyplot (ColumnSeries пропал и заменен на BarSeries).

var plotModel = new PlotModel { Title = "An Example Chart with 1 Bar Series",
                                Background = OxyColors.White };

var barSeries = new BarSeries();
barSeries.IsStacked = false;
plotModel.Series.Add(barSeries);

barSeries.Items.Add(new BarItem(0));
barSeries.Items.Add(new BarItem(18));
barSeries.Items.Add(new BarItem(12));
barSeries.Items.Add(new BarItem(8));
barSeries.Items.Add(new BarItem(15));

return plotModel;

Вот картинка

горизонтальная гистограмма

1 Ответ

0 голосов
/ 27 марта 2020

В OxyPlot есть класс LinearBarSeries, к сожалению, BarWidth выражается в пикселях и не масштабируется при изменении размера. Этот класс не предназначен для расширения - функция рендеринга вызывает частные методы и использует частные поля, GetBarWidth не является виртуальным, поэтому единственный разумный способ изменить поведение - это скопировать и вставить все и изменить соответствующие части и mimi c BarSeries.Items собственность (опционально). Код здесь: https://github.com/mugiseyebrows/VerticalBarChart/

...