Join 3,416 readers in helping fund MetaFilter (Hide)


Recommendations for free or cheap graphing software
February 22, 2012 11:35 PM   Subscribe

Can you recommend free (or cheap) graphing software for Windows?

Are there any good open source graphing packages out there? I am fed up of my presentations being full of ugly Excel-generated graphs. I use a range of bar charts, pie charts and line graphs, and generally they all (especially the pie charts) look ugly in Excel (I use Excel 2003 but am told by friends that the more recent versions look just as bad).

This may be optimistic, but I'd prefer free as it's a fairly occasional use, but if a good quality product has a small, but reasonable, fee (e.g. not the > $500 cost of say Graphpad Prism) then I would still be interested.

If there really aren't any good free or very cheap options what is the best full scale package you have used?
posted by inbetweener to Science & Nature (11 answers total) 14 users marked this as a favorite
 
Gunplot has been the go-to open source graphing tool for a long time, and it is really good. It's graphs are not the prettiest though, so I tend to use matplotlib now. Matplotlib is a python library, so you need to write python scripts for it, but it is really, really simple (certainly I would say it is easier to figure out how to control the appearance of a graph with matplotlib than with Excel).

If you want to have a quick trial of plotting matplotlib, another option would be to try Sage Math. You don't even need to install Sage, you can use the online Sage Notebook format to try some quick plotting and see if you like the output (you might need to create an account at that Sage Notebook site).

All these options are free, open source, and pretty straightforward to use.
posted by theyexpectresults at 12:25 AM on February 23, 2012


Sorry, in case it wasn't clear above, Sage Math is a project which ties together a tonne of open source math tools, including matplotlib. That's why you can see the matplotlib graphs using Sage.
posted by theyexpectresults at 12:27 AM on February 23, 2012


Dammit, I forgot to include a link to a gallery of matplotlib graphs.
posted by theyexpectresults at 12:28 AM on February 23, 2012


The default chart styling on most graphing software is optimized for publication, which can make it look butt-ugly on screen. Well, except Excel, where it's not optimized for anything, but someone was really super happy about gradients. *shudder*

The aforementioned Gnuplot and matplotlib are really powerful for plotting; R is also a very good option, but they all require some amount of coding and a learning curve, which may be more than you're willing to invest to get good quality graphs from some spreadsheet with data.

If your package of choice can output a plot as PDF (as opposed to plain image format, such as jpg or png), then you can do some very quick and very effective touch-ups (fonts, line thickness etc) in some vector graphic ware - a good free one is Inkscape.

Overall I find that most charts (even Excel) can be customized to look professional. Here are some tips:
1. Get rid of almost all background. Back color should be white, gridlines (if any) should be super-thin and in some light-grey dotted style (so anyone who needs them to anchor against data items can, but otherwise they should be very easy to miss)
2. Get rid of most thick lines that are not data - the rectangle around the chart, the x- and y- line ticks, the lines around the bars in bar plots. Most of this is configurable, and should be easy to set line-width to 0. It's all pure contrast that doesn't bring any information.
3. Stick to gray color for bars, unless you need more than 2 quantities per bar group (in which case you probably should not be using a bar chart). Line and pie-charts can stay colored, but change colors to ones with a lot less saturation
4. Change the font to something other than Arial. Garamond and Palatino are usually available, and produce very professional-looking results.
5. Go and take a look at some NYTimes charts, mimic the ones you like.
posted by ivancho at 1:00 AM on February 23, 2012 [3 favorites]


You don't need to throw the baby out with the bathwater if all you're looking for is better formatting within Excel. I bookmarked Juice Analytics' "Better Excel Charts" for exactly this reason a few years ago. You might find other interesting leads from this post on Edward Tufte's bulletin board, which is what originally led me to it.
posted by bcwinters at 4:33 AM on February 23, 2012 [1 favorite]


The aforementioned Gnuplot and matplotlib are really powerful for plotting; R is also a very good option, but they all require some amount of coding and a learning curve, which may be more than you're willing to invest to get good quality graphs from some spreadsheet with data.


Rcmdr (R-Commander), on the other hand, requires little coding and much less of a learning code than straight programming R. Its plots and graphs have a straightforward, non-cartooney functionality to 'em.

Rcmdr is a menu-driven gui for R. It takes a tiny bit of guidance and a little bit of tinkering.
posted by entropone at 6:33 AM on February 23, 2012


Don't listen to your friends, newer versions of Excel have much more attractive charts than 2003. I can spot a 2003 chart instantly because of the ugly factor.

I also love Highcharts but it's web based...
posted by beyond_pink at 6:34 AM on February 23, 2012


It's a big learning curve, but LaTeX TikZ and PGF packages produce the most beautiful graphs in the universe.
posted by qxntpqbbbqxl at 7:26 AM on February 23, 2012


Using Excel for plotting makes baby Jesus cry. Seconding the R recommendation. If you use RExcel, you can even pull data directly from Excel and plot it in R.

If, like many people, you mostly make the same kind of plot, the time you spend learning to make a plot in R will render benefits for a long time, because R is a scripting language. If you run the same code again, you'll get the same plot in a split second. Change the data, and you've got the same kind of plot with different data in a split second, with all the minor graphical tweaks you make before. Compare this to a GUI system, where you've got to change the setup manually every time ("click...click...click...") or duplicate the plot and change the data ranges (also a pain compared to just re-pasting R code).

I recommend R with RStudio.
posted by Philosopher Dirtbike at 9:12 AM on February 23, 2012


It's a big learning curve, but LaTeX TikZ and PGF packages produce the most beautiful graphs in the universe.

Good lord, I'd be up for trying some of this out if the examples weren't rendered even more impenetrable to me by having all the command names in German!

\newcommand{\KoordinatenkreuzOhneLabelsVerschobenKeinPfeil}
posted by theyexpectresults at 9:01 PM on February 23, 2012


Thank you all for the really helpful responses, am checking all this stuff out... In the meantime using ivancho's styling tips - thanks!
posted by inbetweener at 1:34 PM on March 4, 2012


« Older Plumbing/Science Equipmentfilt...   |  I'm looking to sort an entire ... Newer »
This thread is closed to new comments.