93 votes

gnuplot vs Matplotlib

J'ai commencé sur un projet de dessin Tomcat journaux à l'aide de gnuplot-py, plus précisément de la corrélation des demandes particulières avec l'allocation de la mémoire et de collecte des ordures. Qu'est-ce que l' la sagesse collective sur gnuplot-py vs Matplotlib pour Python graphique. Existe t il de meilleurs graphiques des bibliothèques de là-bas, je n'ai pas entendu parler?

Mes considérations générales sont:

  • Alors que gnuplot a de grandes quantités de documents, gnuplot-py n'a pas. Quelle est la qualité de la documentation de la communauté pour Matplotlib?
  • Sont là des choses qui gnuplot peut le faire, mais gnuplot-py ne peut pas?
  • Ne Matplotlib ont mieux le support de Python?
  • Il y a de big show stopper les bugs dans les deux? Les ennuis?
  • Actuellement gnuplot est graphique de 100 000 de points, j'ai le projet de mise à l'échelle jusqu'à des millions de personnes. Dois-je m'attendre à des problèmes? Comment Matplotlib gérer cela?
  • La facilité d'utilisation, les délais pour gnuplot vs Matplotlib?
  • Comment serait-il facile de port existant gnuplot-py code de Matplotlib?

Comment voulez-vous aborder cette tâche?

54voto

Autoplectic Points 4581
  • vous pouvez consulter la documentation de vous-même. Je le trouve assez complet.
  • J'ai très peu d'expérience avec gnuplot-py, donc je ne peux pas dire.
  • Matplotlib est rédigé et conçu spécifiquement pour Python, de sorte qu'il s'adapte très bien avec Python expressions idiomatiques et autres.
  • Matplotlib est un projet mature. La NASA l'utilise pour certains trucs.
  • J'ai tracé des dizaines de millions de points de Matplotlib, et il avait toujours l'air beau et a répondu rapidement.
  • au-delà de la méthode orientée objet à l'aide de Matplotlib est le pylab de l'interface, ce qui rend le traçage aussi facile qu'il l'est dans MATLAB, -- c'est très facile.
  • comme pour le portage, je n'ai aucune idée.

50voto

Thibault Points 186

Matplotlib = facilité d'utilisation, Gnuplot = performance

Je sais que ce post est vieux, et il a répondu, mais je passait par là et a voulu mettre mon grain de sel. Voici ma conclusion: comme dit plus haut, si vous avez un grand ensemble de données, vous devez utiliser Matplotlib. Il est plus facile et regarde mieux. Toutefois, si vous avez besoin de performances, je vous recommande d'utiliser Gnuplot. Le graphique suivant représente le temps nécessaire à l'intrigue et enregistrer aléatoire des nuages de points et il est auto-explicatif.

Gnuplot VS Matplotlib

26voto

Eli Bendersky Points 82298

matplotlib a assez bonne documentation, et semble être assez stable. Les parcelles qu'il produit sont de beaux - publication "de qualité" pour sûr. En raison de la bonne documentation et de la quantité de code d'exemple disponible en ligne, il est facile à apprendre et à utiliser, et je ne pense pas que vous aurez beaucoup de difficultés à traduire gnuplot code. Après tout, matplotlib est utilisé par les scientifiques pour tracer des données et préparer des rapports - de sorte qu'il comprend tout ce dont on a besoin.

Un avantage marqué de matplotlib est que vous pouvez l'intégrer avec Python Gui (wxPython et PyQt, au moins) et de créer une application graphique avec de belles parcelles.

18voto

Wim Points 7248

Après l'utilisation de GNUplot (avec mon propre wrapper Python) pour un long moment (et vraiment ne pas aimer les années 80-à la recherche de la sortie), j'ai juste commencé à avoir un coup d'oeil à matplotlib. Je dois dire que je l'aime beaucoup, la sortie à l'air vraiment sympa et les docs sont de haute qualité et un vaste (bien que cela vaut également pour GNUplot). La seule chose que j'ai passé les âges à la recherche dans le matplotlib docs est de savoir comment écrire dans un fichier image plutôt qu'à l'écran! Heureusement, cette page explique assez bien: http://www.dalkescientific.com/writings/diary/archive/2005/04/23/matplotlib%5Fwithout%5Fgui.html

8voto

Corey Goldberg Points 15625

J'ai joué avec les deux et j'aime beaucoup Matplotlib en termes d'intégration Python, d'options et de qualité des graphiques / graphiques.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X