bon logiciel (gratuit) pour produire des images publiables?

11

Je produis actuellement des images 1d et 2d en utilisant Matlab pour comparer la précision avec un modèle donné. Je dois comparer mes méthodes avec le modèle .wfn gaussien standard et je vais le faire en analysant la densité d'une molécule ainsi que celle du laplacien.

Je suis intéressé à produire des images 2D des différences dans mon approximation de l'approximation .wfn (éventuellement via une carte de contour?) Et je suis également intéressé par les propriétés (densité, laplacien, etc.) le long du chemin de liaison et de la ligne directe entre deux atomes.

Comme je l'ai indiqué précédemment, j'utilise actuellement Matlab pour produire mes images, bien que ces images soient principalement pour moi et mes associés. Ils ne semblent pas être les types d'images que je vois souvent dans les journaux et autres publications.

Quel type de logiciel dois-je utiliser (ou utiliser d'autres) pour produire des graphiques et des images de qualité publication?

drjrm3
la source
Dans les publications savantes, la cohérence du style est généralement importante: par exemple, le lettrage des graphiques doit être dans la même police et le même format que dans le texte principal. Pour obtenir des réponses plus ciblées, vous devez également spécifier le système de préparation de documents ( , , un système de traitement de texte générique) que vous allez utiliser. TEXLATEX
Stefano M

Réponses:

14

Personnellement, j'ai fait le chemin de Gnuplot à Matplotlib avec PGFPlots comme étape intermédiaire.

Je vais essayer de nommer tous les aspects de Matplotlib que j'aime.

  • Il est très polyvalent. Vous n'êtes pas limité aux graphiques linéaires ou dispersés, vous pouvez facilement faire des graphiques à barres, des images (visualisation matricielle!), Des graphiques 3D de base et même des animations.

  • Vous pouvez utiliser Matplotlib comme interface graphique pour vos applications Python.

  • LaTeX est pris en charge.
  • Il prend en charge de nombreux formats de sortie (essayez d'obtenir un PDF sans douleur avec Gnuplot).
  • La base d'utilisateurs de Matplotlib est large. Vous obtenez raisonnablement beaucoup d'aide sur Internet.
  • C'est assez facile à apprendre.
  • Étant une bibliothèque Python, vous avez la puissance de Python à portée de main (ce qui signifie par exemple que vous pouvez facilement charger du texte ou des données HDF5 ou, en utilisant des wrappers tels que Cython / f2py, charger des données binaires écrites par des programmes compilés écrits en C / Fortan) .

Cependant, j'ai toujours aimé les figures qui s'intègrent parfaitement dans les documents LaTeX. Ici, en principe, PGFPlots excelle. Cependant, il est lent et (par rapport à Matplotlib) limité.

C'est pourquoi je suis venu à préférer une nouvelle solution: le backend PGF (expérimental) pour Matplotlib. En utilisant cela, les tracés eux-mêmes sont créés par Matplotlib, tandis que l'axe et les étiquettes sont configurés par PGFPlots et finalement dessinés par LaTeX. Vous pouvez l'utiliser pour une sortie PDF sans document LaTeX incorporé ou pour une sortie PGF que vous pouvez inclure dans votre document LaTeX.

J'ai le sentiment que la solution que j'ai décrite ci-dessus est la solution pour mes cas d'utilisation (pour le moment).

AlexE
la source
matplotlib peut être réalisé pour réaliser de belles parcelles. Voir matplotlib.org/gallery.html
meawoppl
7

J'utilise souvent Matlab puis enregistre le résultat sous forme de epsfichier via print -depsc2 -f1 fig. Cela enregistre la figure 1 en tant que epsfichier nommé fig.eps. Il y a aussi le Plot2Svg de l'échange de fichiers matlab qui peut enregistrer sous svg. C'est vraiment bien car vous pouvez ensuite ouvrir les fichiers dans Inkscapeou un autre logiciel de graphisme vectoriel et les modifier.

Si vous êtes prêt à apprendre de nouveaux outils, il existe également matplotlib qui est essentiellement un package python. Je ne l'ai pas utilisé personnellement, mais beaucoup de mes amis l'utilisent et ont tendance à produire de très beaux graphiques. Vous pouvez consulter leur galerie.

Enfin, si vous êtes prêt à payer pour le logiciel, vous pouvez utiliser TecPlot mais cela vous coûtera un bras et une jambe!

GradGuy
la source
1
Avant d'utiliser TecPlot, utilisez Visit ou ParaView. Ils sont tout aussi puissants et gratuits. Ils peuvent également produire des visualisations de très haute qualité.
Wolfgang Bangerth
@Wolfgang - D'après mon expérience, TecPlot est meilleur. Il vous permet d'enregistrer le format vectoriel (pas Paraview), et il produit des tracés vectoriels beaucoup plus agréables.
akid
@akid: Je dois admettre que je ne connais pas très bien ParaView. J'utilise Visit qui produit de très beaux graphiques vectoriels. Je ne connais pas les formats vectoriels, cependant. Il peut cependant enregistrer des tracés en haute résolution.
Wolfgang Bangerth
7

Si vous êtes prêt à surmonter la courbe d'apprentissage de Gnuplot , vous pouvez générer des chiffres de haute qualité avec lui (comme illustré sur http://www.gnuplotting.org/ ). En particulier, je recommanderais d'utiliser le terminal epslatex car il vous permet d'utiliser LaTeX pour restituer tout le texte de la figure (y compris toute notation mathématique que vous souhaitez saisir).

Si vous voulez vous en tenir à MATLAB, vous voudrez peut-être essayer matlab2tikz . Il s'agit d'un script qui convertit les figures MATLAB en illustrations Tikz .

Juan M. Bello-Rivas
la source