Skip to content


The sad state of scientific plotting software

It's unfortunate that this blog is turning into rants about scientific computing. Perhaps I am simply ethnically predisposed to doing science and kvetching.

Today's rant is brought about by my collaborators' request to make my paper figures "presentable". The reason is simple -- current figure drafts are straight up Mathematica output, relying mostly on defaults, and they suck. Let's face it -- figures produced by Mathematica can be good, but rarely great, and trying to fine-tune the appearance of frames and axes can be a daunting task.

The problem isn't that Mathematica sucks at plots -- so does most other software. The problem is that to my knowledge there are no reasonable open-source alternatives to something like Origin. So right now, if you are unsatisfied with Mathematica's plotting capabilities, your options come down to this:

- get as far as you easily can with Mathematica, then switch to Illustrator and Photoshop. Pros: guaranteed to work. Cons: time-consuming, labor-intensive, and requires Illustrator, Photoshop, and Windows.

- import data into one of {R, Matlab, Python/Matplotlib} and hope it can do what you are after. Pros: you might get the output you want. Cons: you need to know R, Matlab, or Python.

What shocks me is that in this day and age, it seems that every few years, somebody sits down to write a plotting package, and ends up reinventing the wheel. So you have a bunch of wheels, none perfectly circular; there are all sorts of bumps and protrusions, all in different places. Within R, for instance, there are at least 3 different ways to create plots (base graphics, ggplot2, lattice), and more are being created (e.g. jjplot). However, despite all the man-hours spent, we still don't have such basic things as TeX integration. In a software package that claims to be the premier graphics solution for a statistician/applied mathematician! The syntax to add formulas to plots is revolting. Even Excel can do better.

All right, rant over. I need to go generate some figures.

Tagged with , .

3 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Gabriel said

    Man do I agree! Scientific plotting is needlessly tedious ... great blog by the way. Very interesting opinions on the state of scientific programming

  2. Hello! I spend man-hours on developing another plotting software MagicPlot. And I absolutely agree with you about plotting software at all (including current version of MagicPlot in fact, but you are welcome to try it out). Moreover it is true to many other software, not only for plotting. Where is stable WUSIWUG text editor which creates good-looking output? Word or Writer? Noooo! And so many Linux distributions - but where is really user-friendly system? Ubuntu? Probably, but... I admit that creating good software is very complicated task.
    And users don't like to write requests for enhancements. They don't like software but continue to use it.

  3. And I know some people which in 2010 use EasyPlot 4 which was released on April 30, 1997! And it is still usable (and even faster than modern fashionable apps!) I think it is because this app was created by gifted people. But it doesn't support TeX at all of course...

Some HTML is OK

(required)

(required, but never shared)

or, reply to this post via trackback.