Hello all,
I looked at the different options for plotting functions (or other types of graphs) in an interactive window. I mostly use wxWidgets but I'd be open to any other "interfaces".
Looking at what is available, here is what I've found:
wxPlot: Not updated since 2006. But it would be a good candidate if it was...
wxMathPlot: Very new, not mature, few features (still active?)
libgraph: Outdated, not rebust, 2D only and outputs images only.
koolplot: Too basic, no control over the created window.
EasyBMP: Very basic, only images output.
plotutils: Command line only.
plplot: C and C++ API are barely maintained. It is in fact on this that wxPlot is based. Could be a could candidate also if C and C++ interface we're updated.
Any comments? Ideas?
Thanks!
-
Might wxChart be an option? I have not used it myself however and it looks like it hasnt been updated for a while.
-
Just an idea: Use Python as embeddable scripting language to plot your graphs. Python has a plethora of plotting libraries.
ConcernedOfTunbridgeWells : If you don't mind embedding a Python interpreter you get a whole lot of other benefits from having a scripting lanaguage in your application, plus access to the sort of libraries you've linked to. +1 -
OpenGL. It WILL be hard and possibly rewriting the wheel, though. Keep in mind that OpenGL is a general 3D library, and not a specific plot library, but you can implement plotting based on it.
-
I found the game library Allegro easy to use back in the day. Might be worth a look.
-
We use an ancient version of ComponentOne Chart.
-
AntiGrain Geometry (AGG). http://www.antigrain.com/. Its an opensource 2D vector graphics library. Its a standalone library with no additional dependencies. Has good documentation. Python plotting library matplotlib uses AGG as one of backends.
-
Have a look at wxArt2d it is a complete framework for 2d editing and plotting. See the screenshots for more examples.
Some interesting features:
- Reading and writing SVG and CVG
- Several views of the same document
- Changes are updated when idle
- Optimized drawing of 2d objects
-
Hey! I'm the developer of wxMathPlot! The project is active: I just took a long time to get a new release, because the code needed a partial rewriting to introduce new features. Take a look to the new 0.1.0 release: it is a great improvement from old versions. Anyway, it doesn't provide 3D (even if I always thinking about it...).
Tim : is it able to plot in "real time"? (or near real time)Tim : To be clear - I want to be able to update from a data source and draw as new points arrive. -
I programmatically provide required input files to GNUPlot executable and invoke it using
system()function. It is suitable to my situation since I only want to visualize my data during research. But if you want the plotting functionality integrated into your executable file, maybe this is not for you :) -
I'm all about ROOT for these needs. Pretty heavy if you don't need all the analysis support, though.
0 comments:
Post a Comment