I’ve used ggplot2, matplotlib, bokeh, seaborn, holoviews, VegaLite, plotly, Plots.jl, among many others, and Gadfly is the most productive & principled plotting library I’ve used yet. If you haven’t already given it a go, I highly recommend it. It’s a true joy to work with, and takes the best of ggplot2’s grammar of graphics, matplotlib’s vector-based plotting, and Haskell’s diagrams, all combined in a next gen interface.
Could not recommend more emphatically. Sorry if this is fluff, but I figure no one minds having work acknowledged & praised
Does it solve the data exploration issue of other packages?
What I mean is I couldn’t find any visualization package to imitate MATLAB’s figure() data tips.
Namely being able to go through the data values (Only data values not coordinates as in c shortcut in Gadfly) (Especially on images).
In my experience, Plotly is good for data exploration with the usual line plots, but forget about it when plotting surfaces, and goodbye to interactivity if you want to build some kind of GUI.
I love Makie, but it is true that it needs to keep improving to be as polished as Gadfly for some things. However, this is good! There is still room for improvement.
I was a big user of ggplot2 becoming somewhat of an expert during my doctorate years. After moving to Julia, I wasn’t a big fan of Julia’s Plots.jl. I eventually settled on Gnuplot.jl, which I guess isn’t really a Julia library but is highly customizable. I also realized I like the non-grammer-of-graphics way of plotting.
Is Gadfly as customizable as Gnuplot and how much is it influenced by GoG ?
Yes, Gadfly is GoG-based: Tutorial · Gadfly.jl. Although unlike other GoG libraries, it also supports plotting from dataframes or arrays. Additionally, Gadfly is based on an elegant declarative graphics engine, so unlike ggplot2 you have low-level access to graphic primitives, all wrapped in beautiful S expressions.
I am watching the excellent Klopper Lectures on YouTube and it has a section on Gadfly. I may be mistaken, but I vaguely remember reading that Gadfly is not being maintained. Is Gadfly worth learning at this point?
best way to check whether any package is maintained is to look at the number of commits over time. gadfly has seen a bit of a dip due to covid, but there are 3-4 of us who regularly contribute. please give it a try and let us know what you think.
I’d like to temper the expectation of anyone reading this thread: as of now (Sept 2023), I would say that Gadfly is very far behind Holoviews in terms of maturity and ease of use. It is also possibly behind Makie? (This is not meant as a criticism of Gadfly, as I’m aware it’s a lot of work to develop such a package; I just want to bring a more balanced view of the julia plotting package landscape.)