Axes: improve sharpness of axis lines, tick marks, and grid lines#3976
Axes: improve sharpness of axis lines, tick marks, and grid lines#3976swharden merged 9 commits intoScottPlot:mainfrom bforl:main
Conversation
|
Hi @bforlgreen, fantastic observation! Thanks so much for this PR! I'm liking what I'm seeing so much, I'm considering disabling anti-aliasing by default. Axis frames, axis lines, and tick marks look best when they are "crisp". I'll take a closer look and merge this in a few minutes! 🚀 |
|
Great! Yes, my observations are that its nice to have AA disabled for anything that you know will be a straight line. I've done this for my bar charts too. However, it's not a silver bullet, as it really depends on what you're showing and if you have enough pixels to form consistent spacing between elements. For example, lots of bars in a chart when zoomed out (where there isn't much space to render them) can look worse with AA disabled if the maths doesn't work out evenly. So you kind of want it dynamic with some heuristic |
* upstream/main: Fix interaction of axis panels when scale factor is more than 1 (ScottPlot#3994) Added ResetMinAndMaxValues() to DataLoggerSource.cs (ScottPlot#3993) CoordinateLine: add constructor overloads (ScottPlot#3987) Colormap.GetColors() (ScottPlot#3983) Added a constructor overload that accepts List<Coordinates> (ScottPlot#3982) Signal: improve support for IReadOnlyList<T> (ScottPlot#3978) Axes: improve sharpness of axis lines, tick marks, and grid lines (ScottPlot#3976) adding console write file name function (ScottPlot#3965) Color.ToColor() Sandbox: extend minimal API Sandbox: Create .NET API project SVG XML Updates (ScottPlot#3957) Repeat render if changes are made in invoked events (ScottPlot#3952) CI: autoformat Experimental DataLogger2 using a `CircularBuffer<T>` (ScottPlot#3946)



Allow users to be able to disable antialiasing on grid lines and ticks, which to my mind creates a more pleasing graph as the aa lines look blurry. The defaults have been left as they were, so this is an "opt into" change.
Before

After (with the configuration code below)

I highly recommend the ZoomIt app for being able to investigate these kinds of issues.
https://learn.microsoft.com/en-us/sysinternals/downloads/zoomit