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
Click For Summary

Discussion Overview

The discussion centers around the selection of a C++ library for graphical representation of data, specifically for a program that will plot various types of graphs based on user-imported data. The scope includes considerations for libraries that are well-documented and widely used, as well as the potential for interactive features in the application.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested

Main Points Raised

  • One participant outlines a project involving the graphical representation of data for different objects and seeks recommendations for a suitable C++ library, expressing concerns about documentation and support.
  • Another participant suggests using gnuplot, highlighting its capability to produce images that can be integrated into the program, which may simplify the plotting process.
  • A further reply emphasizes that using gnuplot can save significant time compared to manually implementing plotting features in C++, especially for basic graphs.
  • One participant proposes MATLAB or Octave as alternatives, questioning the necessity of using C++ for basic numerical computations and plotting.

Areas of Agreement / Disagreement

Participants express differing opinions on the best approach to take, with some advocating for C++ libraries, while others suggest using gnuplot or higher-level tools like MATLAB or Octave. No consensus is reached regarding the best library or approach.

Contextual Notes

Participants have not fully explored the limitations or specific requirements of the project, such as performance considerations or the complexity of the desired plots. The discussion does not resolve the suitability of each proposed solution.

Who May Find This Useful

This discussion may be useful for developers seeking recommendations for libraries or tools for data visualization in C++, as well as those considering alternative approaches for plotting and graphical representation of data.

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:
Technology 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
 

Similar threads

Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 9 ·
Replies
9
Views
5K
  • · Replies 29 ·
Replies
29
Views
8K
Replies
3
Views
4K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 17 ·
Replies
17
Views
5K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K