"Graphing Calculator" from Pacific Tech (http://www.pacifict.com/) is far and away the best non-free graphing calculator software out there. (I'm not affiliated in any way.)
I grew up on this software; I graduated from high school when I was 13 years old having gone through calculus already, and I'd had this software for several years before that, since I was about 8. The UI of this calculator is cleaner than anything I've seen since, and it allowed exploration in a beautifully intuitive way.
Particularly nice features that I've seen missing more often than not from other graphing calculator software:
- The math symbols and equations are automatically rendered very nicely, the way they should look if done on paper. (Rather than, for instance, using ASCII symbols only to show the notation all in a monospace-font single line, as some programs do.) This helped me learn the proper notation while exploring.
- There is no need to decide ahead of time whether you are graphing a 2D equation, a 3D equation, implicit or explicit, 4D, parametric, nor even what coordinate system you are using. You simply type in the equation or expression and press enter. If you typed something with r, theta, and z, then cylindrical coordinates are used automatically; etc.
- You can highlight part of the equation or expression (or the whole thing) and choose menu options including "simplify" or "expand" and the computer will accommodate.
- You can highlight and drag parts of the equation around to rearrange things. For instance, if the equation is y = x + 5, you can drag the 5 to the left and get first y = 5 + x and then y - 5 = x and then -5 + y = x.
- In addition to letting you just type to have symbols and so forth show up (e.g. type "theta" and on the last letter the word will be replaced by the symbol), you can also pull up the on-screen keypad which shows you symbols available that you may not have known were available. (Or, like me at age 9, that you didn't even know existed.)
A couple additional nice points are that the graphing calculator viewer is free to download, and also the saved files themselves are just plain text (with a special file extension). ASCII text is used in the plain text files to signify all symbols and equations and so forth, but the rendering in-program is beautiful.
I've been looking for years for a free/open-source replacement for "Graphing Calculator," without success. However, you say that you would accept free or non-free programs, so go for this one. :)