У меня есть логарифмический график с обеими осями в диапазоне от 0,1 до 1000. Я хочу только 1 главный тик за десятилетие. До сих пор я не нашел способа контролировать интервал между тиками, кроме как установить IntervalLength, как в этом коде.
var logxAxis = new LogarithmicAxis
{
Position = AxisPosition.Bottom,
Title = "Resistivity of Approaching Bed (ohm-m)",
IntervalLength = 100,
MajorGridlineStyle = LineStyle.Solid,
MinorGridlineStyle = LineStyle.None,
MinorTickSize = 0.0,
Key = "logx"
};
По умолчанию IntervalLength равно 60, что дало мне 2 тика / десятилетие. К сожалению, когда я увеличиваю размер окна моего приложения, количество основных тиков увеличивается. Поэтому установка IntervalLength не является идеальным решением. Я просмотрел источник OxyPlot и ничего не нашел. Есть ли что-то, чего мне не хватает, или, возможно, мне нужно получить свой собственный класс LogarithmicAxis?
Редактировать: Я решил вывести свою собственную логарифмическую ось и заменить функцию, сгенерированную тиками.
public override void GetTickValues(out IList<double> majorLabelValues, out IList<double> majorTickValues,
out IList<double> minorTickValues)
{
majorLabelValues = new List<double> { 0.1, 1, 10, 100, 1000 };
majorTickValues = new List<double> { 0.1, 1, 10, 100, 1000 };
minorTickValues = new List<double>();
}
Это, по крайней мере, позволяет мне вывести мое заявление за дверь.