Visualising data
I tend to use Octave for maths based stuff, including visualizing the plotting of functions and so on. Anyway to my point, I have found that GNU Plot as great a tool it is to be somewhat linear in its way of thinking when rendering the (2D) graph - as an example if you devise a function with inputs that should produce (if by hand) a very nice curved plot then the chances are that GNU Plot will eradicate that expected curve and leave you with something very jagged.
Note: I'm not sure if there is an option somewhere in either Octave or GNU Plot to basically say "hey! throw the smooth curves in!!" so I apologise beforehand if such an option exists.
This has really started to annoy me this last week, so I started to think of alternatives to get a really nice visualisation stack that played nicely with one of the several languages that I am familiar with. As you will no doubt be aware in the past I have used (or at least tinkered with) NPlot, and ZedGraph and I can only tip my hat to the developers involved as they have created really great libraries there, oh and they are FREE! Both these frameworks are great, but they require a number of lines to actually get them setup correctly - even for trivial plotting. I wanted something that was quick and easy, and preferably something that worked well with functions - I started looking at F# alternatives...came across Flying Frogs F# for Visualization.
Last time I looked at FF's FS Vis (it's a mouthful so I'll cut it down!) it was based on directx, however I remembered reading somewhere that Jon had in fact ported it to WPF - this all sounded promising, WPF is a nice stack for graphing. I downloaded the bits, and literally with 1 line (and short) I can define the x and y range of values for the graph, and pump in a function to that plotting function and it will go ahead and use the x range as the independent values and go from there, excellent! ...but does it render super silky curves? yes! Beautiful! Although firing up VS to just do some visualising seems a little extreme it actually works well - the only tedious bit is referencing the assemblies required, once that has been done I found the workflow like that of any other mathematical environment - define the function(s), ranges and then invoke some plotting function. I've only played with the 2D plotting thus far - I just wanted to use it for some work I was doing, I am by no means totally clued up with what the graphing library can do.
Note: simple I know, not used this library for long - but the results seem to be pretty nice. There is some typesetting as well but I've yet to look at that in any real depth.
Interesting.
Note: I can't remember what Matlab produces - too pricey for me!