μPlot v1.1 – now with log scales support
leeoniya.github.io
leeoniya.github.io
leeoniya, if you’re reading this, please apply to GitHub sponsors so I can give you money.
Computers are so fast these days. It’s amazing how crap they do often are when it comes to plotting a few thousand data points.
main project page: https://github.com/leeoniya/uPlot
0. https://jupyter-notebook.readthedocs.io/en/stable/extending/...
if someone more familiar is willing to contribute an integration, i'd be happy to review it and answer questions.
it may help to use https://github.com/plotly/plotly.py as a starting point, then gut the relevent parts.
if you feel like PRing an improvement i'll certainly review it.
https://github.com/leeoniya/uPlot/blob/master/bench/table.md
i'll fix it soon.
why do we need 100 implementations of SQL parsers & relational dbs?
why do we need to have 4 different js engines? graphics APIs? memory allocators? operating systems?
why do we need 100 different companies making slight variations of a smartphone?
why did i write uPlot when there are already 100 js charting libs out there?
> Log-scaling axes seems like one of the most fundamental features in any plotting library.
the overwhelming majority of line charts in this world are not logarithmic. the only things which are "most fundamental" are axes lines, axis ticks/labels, series legend, chart title and connected datapoints.
if you've ever implemented anything even as simple as a log axis, you would realize there is not just 1 way to do it, despite the math being the same. there was no way for me to simply "use" someone else's already-invented log axis because it would not fit properly into uPlot's architecture. so it had to be re-implemented.
> How many dev hours are wasted implementing logarithmic axis scaling for the umpteenth time?
rest assured that the amount of dev hours "wasted" on this feature is many orders of magnitude less (see what i did there?) than it took to re-invent yet another message board that you're using right now :D