Lets-Plot: An open-source plotting library for statistical data
lets-plot.org
lets-plot.org
The data plots look pretty nice: https://lets-plot.org/pages/charts.html#discrete-icon-discre...
And so do the distribution plots: https://lets-plot.org/pages/charts.html#visualization-of-dis...
How does this project compare to `plotnine`, which is the ggplot2-like plotting library in Python?
However the best thing about this library may be that it is available for Kotlin.
What? How's that? It's written in python. Does kotlin have python interop?
From memory the only thing you can’t do in base ggplot is have to y-axis, but there are plenty of libraries available that expands the types of plots available (eg gggraph for plotting network graphs)
I would suspect this wouldn't be much of a hurdle for an LLM. If you've ever tried converting scripts from one language to another you can see how well LLMs generalise (not perfect ofc). So, as long as you give it enough context it will probably provide viable results.
I find Plotly finicky, Altair doesn’t have great ergonomics, and bokeh is the same imperative style as matplotlib (plus is kinda heavy weight). Seaborn is good but you’re still playing with a leaky abstraction on matplotlib which can make things hard to compose and you can’t get interactivity.
So me, I’m asking for this. I’ve tried building my own because I want good interactive charts with fast native ergonomics. Ggplot just lets you focus on what you want to plot and throw a data frame into it, which is what this appears to do.
What? Matplotlib has the best, intuitive interface among the competition. Every other plotting library I have tried either leads to ridiculously verbose code or is too opinionated to be useful.
matlab provides a slightly esoteric yet incredibly consistent and lightning fast environment for analysis and visualization. it's kinda like unix in that regard.
What??? Have you ever used ggplot?? I know we all have opinions, but yikes, just look at the tutorials!
> from matplotlib import style > style.use([…])
I’m on vacation away from a computer so hopefully that snippet is close enough that you can Google it.
Usually I don’t control the server my code is running on, I’m only exposed to a Google Collab style jupyter notebook.
i've personally never been a big fan of the horizontal breaks in the editor that notebook experiences provide. more recent versions of jupyter have added a side-by-side mode which is kind of an improvement but it still doesn't go where i'd fully want, which would be a full blown editor pane with a full blown document pane that sit side by side and are linked by user placed anchors with plots that can be popped out and floated.
Scroll down into the examples for some plots with lots of points: https://wwwtyro.github.io/candygraph/examples/dist/
While I can't speak for millions of data points, generating a gyroscope plot with x, y, z, where each gyro axis is 400k+ samples is fine performance wise. This is generating a static, interactive html. Zooming etc is fine on my M1 MacbookPro 13" - delay when zooming in this specific case is maybe 0.5secs. The html-file is 60mb+.
Or that they try to emulate the non-intuitive Matlab plotting interface.
https://github.com/epezent/implot
Java: https://github.com/SpaiR/imgui-java
Also for rust: https://www.egui.rs/#Demo (Open Plot demo)
For web you'd want to compile for WASM. I imagine you could just make the graphs WASM and embed in existing DOM.
https://github.com/holoviz/datashader is a good one in the Python ecosystem.
For Dashboards I prefer Apache ECharts:
However, what on earth kind of behind the scenes object oriented abstract bastardization have they done wherein you modify the instance of the ggplot class by ADDING stuff to it with a + sign!? Like, when you're trying to toggle one of the flags that would get passed to the class object, why not just do it the way every other class in almost every python library i've ever used does?
I find that horrifying. And I think it is just begging to get some bizarre errors, and I think that
def __add__(self, other):
self += other
return self
Simpledo you want to do
plot(density(colorify(labelaxis(logscale .... )))))))
is_even = where(lambda x: x % 2 == 0)
sum(fib() | is_even | take_while(lambda x: x < 4000000)
The Apache Beam SDK for Python is another example. It has its own pipe expressions (|, >>, |>, etc.).Like maybe bitshifting strings into streams wasn't the right syntax, Bjarne
df >> mutate(z=f.x)
https://pypi.org/project/datar/For a uniform distribution, a Q-Q plot would look almost the same as eCDF, only with switched axes, and with points instead of lines.
Settled on nivo for now but it doesn't support multi-axis plots :/
https://vega.github.io/vega-lite/
A lot or are scientists use R and ggplot2. This looks more similar to the thus but with a python twist.
ggsave(plot, "plot.png")Then i try python -m pip install
Python is not found, too.
Then i tried pip3 install.
It worked.
I should try with python3 -m pip3 or python3 -m pip install ?
Confusing.
With regard to installing packages, I think the general rule is that `python -m pip` is best practice, because it assures that the python you install packages to is the same one you're planning to run them on