It's like in college, when I was talking with a girl who was working on her senior thesis. She said, "I'm almost done, I just have to do the bibliography" and she had 3 hours before the deadline where she had to physically turn it in. I looked at her and said, "Oh you poor girl, get on that right now." Bibliographies are also necessary evils and always take longer than you think/hope.
So, fortunately, in the computing world there are lots of people working on lots of free projects and software to make people's lives easier. Out of the goodness of their hearts. It's lovely and wonderful. I myself work on such a project. I won't tell you what it is though - I'd lose my anonymity in a heartbeat that way. But anyway.
One of my favorite free projects is called matplotlib. It's a most excellent piece of graphing software, extremely useful for me, as someone who does a lot of work in Python, as well. Anyway, you know MATLAB? You'll probably be just fine with matplotlib too.
Check out this gallery of screenshots for all the things you can do with matplotlib. It's incredible. It's awesome. It's magnificent. I LOVE MATPLOTLIB. Almost as much as I love mercurial. Hubby HATES Excel and recently asked me how I made such pretty graphs - I told him, matplotlib!!! So I made a few graphs for him. Lickety-split, he has pretty graphs.
What matplotlib is ideal for:
- If you already use Python to do your scripting, matplotlib is a MATLAB-ian interface within Python, so your transition to matplotlib will be very easy. Just download the egg file to get all your prereq packages and you're set to go.
- People who need documentation. Matplotlib has some of the best documentation for a free software project I have ever seen. Active mailing list, lots of examples, documentation for every class/function/everything, and even more examples.
- People who have to turn massive textual data into graphs. This is the best part about matplotlib, in my opinion. Python is my favorite workhorse language. It's very easy to pull out bits of data from massive amounts of textual data. The language is EASY, READABLE, and AWESOME. Since matplotlib is within Python, you just pull out your bits of textual data, and plop them into a graph of your choosing - bar graph, histogram, line plot, whatever. Woot!
- People who hate Excel.
- People who aren't afraid of trying new things and doing a little digging on how to get something to work. If you're totally unfamiliar with everything I'm talking about, you can still love matplotlib, you'd just have a learning curve issue. But once you get it, you'll love it. But only if you're willing to put in some time to get away from Excel.
- People who are cheap. Matplotlib is free. FREE.
- People who like to control things. You know how in Excel, you can't force it to do certain things? You just can't - if it's not built-in, you can't get it to do it. Not so with matplotlib - if you can code it, you can make it. And you can always code it.