5 ms·
Chris Rackauckas has put together a valuable guide to the Julia plotting ecosystem here: http://www.stochasticlifestyle.com/summary-of-julia-plotting-packa
by leephillips 3y ago
Chris Rackauckas has put together a valuable guide to the Julia plotting ecosystem here:
http://www.stochasticlifestyle.com/summary-of-julia-plotting-packages/
Useful, because the wealth of choices confuses people.
I stick with Plots.jl because of the recipe system. This is Plots’ secret weapon. If you create a package with its own data types, you can include instructions telling Plots how to visualize them. The user then need simply type
plot(custom_type; etc.)
to get the custom visualization. And the package need not include Plots as a dependency for this to work. This is only one of the things the recipe system can do.
- krumbie 3y agoYeah the recipes are Plots.jl's strength. We will need more time to get there, I've always felt that the statefulness you get from having interactivity gets in the way of easy composability a bit. In Plots, you assemble one big plot description from recipes that then gets translated to a backend representation once. In Makie (currently) each plot object gets instantiated immediately, ready to go for interaction. But in the future, we might add a layer on top that builds full descriptions first, like Plots, then instantiates at once. As a side note, package extensions in Julia 1.9 mean that any package can now in principle extend Makie without directly depending on it. That should remove one of the big blockers for adoption, as admittedly, Makie is a heavy dependency to take on.
- nsajko 3y agoIMO, the Summary of Julia Plotting Packages article undersells Vega/Vega Lite. They're really powerful and look good.