web-dev-qa-db-fra.com

Existe-t-il une bibliothèque de traçage 2D / 3D «prête à l'emploi» pour C ++?

J'ai regardé les différentes options pour tracer des fonctions (ou d'autres types de graphiques) dans une fenêtre interactive. J'utilise principalement wxWidgets mais je serais ouvert à toute autre "interface".

En regardant ce qui est disponible, voici ce que j'ai trouvé:

wxPlot: Non mis à jour depuis 2006. Mais ce serait un bon candidat s'il était ...

wxMathPlot: Très nouveau, pas mature, peu de fonctionnalités (toujours actif?)

libgraph: obsolète, non rebust, 2D uniquement et ne produit que des images.

koolplot: Trop basique, aucun contrôle sur la fenêtre créée.

EasyBMP: Très basique, seules les images sont sorties.

plotutils: ligne de commande uniquement.

plplot: Les API C et C++ sont à peine maintenues. C'est en fait sur cela que se base wxPlot. Pourrait également être un candidat potentiel si l'interface C et C++ est mise à jour.

Des commentaires? Des idées?

Merci!

64
user38290

Même si ce fil est vieux mais doré. QCustomPlot est également très recommandable pour compléter cette liste.

21
TheMindWithin

MathGL possède de nombreux types de tracé, une interface C/Fortran et une analyse de données de base

14
abalakin

Vous avez Qwt qui est mature. Il existe une version 3D qui se cache quelque part. Cependant, je n'ai jamais été satisfait du résultat esthétique.

Il peut être utile d'attendre Qt3D pour sortir facilement quelque chose de mieux écrit.

9
Alexandre C.

Je suis tout à fait ROOT pour ces besoins. Assez lourd si vous n'avez pas besoin de tout le support d'analyse, cependant.

9
dmckee

Je fournis par programme les fichiers d'entrée requis à GNUPlot exécutable et l'invoque en utilisant la fonction system(). Il convient à ma situation car je ne souhaite visualiser mes données que lors de recherches. Mais si vous voulez que la fonctionnalité de traçage soit intégrée dans votre fichier exécutable, ce n'est peut-être pas pour vous :)

5
Gant

vous pouvez utiliser DISLIN

c'est assez soigné!

5
KansaiRobot

Pourrait wxChart être une option? Je ne l'ai pas utilisé moi-même cependant et il semble qu'il n'ait pas été mis à jour depuis un certain temps.

3
SteveL

Juste une idée: utilisez Python comme langage de script intégrable pour tracer vos graphiques. Python a une pléthore de tracer des bibliothèques .

3
jfs

Hey! Je suis le développeur de wxMathPlot ! Le projet est actif: j'ai juste mis du temps à obtenir une nouvelle version, car le code avait besoin d'une réécriture partielle pour introduire de nouvelles fonctionnalités. Jetez un œil à la nouvelle version 0.1.0: c'est une grande amélioration par rapport aux anciennes versions. Quoi qu'il en soit, il ne fournit pas de 3D (même si j'y pense toujours ...).

1
cdron77

J'ai trouvé la bibliothèque de jeux Allegro facile à utiliser à l'époque. Ça vaut peut-être le coup d'oeil.

1
Kev

Jetez un oeil à wxArt2d c'est un cadre complet pour l'édition et le traçage 2D. Voir captures d'écran pour plus d'exemples.

Quelques fonctionnalités intéressantes:

  • Lecture et écriture SVG et CVG
  • Plusieurs vues du même document
  • Les modifications sont mises à jour en cas d'inactivité
  • Dessin optimisé d'objets 2D
1
Seika

Géométrie AntiGrain (AGG). http://www.antigrain.com/ . C'est une bibliothèque de graphiques vectoriels 2D open source. C'est une bibliothèque autonome sans dépendances supplémentaires. A une bonne documentation. Python bibliothèque de traçage matplotlib utilise AGG comme l'un des backends.

1
Nitin Bhide

Nous utilisons une ancienne version de ComponentOne Chart .

1
John Dibling