I know from high-rank journals such as Nature that they redesign figures they get from authors. These plots look highly professional, but too complicated to be done with Adobe Illustrator et al.

Which tools are used by publishers to generate high quality figures?

  • 2
    Please clarify what you define as plots and figures.
    – Dom
    Aug 15, 2013 at 15:48

5 Answers 5


Can't speak for Nature but here are a few workflows I'm aware of:

  • Recreate the chart using Illustrator's chart tool. Hard work, and frustrating because Adobe haven't updated the chart tool since the bronze age, but not a bad investment in time if lots of very similar charts are needed based on a similar style. It's capable of more than it looks.
  • Use Illustrator to style a chart pasted in from Excel or whatever the researchers used - most statistical packages can export as .eps or .svg - then style the vectors and change the text to fit the house style. (beware that removing the clipping masks that come with Excel charts sometimes makes lines and data points move slightly).
  • Trace the chart - plonk it in as an image and redraw it over the lines, then style in Illustrator. I've never needed to do this, but I've heard it's a common necessary evil in academic publishing.
  • Use a code-based charting / layout tool like LaTeX or R with the ggplot2 plugin. I don't know much about this approach but it's popular with analytically and not visually minded people, is capable of professional looking results if you're patient, and the results are very consistent since it's setting up a code-based template. Here's an article with some examples using this approach - Style your R charts like the Economist, Tableau ... or XKCD
  • Code up a web-based chart in something like D3, then extract the SVG output from a web browser, then open this in Illustrator and finish it for print there. The New York Times do this sometimes, I discussed this and how to get exact CMYK colours in this other question.
  • Use a custom charting / visualisation tool. A popular option is Tableau which can produce very professional-looking charts plus some pretty sophisticated data vis. It's expensive, though, unless all your data is freely publicly available in which case you can use Tableau Public which is free. Quite a few scientific publications use Tableau (can't think of names of the top of my head). WEAVE is an open source alternative but nowhere near as pretty (not sure what it outputs either, but if it's SVG then Illustrator can edit it), bit more on that sort of thing here.

Matlab and Mathematica are commonly-used analysis tools, which output 2D and 3D plots.

Here is some discussion, showing that these tools are indeed the duopoly.


Not too complicated to be done in Adobe Illustrator (though it can be trying --- I find using FreeHand much faster and more efficient --- elegant).

One can use tools like Asymptote, Tikz, METAPOST, &c., or they may be created using MatLab or other computer algebra / graphing tools.


I was part of a university team to improve other researchers plots. Our team mainly used Matlab and Illustrator. Up to some point, Matlab does a better or efficient job on displaying basic elements in a plot, including adding axis labels, axis ticks, data lines and data dots. After some point of a plot improvement, Illustrator works better when it comes to changing characteristics of the plot elements.

I believe the team in Nature (if any) would be doing the similar processes.


Use Hanpuku

I just discovered Hanpuku, a best-in-class solution for working with data visualization. I don't think there's anything better than this amazing piece of software!

Hanpuku Overview

Old answer

I'd like to describe a workflow using this option mentioned by user568458:

I have given up on Illustrator's bronze age tool for doing charts of poll answers (mostly bar/column graphs, pie charts and line plots). Illustrator couldn't handle corrections, small tweaks or updated data - any modification ruined the layout. I also couldn't specify key dimensions that had to stay constant throughout the set of charts (bar height, font size, max height).

Check out JSGraphs.com, tons of JavaScript graphing frameworks are compared there, and you can pick the most suitable one for your project.

I also used python livereload to live code (auto-refresh on save, actually). It gets things moving along faster! Navigate to the project folder in command prompt / terminal and just type livereload. All project files are now served and can be accessed on URLs like http://localhost:35729/chart-01.html.

It takes an up-front investment of time to learn the charting framework, its quirks and limitations, but once your first few charts are built you can use them as templates, sometimes just plugging in new data, changing nothing else.

My framework would accept CSV files as input, which I got by exporting from .xlsx files. Plugging in new data was done by changing one line of code url: 'resources/graph-02.csv'

Color themes could also be managed similarly with a JSON file.

From here on up to delivering CMYK EPSes much of the workflow can be automated.

Depending on the framework, exporting to SVG can be as easy as CtrlS. If it's embedded in the HTML markup as an SVG element you can batch export it with Playfair.

justinmanley/playfair: Generate charts and graphs from the command line using d3 and PhantomJS..

Initially I just used UI automation tools that would replicate enter-URL-save-as-enter-next-URL-save-as monkey-work for each file in the folder - AutoHotkey or WASP for PowerShell.

To batch convert SVGs to CMYK EPS files I made an action in Illustrator.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.