ScottPlot.NET
GitHub Repo stars

Marker Names

Markers can be referred to by their name.

This code sample is specific to ScottPlot 5 (details)
ScottPlot.Plot myPlot = new();

MarkerShape[] markerShapes = Enum.GetValues<MarkerShape>().ToArray();
ScottPlot.Palettes.Category20 palette = new();

for (int i = 0; i < markerShapes.Length; i++)
{
    var mp = myPlot.Add.Marker(x: i, y: 0);
    mp.MarkerStyle.Shape = markerShapes[i];
    mp.MarkerStyle.Size = 10;
    mp.MarkerStyle.Outline.Width = 1.5f;
    mp.MarkerStyle.Outline.Color = palette.GetColor(i);
    mp.MarkerStyle.Fill.Color = palette.GetColor(i).WithAlpha(.5);

    var txt = myPlot.Add.Text(markerShapes[i].ToString(), i, 0.15);
    txt.Label.Rotation = -90;
    txt.Label.Alignment = Alignment.MiddleLeft;
}

myPlot.Title("Marker Names");
myPlot.Axes.SetLimits(-1, markerShapes.Length, -1, 4);
myPlot.HideGrid();

myPlot.SavePng("demo.png", 400, 300);

Edit on GitHub