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

**URL:** <https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668>\
**Category:** Visualization\
**Tags:** question, plotting\
**Created:** [October 2, 2020, 10:09pm UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668 "2020-10-02T22:09:08Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![SymKo](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/symko/32/17753_2.png) [@SymKo](https://discourse.julialang.org/u/SymKo)\
**Post date:** [October 2, 2020, 10:09pm UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/1 "2020-10-02T22:09:09Z")

</div>

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

_Poll ([view on site](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/1))_

_Poll ([view on site](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/1))_

_Poll ([view on site](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/1))_

_Poll ([view on site](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/1))_

_Poll ([view on site](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/1))_

_Poll ([view on site](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/1))_

Someone know research publication with charts made in julia?

---

<div class="post-metadata">

**Author:** ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Post date:** [October 2, 2020, 10:47pm UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/3 "2020-10-02T22:47:15Z")

</div>

> [@SymKo](#):
>
> serious publication

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

This other paper  
[link](https://www.sciencedirect.com/science/article/abs/pii/S0167732220337247) has also this figure, which I think is quite pretty 🙂

![image](https://global.discourse-cdn.com/julialang/original/3X/6/5/65d3a0b28d65b4b084552256d4510682872a15d2.png)

Everything there uses GR.

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [October 2, 2020, 11:00pm UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/4 "2020-10-02T23:00:34Z")

</div>

Gnuplot!

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [October 2, 2020, 11:17pm UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/5 "2020-10-02T23:17:17Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![tbeason](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tbeason/32/15898_2.png) [@tbeason](https://discourse.julialang.org/u/tbeason)\
**Post date:** [October 2, 2020, 11:33pm UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/6 "2020-10-02T23:33:01Z")

</div>

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).

---

<div class="post-metadata">

**Author:** ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Post date:** [October 2, 2020, 11:44pm UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/7 "2020-10-02T23:44:38Z")

</div>

> [@tbeason](#):
>
> LaTeX, as most fields do (I think so anyway)

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.

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [October 2, 2020, 11:52pm UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/8 "2020-10-02T23:52:19Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![tbeason](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tbeason/32/15898_2.png) [@tbeason](https://discourse.julialang.org/u/tbeason)\
**Post date:** [October 3, 2020, 12:56am UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/9 "2020-10-03T00:56:44Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![jbmuir](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jbmuir/32/4798_2.png) [@jbmuir](https://discourse.julialang.org/u/jbmuir)\
**Post date:** [October 3, 2020, 1:01am UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/10 "2020-10-03T01:01:32Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [October 3, 2020, 1:21am UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/11 "2020-10-03T01:21:24Z")

</div>

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

```julia
gmt("psmeca -Sa ....", data)

```

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [October 3, 2020, 4:58am UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/12 "2020-10-03T04:58:35Z")

</div>

> [@lmiq](#):
>
> The final form of the articles rarely retain the latex fonts and formatting

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

---

<div class="post-metadata">

**Author:** ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Post date:** [October 3, 2020, 7:15am UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/13 "2020-10-03T07:15:13Z")

</div>

I think they use something like this:

> **[Adobe InDesign](https://en.m.wikipedia.org/wiki/Adobe_InDesign)**
>
> Adobe InDesign is a desktop publishing and page layout designing software application produced by Adobe Inc. and first released in 1999. It can be used to create works such as posters, flyers, brochures, magazines, newspapers, presentations, books and ebooks. InDesign can also publish content suitable for tablet devices in conjunction with Adobe Digital Publishing Suite. Graphic designers and production artists are the principal users.
> InDesign is the successor to Adobe PageMaker, which Adobe ...

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.

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [October 3, 2020, 7:45am UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/14 "2020-10-03T07:45:23Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![lmiq](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lmiq/32/18314_2.png) [@lmiq](https://discourse.julialang.org/u/lmiq)\
**Post date:** [October 3, 2020, 9:39am UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/15 "2020-10-03T09:39:03Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [October 3, 2020, 9:49am UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/16 "2020-10-03T09:49:10Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [October 3, 2020, 1:13pm UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/17 "2020-10-03T13:13:09Z")

</div>

> [@DNF](#):
>
> Do they retype the entire paper, with math and diagrams and everything?

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.

---

<div class="post-metadata">

**Author:** ![ctkelley](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ctkelley/32/10684_2.png) [@ctkelley](https://discourse.julialang.org/u/ctkelley)\
**Post date:** [October 3, 2020, 1:35pm UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/18 "2020-10-03T13:35:56Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![fph](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fph/32/17159_2.png) [@fph](https://discourse.julialang.org/u/fph)\
**Post date:** [October 3, 2020, 2:02pm UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/19 "2020-10-03T14:02:39Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![PetrKryslUCSD](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/petrkryslucsd/32/215825_2.png) [@PetrKryslUCSD](https://discourse.julialang.org/u/PetrKryslUCSD)\
**Post date:** [October 3, 2020, 2:25pm UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/20 "2020-10-03T14:25:31Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)\
**Post date:** [October 3, 2020, 4:07pm UTC](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668/21 "2020-10-03T16:07:04Z")

</div>

> [@jbmuir](#):
>
> GMT is unbeatable for mapping buti have always found it a little clunky for scientific plotting.

You mean clunky like this 🙂

```julia
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)

```

 ![GMTjl_tmp](https://global.discourse-cdn.com/julialang/original/3X/1/1/11fd0c8ada104e136ac4a5f7784be69756acfb96.png)

[Next page](https://discourse.julialang.org/t/which-plots-backends-currently-are-the-best-for-article-publication/47668.md?page=2)
