How to make pretty economics-style graphs
April 12, 2007 11:14 AM   Subscribe

What software can I use to make pretty microeconomics-style graphs?

I'd like to make a number of elegant explanatory graphs, of the sort that economists draw all the time (like these but more glamorous). What software packages are good for creating this sort of picture? I care about good graphic design, but I'm not a terribly good designer, so I'd like something that has nice-looking defaults or can be tweaked to look nice fairly easily.

I'm not looking to take existing datasets and visualize them. These pictures are to illustrate a theoretical model, rather than to present the results of empirical research. I just want a few suitably abstract looking curves, labeled points of interest, and maybe some shaded regions. It would be very nice to have some of the curves be mathematically related to others -- e.g. make one curve the derivative of another.

I'm running Mac OS X 10.4, am willing to work with either a graphical or a command-line interface, and would prefer not to break the bank.
posted by grimmelm to Computers & Internet (10 answers total) 1 user marked this as a favorite
I haven't used it much, but I'm pretty sure Graph Sketcher is the package you're looking for.

In the past, though, I've just used Matlab and made the cuves by hand.
posted by heresiarch at 11:37 AM on April 12, 2007

(Reading your question more closely, operations like x' and y' are probably going to be hard in that package since it sounds like it doesn't really do any calculation, but you can probably piece that sort of thing together using excel or matlab or octave.)
posted by heresiarch at 11:39 AM on April 12, 2007

I don't know if you would call it "pretty," but I've gotten good results using GNUPlot on Mac OS X.

Here's a sample from some old work of mine. (Don't judge the resolution there too harshly; I got that by just doing a partial screen grab when looking at a PDF file where it was included.)

It's not quite like doing graphs in Excel, but it gives much nicer output, IMO.
posted by Kadin2048 at 12:11 PM on April 12, 2007

Ah, almost forgot: Here's an article on how to build GNUPlot under Mac OS X. It's a lot like Latex; GnuPlot itself is a pretty low-level, UNIXy program, which you can either use directly or get high-level GUIs for, to do the dirty work, if you like.

If you search there are probably precompiled OSX binaries around somewhere, but honestly I don't remember it being that hard to build from source, assuming you already have Developer Tools and X Windows installed. I'd set aside an afternoon to do it.
posted by Kadin2048 at 12:18 PM on April 12, 2007

I use DeltaGraph by Red Rock Software for advanced graphing and charting (like the kind that would use curve-fitting for example) and then take the results into Adobe Illustrator for additional tweaking. For simple line graphs and such, Apple's Keynote can create graphs from data sets is a fast way to get attractive results.
posted by daser at 12:18 PM on April 12, 2007

How about OmniGraffle (a ridiculous name, I know).

On a PC, I use Microsoft Visio for this, and it works well. OmniGraffle looks like a great Mac equivalent.

The people recommending Excel and GNUPlot are missing the point — the questioner isn't graphing data, so these suggestions are irrelevant. Similarly, DeltaGraph looks like it's intended for plotting data.

I think you'll be struggling to find a program which lets you draw a line (without a formula or a data set) and then generate its derivative. But how complicated are the derivatives we're dealing with here? In my experience, microeconomics graphs tend to contain lots of lines and fairly simple curves, so it's never that hard to get something that looks about right for the derivative.

For inspiration, the graphs in Varian's Intermediate Microeconomics a great examples. I looked in the colophon, but he doesn't mention what was used to actually draw the graphs.
posted by Aloysius Bear at 5:18 PM on April 12, 2007

Omnigraffle is, indeed, fantastic, but I suspect it would actually be pretty annoying for this task. OmniGraffle is all about connecting networks of things. If you draw a line between two squares and move the squares, the line moves with it. I think that would make it pretty annoying to do a task like this. I think it's also not so great for doing good curves.
posted by heresiarch at 6:02 PM on April 12, 2007

Response by poster: So far, GraphSketcher is very nice, but seems to get all goofy on me when I want to fill in a region, one of whose sides is curved. (It thinks that the line is straight, for purposes of calculating intersections.) Still, it's good enough for government work in that the results look nice and it's very easy to use for basic tasks.

OmniGraffle is a great program, but I looked around in my copy a bit and thought that it would be kind of fiddly and annoying to map its concepts onto what I wanted to do.

I wouldn't say "no" to creating fake data and graphing it. I'd prefer symbolic to numerical inputs if I had to do that. As for derivatives, I would be willing to fake it, since I'll be using fairly simple powerlaw, polynomials, and such, but it does make what big of designer I do have in me shudder. I'll definitely also want to draw averages (e.g. marginal cost to average cost), but again, I'm willing to fake this if there really is no convenient alternative.
posted by grimmelm at 7:45 PM on April 12, 2007

Nice question and one I wrestled with for ages before settling on:

- OmniGraffle for boxy diagrams with arrows going all over the place (for concepts). Worth paying for the premium version.
- GraphSketcher for the economics stuff.

(So what everyone else said, I guess.)
posted by TrashyRambo at 8:06 PM on April 12, 2007

What about grapher? It's built right into the OSX and can quickly graph very pretty graphs.

Whether you can use it depends on if the things you want to graph can be represented by an equation.

Alternatively, if you're willing to throw together a little ruby code (it's not hard), you can use Gruff. The linked samples show some nice variety.

I've used GNUplot in the past and it is very capable, but not all that pretty.

Both Excel and the open office equivalent can probably do what you're looking for with some simple mocked up data as well.
posted by freshgroundpepper at 10:04 PM on April 12, 2007

« Older I promise to post something to MefiMusic   |   Where's my yellow sub game? Newer »
This thread is closed to new comments.