# What are some of the best scientific graphing programs for Mac?

September 12, 2014 10:46 AM Subscribe

I'm working on some graphics for an upcoming presentation, and need a way to display some scientific data(scatter plots and bar graphs mostly). What is the next step beyond excel?

I know from experience that viewing presentations w/ graphs obviously from Excel can taint my perception of the data(somehow makes it look unfinished / like a first draft). Are their any recommendations for Mac-specific plotting or graphing programs?

I know from experience that viewing presentations w/ graphs obviously from Excel can taint my perception of the data(somehow makes it look unfinished / like a first draft). Are their any recommendations for Mac-specific plotting or graphing programs?

If you're willing to get down and dirty with config files and the command line, try gnuplot.

posted by Alterscape at 10:57 AM on September 12, 2014

posted by Alterscape at 10:57 AM on September 12, 2014

Let me introduce you to my little friend, R, plus the ggplot package. A tutorial with some basic instructions for making bar graphs and scatterplots here.

Steep learning curve, but once you learn it, you'll never go back to Excel. And it's free!

posted by damayanti at 11:08 AM on September 12, 2014 [6 favorites]

Steep learning curve, but once you learn it, you'll never go back to Excel. And it's free!

posted by damayanti at 11:08 AM on September 12, 2014 [6 favorites]

matplotlib, if you know python. Install it with homebrew.

posted by Maecenas at 11:12 AM on September 12, 2014 [1 favorite]

posted by Maecenas at 11:12 AM on September 12, 2014 [1 favorite]

Plot2 is an excellent update on the original Plot app. It is a bit involved, but you can create really complex and elegant graphs with it. It is free.

posted by ssri at 11:13 AM on September 12, 2014

posted by ssri at 11:13 AM on September 12, 2014

What's your technical competency level? If you're at a Mac and not scared of pulling up a Terminal window, Python with Matplotlib will give you excellent results: example gallery with code.

Basically, it could be as simple as:

* Install the free version of Enthought Canopy to get a working numpy/scipy/matplotlib installation. (Or any other way to install these packages is fine - this is the easiest route I know of.)

* Put the data into text files. Say "mydata.txt" has two columns of data x and y.

* At a Terminal (or xterm) prompt, say

$ ipython --pylab

In [1]: (x, y) = loadtxt("mydata.txt")

In [2]: plot(x,y,'ro')

In[3]: xlabel("My x-axis")

In[4]: savefig('myplot.pdf')

Done. Look at the gallery, pick what you need, look at the code, and modify away...

(On lack of preview: shakes fist at Maecenas.)

posted by RedOrGreen at 11:14 AM on September 12, 2014 [1 favorite]

Basically, it could be as simple as:

* Install the free version of Enthought Canopy to get a working numpy/scipy/matplotlib installation. (Or any other way to install these packages is fine - this is the easiest route I know of.)

* Put the data into text files. Say "mydata.txt" has two columns of data x and y.

* At a Terminal (or xterm) prompt, say

$ ipython --pylab

In [1]: (x, y) = loadtxt("mydata.txt")

In [2]: plot(x,y,'ro')

In[3]: xlabel("My x-axis")

In[4]: savefig('myplot.pdf')

Done. Look at the gallery, pick what you need, look at the code, and modify away...

(On lack of preview: shakes fist at Maecenas.)

posted by RedOrGreen at 11:14 AM on September 12, 2014 [1 favorite]

It depends on what you need to graph. For simple boring things like scatterplots, the easiest thing to do might well be to generate them in excel and then edit the graphs away from excel's awful defaults.

posted by ROU_Xenophobe at 11:37 AM on September 12, 2014 [1 favorite]

posted by ROU_Xenophobe at 11:37 AM on September 12, 2014 [1 favorite]

Not mac-specific, but mac-compatible: R, SciLab, and Sage are freeware heavy-duty math programs, which all include graphing capabilities. Note that these programs will not necessarily give your data a "polished" look, but they will give your data a "I'm a serious scientist take me seriously" look, which can be important.

R is rapidly becoming the standard tool for statistics these days, so it's probably worth learning, particularly if you're doing scientific work. SciLab is more focused on matrix math and simulation, and Sage is more focused on symbolic manipulation (algebra), so they're more niche programs. But since they all have different styles and way more power than you probably need, so it's mostly a matter of finding the one you're most comfortable with.

posted by yeolcoatl at 12:09 PM on September 12, 2014

R is rapidly becoming the standard tool for statistics these days, so it's probably worth learning, particularly if you're doing scientific work. SciLab is more focused on matrix math and simulation, and Sage is more focused on symbolic manipulation (algebra), so they're more niche programs. But since they all have different styles and way more power than you probably need, so it's mostly a matter of finding the one you're most comfortable with.

posted by yeolcoatl at 12:09 PM on September 12, 2014

I second the vote for R, although learning R will take some effort. GGPLOT2 (it's a function in R) can create highly customizable, professional-looking plots that are suitable for publication. See here for some examples.

posted by alex1965 at 12:38 PM on September 12, 2014

posted by alex1965 at 12:38 PM on September 12, 2014

I find that Numbers produces much nicer-looking plots than Excel, and is free nowadays. I've also used gnuplot for years, and it's not all that difficult -- though it helps to be able to tweak the plot a bit in a vector graphics program. I've also played around with Plot2, which is also free and isn't command-line based.

posted by irrelephant at 1:07 PM on September 12, 2014

posted by irrelephant at 1:07 PM on September 12, 2014

Really, truly, if you are going to be dealing with data at any point in the future, learn R. Its capabilities are stunning, and growing every day. I just spent an hour talking though a dataset with my officemate, and she did some awesome things with just a few lines of R that should have taken much longer than they did.

posted by rockindata at 1:34 PM on September 12, 2014 [1 favorite]

posted by rockindata at 1:34 PM on September 12, 2014 [1 favorite]

Take a look at Prism's Graphpad -- it's pretty simple and quite intuitive if all you need are things like bar graphs, XY scatter plots, simple regressions, etc, and very easy to format because you can easily cut and paste as vector images into your presentation software or into Adobe Illustrator. Bonus, a lot of academic institutions already have licenses, and there's also a free 30 day trial.

posted by angst at 1:56 PM on September 12, 2014

posted by angst at 1:56 PM on September 12, 2014

If you have a copy of Illustrator handy, it can do nice-looking versions of the basics.

If you know JavaScript, there's the d3 library for visualizations.

posted by the_blizz at 2:05 PM on September 12, 2014

If you know JavaScript, there's the d3 library for visualizations.

posted by the_blizz at 2:05 PM on September 12, 2014

Matlab is not free, but does have some powerful toolkits and mathematical analysis built in with all of the visualization routines.

posted by scalespace at 6:11 AM on September 13, 2014

posted by scalespace at 6:11 AM on September 13, 2014

I will add another vote for R and the ggplot2 package. R is incredibly powerful, and as mentioned above, ggplot is supremely flexible. Invest just a bit of time to learn it.

You really can't do better, I think. And it's all free and open source!

posted by grisha at 7:28 AM on September 13, 2014

You really can't do better, I think. And it's all free and open source!

posted by grisha at 7:28 AM on September 13, 2014

This thread is closed to new comments.

posted by H. Roark at 10:51 AM on September 12, 2014 [1 favorite]