Which plots backends, currently are the best for article publication?

Hello everyone, someone published article with charts made in julia?
Which backend is the best:

  • GR

0 voters

  • PyPlot

0 voters

  • PlotlyJS

0 voters

  • PGFPlotsX

0 voters

  • Gnuplot

0 voters

  • Other

0 voters

Someone know research publication with charts made in julia?

1 Like

I am pretty sure there are a lot of those. If my publications qualify as serious :smiley:, here I have provided some tips to my students on how to make them look nice: https://nextjournal.com/leandromartinez98/tips-to-create-beautiful-publication-quality-plots-in-julia

This other paper
link has also this figure, which I think is quite pretty :slight_smile:


Everything there uses GR.




If you want the absolute highest quality plots, and I assume you are publishing with LaTeX, then PGFPlots or PGFPlotsX are going to be the ideal solution. They will integrate perfectly, with correct fonts, styles and line widths, regardless of figure size.

The other backends have their own strengths, but for publishing with LaTeX, there is no contest. Anything based on TikZ/PGFPlots will be unbeatable.


If by article publication you mean a traditional research article, then definitely what @DNF said. If you are using LaTeX, as most fields do (I think so anyway), you probably should have your final figures in tikz/pgfplots.

I’d put gnuplot in second place (in case we are doing ranked choice voting).

The final form of the articles rarely retain the latex fonts and formatting, so that having the figures in the same style as the manuscript does not add much at the end for the overall consistency.

1 Like

There have been thousands and thousands of papers published with GMT figures.


I’ve actually not heard of that but the examples do look nice.

GMT is unbeatable for mapping buti have always found it a little clunky for scientific plotting. PS does the Julia wrapper support PSMECA at the moment?

Supplements have not been ported yet to the long verbose mode (contributions are welcome), but all modules can be called with the monolithic (see the docs) mode. Meaning, you call call meca with

gmt("psmeca -Sa ....", data)
1 Like

Really? That is surprising to me. How does the publishing happen?

I think they use something like this:

The journals in most fields generally ask for files with the minimum possible formatting, I guess for the content to be cut and paste to one of such software. Maybe in some heavy mathematical fields they keep latex to the end, but my impression is that not even the Physics journals do that anymore.


Do they retype the entire paper, with math and diagrams and everything?

I mean, pgfplots is just latex code, not image files, so everything should update correctly, independently of font types and scaling.

This seems like a real step backwards, at least for authors who take care with the layout and appearance of their papers.

I am pretty sure they retype everything, and the images are copied and pasted as bitmaps. Most commonly they require the figures in hi resolution tiff format. I was never able to send figures in any scalable format, for instance, and what some journals do accept is simply a large figure embedded in a powerpoint slide, that can be print-screened and pasted into the final layout.

From an author perspective this is not that bad, putting the papers in the format required by every different journal is not fun at all.

1 Like

I’m used to just submitting latex source code in the style of the journal, though it’s been a while.

This means they will screw up all the careful notation, spacing etc. Yech.

Fortunately I only write internal reports these days, in my own latex class, of course.

Yes, some journals do. Incidentally turning your carefully crafted equations into a random puree of symbols, which you are then invited to sort out in some kind of an interactive web-based editor until you give up in despair.


Most math journals take your raw LaTeX and go with it. The good ones will copy edit it. No math journals retype the whole paper. Fonts can change when your papers goes to the typesetter, but that’s about it.

However, as @Tamas_Papp says, copy editors can mangle your equations and your English. I’m always expecting some pointless extra work when galley proofs come back.


In my experience, what happens most of the time when I submit a Latex manuscript with PGFPlots figures to an applied math journal is that:

  1. I write my paper in Latex, using either the journal’s style file or standard classes. Font A (usually Computer Modern) is used.
  2. the copy-editor keeps the Latex file, without retyping it, but adapts it to the internal style of the journal, which is different from the one they publish on their webpage. This style usually includes a different font, font B, which is the one used in the final published articles. Also, the style and the journal’s compiling pipeline usually are incompatible with a crapload of standard packages that I used, for instance mathtools, so the copy editor removes them and tries to fix the result.
  3. because of incompatibilities, or maybe just laziness, PGFPlots is one of those packages that get removed in this process. So instead of running PGFPlots in their final version they simply crop the figures from my pdf file and include them in the paper as images.
  4. as a result, the published paper uses the journal’s font B, but the font used in the plots (axis labels, titles, etc.) is still the original font A used in my submission. Also, line thicknesses change and do not match those used in the text anymore.
  5. all the beauty and consistency of PGFPlots is lost. I cry and die a little inside.

I can provide various examples from my published papers.


In the journals to which I send my works the publisher accepts LaTeX. Nothing is retyped. The figures are accepted in publication-ready form, and appear without change.

1 Like

You mean clunky like this :slight_smile:

using GMT
julia> lines(x -> cos(x) * x, y -> sin(y) * y, linspace(0,2pi,100), region=(-4,7,-5.5,2.5), lw=2, lc=:sienna,
             decorated=(quoted=true, const_label=" In Vino Veritas  - In Aqua, Rãs & Toads", font=(25,"Times-Italic"),
                        curved=true, pen=(0.5,:red)), aspect=:equal, fmt=:png, show=true)