Как увеличить область рисования оси в Oxyplot?

Я пишу утилиту для отправки по электронной почте гистограммы с накоплением, которая отображает задачи для каждого человека. Прямо сейчас я использую PngExporter в OxyPlot.WindowsForms для экспорта графика, но я не могу понять, как управлять нижними границами изображения. Имена пользователей могут быть довольно длинными и будут выходить наружу, и я хотел бы расширить область рисования для нижней оси, чтобы все имена были видны.

Вот как это выглядит прямо сейчас

сюжет

И вот код того, что у меня есть до сих пор

        var plot = new PlotModel()
        {
            Title = "Mantis Report"
        };

        // CATEGORY AXIS CODE====================================
        var categoryaxis = new CategoryAxis();
        foreach (var e in employees)
            categoryaxis.ActualLabels.Add(paddedString("Jebediah Kerman"));
        categoryaxis.Angle = 30;

        categoryaxis.AxisTickToLabelDistance = 10;
        // CATEGORY AXIS CODE====================================

        plot.Axes.Add(categoryaxis);
        plot.Axes.Add(new LinearAxis());

        var series = new ColumnSeries();
        series.IsStacked = true;

        int employeeindex = 0;
        foreach (var employee in employees)
        {
            foreach (var entry in employee.Tasks)
            {
                series.Items.Add(new ColumnItem(entry.Value, employeeindex) { Color = colors[entry.Key] });
            }
            employeeindex++;
        }

        plot.Series.Add(series);

        plot.LegendTitle = "legend";
        plot.LegendPlacement = LegendPlacement.Outside;
        foreach (string task in tasktypes)
        {
            var newseries = new ColumnSeries()
            {
                FillColor = colors[task]
                , Title = task
            };
            plot.Series.Add(newseries);
        }

paddedString() добавляет длину заданной строки в пробел и возвращает ее. Это мой текущий подход к «переводу» этикетки, но сейчас я беспокоюсь о том, чтобы нарисовать остальную часть имени.

Я просмотрел страницу CategoryAxis, но не могу найти способ расширить область осей, чтобы имена отображались полностью. И нет, я бы предпочел не просто сокращать имена пользователей.


person Caskman    schedule 08.07.2014    source источник


Ответы (1)


Это сработало для меня в приложении WPF.

var currentMargins = plotModel.PlotMargins;
plotModel.PlotMargins = new OxyThickness(currentMargins.Left, currentMargins.Top, currentMargins.Right, 100);
person Oscar Rentería Quevedo    schedule 27.08.2014