views:

1081

answers:

5

I have spent a long time searching for a product that would bring functionality similar to matplotlib to the .NET framework. From what I can tell, nothing really measures up. Is this an accurate assessment? Here is what I have found:

Commercial:

  • ChartFX
  • Dundas
  • KitWare's ActiViz (basically a managed version of VTK)

Open Source:

  • NPlot
  • Various projects on CodePlex, notably VSLab

I think it would be tremendously valuable to have a .NET project which provided the ability to interactively plot data from languages like F# and IronPython. Does anyone know of such a project?

+1  A: 

I'm not sure if it has all the capablities you need for scientific work, but I've generally been very happy with Zedgraph. It is stable, powerful, and very easy to use, plus the graphs look terrific!

+1  A: 

At Resolver Systems we're working on a project called Ironclad, which will eventually (hopefully) allow you to use cPython extensions like matplotlib and numpy transparently from IronPython.

At the moment we're focusing on numpy (large parts of it are usable now), but matplotlib and friends are also high on the list.

It's an open-source project, and we could do with help. You should have a look at whether it could be useful.

wilberforce
+3  A: 

You could also look at F# for Visualization, I've got the beta and it's quite good for some basic stuff - not (yet) so good if you want more control over the presentation.

Another possibility (which I haven't tried at all yet, but I intend to soon) is Microsoft Chart Controls (previously known as Dundas...), which have been released independently of SQL Server. There's an article here about using them from F# - as you will see from the example code, you have more control over presentation, but it comes at a price...

UPDATE I did end up trying the Microsoft Chart Controls, and to be honest, it blows F# for Visualization out of the water (sorry Jon!). However, Luca Bolognese has gone a step further and made a very usable wrapper. The paint is still wet, but it's definitely worth a try.

Benjol
One thing that F# for Visualization does have over the other solutions is that you can pass it a function + a range, and not just arrays of existing data. It's the lookologie that's missing.
Benjol
@Benjol: And typeset mathematics on labels, and interactive 3D, and WPF controls and its a turn-key solution so the 130-line program you cited only takes 1 line with F# for Visualization. Still, shame about the competition. ;-)
Jon Harrop
+1  A: 

VTK http://www.vtk.org/ is an exceptionally powerful open-source scientific visualization tool. I'm not entirely clear whether you think it "doesn't measure up" because there is something you want to do that it can't, or if you simply want to be able call from your choice of language. I don't believe there were bindings for the languages you mention, but I would imagine that a project to wrap VTK in your choice of language would be more effective than starting to write a visualization tool from scratch.

DJClayworth
+1  A: 

F# for Visualization was specifically designed for that purpose.

Jon Harrop