カスタム目盛りマーク付きの対数スケール
対数軸を持つプロットにおける副目盛りマークの配置は、カスタム副目盛りジェネレーターを使用してカスタマイズできます。ここに示すように、一部は ScottPlot に同梱されている場合がありますが、ユーザーが独自に作成し、ここに示すように適用することもできます。
ScottPlot.Plot myPlot = new();
double[] xs = Generate.Consecutive(100);
double[] logYs = Generate.NoisyExponential(100).Select(Math.Log10).ToArray();
var sp = myPlot.Add.ScatterPoints(xs, logYs);
// この目盛りジェネレーターは、主要な対数目盛りの間に10個の目盛り(10進分布)を配置します
IMinorTickGenerator minorTickGen = new ScottPlot.TickGenerators.LogDecadeMinorTickGenerator();
// カスタム副目盛りジェネレーターを使用する数値目盛りジェネレーターを作成します
ScottPlot.TickGenerators.NumericAutomatic tickGen = new()
{
MinorTickGenerator = minorTickGen,
IntegerTicksOnly = true,
LabelFormatter = (double y) => $"{Math.Pow(10, y):N0}",
};
// 左軸にカスタム目盛りジェネレーターを使用するよう指示し、目盛りを表示するようグリッドを設定します
myPlot.Axes.Left.TickGenerator = tickGen;
myPlot.Grid.MajorLineColor = Colors.Black.WithOpacity(.15);
myPlot.Grid.MinorLineColor = Colors.Black.WithOpacity(.05);
myPlot.Grid.MinorLineWidth = 1;
myPlot.SavePng("demo.png", 400, 300);
このレシピは、目盛りのカスタマイズカテゴリに含まれる多数のレシピの1つです
