buen software (gratis) para producir imágenes publicables?

11

Estoy produciendo imágenes 1d y 2d usando Matlab en este momento para comparar la precisión con un modelo dado. Necesito comparar mis métodos con el modelo gaussiano estándar .wfn y lo haré analizando la densidad de una molécula y la laplaciana.

Estoy interesado en producir imágenes en 2D de las diferencias en mi aproximación a la aproximación .wfn (¿posiblemente a través del mapa de contorno?) Y también estoy interesado en las propiedades (densidad, laplacia, etc.) a lo largo de la ruta de enlace y la línea directa entre dos átomos.

Como dije anteriormente, actualmente estoy usando Matlab para producir mis imágenes, aunque estas imágenes son principalmente para mí y mis asociados. No parecen ser los tipos de imágenes que a menudo veo en los documentos y otras publicaciones.

¿Qué tipo de software debería usar (o usan otros) para producir gráficos e imágenes con calidad de publicación?

drjrm3
fuente
TEXLATEX

Respuestas:

14

Personalmente, he recorrido el camino de Gnuplot a Matplotlib con PGFPlots como un paso intermedio.

Intentaré nombrar todos los aspectos de Matplotlib que me gustan.

  • Es muy versátil No está limitado a gráficos de líneas o de dispersión, puede hacer fácilmente gráficos de barras, imágenes (¡visualización de matriz!), Gráficos 3D básicos e incluso algo de animación.

  • Puede usar Matplotlib como GUI para sus aplicaciones de Python.

  • LaTeX es compatible.
  • Admite muchos formatos de salida (intente obtener PDF sin problemas con Gnuplot).
  • La base de usuarios de Matplotlib es amplia. Obtiene razonablemente mucha ayuda en Internet.
  • Es razonablemente fácil de aprender.
  • Al ser una biblioteca de Python, tiene el poder de Python a mano (lo que significa, por ejemplo, que puede cargar fácilmente texto o datos HDF5 o, utilizando envoltorios como Cython / f2py, cargar datos binarios escritos por programas compilados escritos en C / Fortan) .

Sin embargo, siempre me han encantado las figuras que se integran perfectamente en los documentos de LaTeX. Aquí, en principio, PGFPlots sobresale. Sin embargo, es lento y (en comparación con Matplotlib) limitado.

Es por eso que he llegado a preferir una nueva solución: el backend PGF (experimental) para Matplotlib. Usando esto, los trazados mismos son creados por Matplotlib, mientras que el eje y las etiquetas son configurados por PGFPlots y finalmente dibujados por LaTeX. Puede usar esto para la salida PDF sin incrustar un documento LaTeX o para la salida PGF que puede incluir en su documento LaTeX.

Tengo la sensación de que la solución que describí anteriormente es la solución para mis casos de uso (por el momento).

AlexE
fuente
Matplotlib se puede hacer para hacer algunas parcelas hermosas. Ver matplotlib.org/gallery.html
meawoppl
7

A menudo uso Matlab y luego guardo el resultado como un epsarchivo vía print -depsc2 -f1 fig. Esto guarda la figura 1 como un epsarchivo llamado fig.eps. También existe el Plot2Svg del intercambio de archivos matlab que puede guardar como svg. Esto es realmente bueno ya que puede abrir los archivos en Inkscapeu otro software de gráficos vectoriales y editarlos.

Si está dispuesto a aprender nuevas herramientas, también hay matplotlib, que es básicamente un paquete de Python. No lo he usado personalmente, pero muchos amigos míos lo usan y tienden a producir gráficos realmente agradables. Puedes consultar su galería.

Finalmente, si está dispuesto a pagar por el software, puede usar TecPlot, ¡ pero eso le costará un brazo y una pierna!

GradGuy
fuente
1
Antes de usar TecPlot, use Visit o ParaView. Son igual de poderosos y son gratuitos. También pueden producir visualizaciones de muy alta calidad.
Wolfgang Bangerth
@Wolfgang: en mi experiencia, TecPlot es mejor. Le permite guardar el formato vectorial (Paraview no), y produce gráficos vectoriales mucho más agradables.
akid
@akid: Debo admitir que no conozco muy bien ParaView. Uso Visit que produce gráficos vectoriales muy bonitos. Sin embargo, no sé sobre formatos vectoriales. Sin embargo, puede guardar tramas en alta resolución.
Wolfgang Bangerth
7

Si está dispuesto a superar la curva de aprendizaje de Gnuplot , puede generar cifras de alta calidad con él (como se ejemplifica en http://www.gnuplotting.org/ ). En particular, recomendaría usar el terminal epslatex, ya que le permite usar LaTeX para representar todo el texto de la figura (incluida cualquier notación matemática que desee ingresar).

Si desea apegarse a MATLAB, puede probar matlab2tikz . Este es un script que convierte las figuras de MATLAB en ilustraciones de Tikz .

Juan M. Bello-Rivas
fuente