I see.
I re-read it several times, but you did not say that “pgfplots solves it.” What you said was
for 2) and for maximum publication quality in general, anything that produces pgfplots/LaTeX plots, like for example Pgfplotsx.jl, is unmatched.
You did not say that with pgfplots/LaTeX, the positions of axes can be specified. You said that later in another posting of yours.
Indeed, the “publication quality” therm is too diffuse. If you perhaps ask (if not already solved by the proposed packages) if anyone knows particularly ways (with Plots or otherwise) to achieve specific features in some plots, probably the result will be more productive.
What I said was very clearly that it solves 2)
This sentence: “for 2) and for maximum publication quality in general, anything that produces pgfplots/LaTeX plots, like for example Pgfplotsx.jl, is unmatched.” obviously implies “it solves 2)”.
Plotting is really a big deal. I think the same things that make this question important also make it difficult to answer. Plotting is complex and a little personal, and you may or may not be interested “niche” cases. I do use it more for “debugging” and interactive investigations than doing very sophisticated presentations.
I only moved from Python to Julia when I found out matplotlib was supported, and the support was excellent. So I never even focused much on Plots supporting other back-ends, although I found the idea interesting and explored it. I did start using just straight PyPlot, I believe.
In the past year or so I have decided to make an effort and migrate to Makie. It requires some effort getting used to another plotting library, as predicted, but I have been using only Makie now, and I’m happy with it. I had tried it earlier, but it wasn’t mature enough. This time around I was able to make the jump. And it’s great that it’s Julia native, because even though Python interop works (or can work) very well, it’s still nice being able to not depend on Python, and matplotlib is a pretty tricky dependency.
Another library I use a lot is imshow… Sometimes I feel there could be something a little simpler than Makie that could work for me, maybe built on top of it, I often feel I’m typing away too many figure()
commands or whatever. But I’m not really sure what this alternative would look like. I don’t ever feel like I need to move back to matplotlib, though, and I very happy I could successfully migrate. So I guess my answer is go with pyplot and plots at first if that’s already what you’re familiar with, but try out Makie once you can learn a new library, it’s mature enough to be your “daily driver”.
Happy to hear Makie mostly works out for you vs. matplotlib, that seemed like a very high bar to me a couple years ago but seems like we’re slowly getting there
What’s imshow
? Makie’s image story is not that great, yet, admittedly.
Yeah, I think Makie has definitely reached a great point, I now have as many gripes with it as I do with Matplotlib!
By imshow
I mean ImageView, the small GTK module created by Tim Holy if I’m not mistaken. I plot images quite often, I work with computer vision and I do a lot of overlays, and in practice I actually use a personal function wrapping up the image plotting one, in order to set up things like the axis and whatever. I would love to make a patch for that, but I’m not really sure how it should work or not…
Ah, I see what you mean now! I agree with you except for your definition of “obviously”. It was not obvious at all!
Just in case you didn’t know, one advantange of Plots
is its extension StatsPlots
.
This has more graph layouts than Plots
, while using the same syntax.
You can copy an image (Ctrl-C) and paste it in the text box here where you type replies.
It seems that Makie supports these “open-ended contour intervals” with the limits
, lowclip
and highclip
options: Colorbar · Makie