Rotated Tick with Long Labels
The axis size can be increased to accommodate rotated or long tick labels.
ScottPlot.Plot myPlot = new();
// create a bar plot
double[] values = { 5, 10, 7, 13, 25, 60 };
myPlot.Add.Bars(values);
myPlot.Axes.Margins(bottom: 0);
// create a tick for each bar
Tick[] ticks =
{
new(0, "First Long Title"),
new(1, "Second Long Title"),
new(2, "Third Long Title"),
new(3, "Fourth Long Title"),
new(4, "Fifth Long Title"),
new(5, "Sixth Long Title")
};
myPlot.Axes.Bottom.TickGenerator = new ScottPlot.TickGenerators.NumericManual(ticks);
myPlot.Axes.Bottom.TickLabelStyle.Rotation = 45;
myPlot.Axes.Bottom.TickLabelStyle.Alignment = Alignment.MiddleLeft;
// determine the width of the largest tick label
float largestLabelWidth = 0;
using Paint paint = Paint.NewDisposablePaint();
foreach (Tick tick in ticks)
{
PixelSize size = myPlot.Axes.Bottom.TickLabelStyle.Measure(tick.Label, paint).Size;
largestLabelWidth = Math.Max(largestLabelWidth, size.Width);
}
// ensure axis panels do not get smaller than the largest label
myPlot.Axes.Bottom.MinimumSize = largestLabelWidth;
myPlot.Axes.Right.MinimumSize = largestLabelWidth;
myPlot.SavePng("demo.png", 400, 300);
This recipe is one of many in the Customizing Ticks category
