What is the Best C++ Library for Plotting and Graphical Representation of Data?

  • Context: C/C++ 
  • Thread starter Thread starter drevo
  • Start date Start date
  • Tags Tags
    Plotting
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
3 replies · 7K views
drevo
Messages
1
Reaction score
0
I will be making a C++ program for graphical representation of data. The user will import data about for example 4 different objects (some proteins or cells) and the program will plot correlation functions, linear regressions, maps (according to some generalised distance) for these objects. The user will have the abbility to change different parameters and interactively observe changes on plots. The program will produce at least 15 plots for one set of imported data.

I will be programming on Linux, but the program will be used mostly on Windows.

What library would you recommend me for the graphical part of the program? I know that i could do just fine with practically any of the libraries i found on google, but why not choose the best fit if i have the option to do so. So what is the standard library used for this kind of work? I would like something well documented and well tested (~ widely used).

I have been doing some smaller "projects" (a homework that took me about 2 days to write) with the combination of http://www.gtkmm.org/" , but it seems that especially plotmm is not supported very well since i found no forums or mailing lists. The new project will take me at least 2 months, so i really don't want to start it knowing that if some problems occur i am completely on my own.

At the moment http://www.qtsoftware.com/products/" - what do you thing about it?
 
Last edited by a moderator:
Physics news on Phys.org
Why don't you just use http://www.gnuplot.info/" ?
 
Last edited by a moderator:
Remember gnuplot can be run to produce an image as the output which you can then load into a window in your program - so the user never knows any other program is involved.

If the aim of this is to learn about plotting and data/functions rather than producing a commercial software package you will save weeks by simply calling gnuplot in the background.

Even drawing a simple graph with tick marks and selecting ranges and drawing labels yourself is a lot more more work than you think when you start ( from bitter experience )
 
Seems like your best bet would be MATLAB or Octave. There's no reason to descend all the way into C++ just to do some basic numerical computations and produce a few plots.

- Warren