¿Qué software y flujo de trabajo se recomienda para la publicación de datos científicos y gráficos?

40

¿Qué software proporciona un buen flujo de trabajo desde el trazado simple de unos pocos puntos de datos hasta la creación de gráficos a nivel de publicación con estilos detallados, tipografía matemática y "calidad profesional"?

Esto está un poco relacionado con la pregunta de David ( ¿Qué atributos hacen que una figura sea de calidad profesional? ), Pero el enfoque no está en los atributos sino en el software o en general el flujo de trabajo para llegar allí. Tengo experiencia superficial con varios programas, Gnuplot, Origin, Matplotlib, TikZ / PGFplot, Qtiplot, pero hacer análisis de datos y buenas cifras al mismo tiempo parece bastante difícil de hacer.

¿Existe algún software que permita esto o debería profundizar en uno de los paquetes?

Editar: Mi flujo de trabajo actual es una mezcla de diferentes componentes, que trabajan más o menos juntos, pero en total no es realmente eficiente y creo que esto es típico de varios científicos en un laboratorio universitario. Por lo general, es una cadena que comienza desde el experimento hasta la publicación de esta manera:

  1. Obtenga datos experimentales (generalmente en forma ASCII, pero con un diseño diferente, por ejemplo, encabezados, comentarios, número de columnas)
  2. Gráfico rápido de los datos para verificar si nada salió mal en Origin, Gnuplot o el programa de gráficos arcanos escrito hace 20 años.
  3. Análisis más detallado de los datos: restando contribuciones de fondo, analizando dependencias y correlaciones, ajustando modelos teóricos. Muchos científicos usan Origin para esta tarea, está aumentando el uso de Matlab y Python / Scipy / Numpy.
  4. Creando figuras profesionales, esto implica ajustarse a las pautas de la revista, la composición matemática y la edición general. Por el momento, uso Origin para esto, pero tiene varios inconvenientes (solo intenta obtener un ancho de línea de exactamente 0.5pt, no es posible). Para combinar / pulir figuras utilizo principalmente Adobe Illustrator, ya que puede manejar muy bien la importación / exportación de documentos PDF, pero preferiría no tener que pasar por dos pasos para cada diagrama.

Agregué un ejemplo de cómo podría verse al final (ya que esto se ha creado principalmente a mano, cambiar cualquier cosa es doloroso y cualquier cosa que proporcione una interfaz, por ejemplo, para establecer el ancho de línea para todos los elementos sería bueno):ingrese la descripción de la imagen aquí

Alejandro
fuente
2
Quizás debería aclarar sus requisitos. En su forma actual, la pregunta es atraer una gran lista de software. Nadie está describiendo con gran detalle cuáles son las ventajas y desventajas de los sistemas. Mirándolo, no me ayudaría a elegir uno. Por supuesto, todo el software de computación técnica, MATLAB, Mathematiac, Maple, todas las soluciones basadas en Python, R, etc. tienen muchas herramientas para crear trazados. Luego están las herramientas GUI como Origin y xmgrace. Cuál es la mejor opción depende de sus necesidades.
Szabolcs
@Szabolcs: estoy de acuerdo en que mi pregunta es un poco amplia. Mi flujo de trabajo no siempre es el mismo, ya que estoy analizando datos de diferentes experimentos, por lo tanto, traté de mantener la pregunta un poco más general.
Alexander

Respuestas:

31

Si tiene alguna experiencia con Python (o incluso no), recomendaría usar el software científico Python que está disponible ( SciPy , Pandas ), ...) junto con Matplotlib . Al ser un entorno de programación, tiene control total sobre sus flujos de datos, manipulación de datos y trazado. También puede usar las "aplicaciones completas" Mayavi2 o Veusz .

GertVdE
fuente
14
+1 para Matplotlib. Además de los puntos mencionados, la capacidad de usar LaTeX en los campos de texto le brinda la "composición matemática" solicitada.
Barron
¿Alguna recomendación para chaco?
pcr
1
Chaso es súper impresionante para tramas interactivas. Un animal completamente diferente en mi humilde opinión.
meawoppl
2
Y para la prettificación instantánea de Matplotlib, echa un vistazo a seaborn .
Christian Clason
1
O prettyplotlib
GertVdE
15

Según lo que está diciendo, un lenguaje de script de propósito general es probablemente su mejor opción, siempre que tenga algún tipo de capacidad de gráficos a la que pueda acceder (ya sea incorporado o importado).

En ese sentido, MATLAB funcionará, aunque tendrá que jugar con anchos de línea, símbolos y ejes para trazados de calidad de presentación. Dado su criterio, diría que la gran debilidad de MATLAB es la composición matemática detallada; MATLAB puede usar algunas etiquetas de TeX, pero hay algunos comandos de LaTeX que no puede manejar, así que recuerdo tener que retroceder y cortar y pegar algunas etiquetas de LaTeX de un PDF en Adobe Illustrator.

Python + NumPy funcionará para la importación de datos, porque numpy.loadtxthace que la importación de datos de texto sea sencilla. En ese momento, puede elegir entre matplotlib y Gnuplot (que tiene una interfaz de Python a través de Gnuplot.py ; no hay desarrollo activo en la interfaz desde 2008, pero, de nuevo, ¿Gnuplot cambia tanto, aunque sigue agregando versiones? ) El contenedor PyAsy de MatthewEmmett también podría funcionar, dependiendo de lo que le gustaría hacer. Matplotlib tiene una gran composición tipográfica matemática (como señaló Barron), y las manipulaciones de datos se pueden hacer usando NumPy, SciPy o cualquier otro paquete de Python que desee lanzar a sus datos.

El problema que tuve con gnuplot por sí solo es que realmente está diseñado solo para trazar. No me resultó evidente cómo manipular los datos dentro del lenguaje de script gnuplot. Básicamente hice toda mi manipulación de datos por adelantado antes de enviarlo a texto porque no podría encontrar la manera de hacerlo de otra manera. Puede usar gnuplot para evaluar fórmulas y hacer algunas manipulaciones, pero para mí, Python tiene una sintaxis mucho más natural y es de mayor utilidad general que gnuplot. No quiero tener que aprender otro idioma solo para hacer una cosa a menos que sea un lenguaje realmente natural y fácil de aprender. (O a menos que me obligue)

Tecplot 360 tiene un problema similar. Tecplot 360 produce tramas increíbles, especialmente en 3D. Hay cosas que puede hacer con Tecplot 360 usando una GUI relativamente fácil de aprender que probablemente tenga dificultades para hacer en otro paquete de trazado. La última vez que usé Tecplot fue hace 6 o 7 años; aparentemente, han agregado mucha funcionalidad desde entonces. La manipulación de datos se puede realizar mediante indexación, corte o establecimiento de zonas. Las cantidades derivadas se pueden calcular usando ecuaciones. También puede tomar la Transformada de Fourier de sus datos, realizar la interpolación (o kriging) y hacer una serie de otras cosas. No está claro cómo hacer la composición matemática. ¿Supongo que podrías hackear la salida HTML de Tecplot y agregar MathJax o MathML? Las desventajas, en mi opinión, con respecto a Tecplot son que no es gratis (lo que significa que como herramienta, es posible que no pueda llevarlo consigo de un trabajo a otro), la composición matemática dudosa y que la manipulación de datos complejos de secuencias de comandos requiere aprender el lenguaje macro de Tecplot. La principal ventaja es que su capacidad de trazado 3D supera con creces a matplotlib y MATLAB. Es posible trazar datos por lotes usando el lenguaje de macro / scripting de Tecplot, y llamar scripts externos de Python (con alguna funcionalidad limitada). Además, de manera similar a MATLAB, hay una GUI a la que puede recurrir si no desea aprender las secuencias de comandos de Tecplot. (La GUI de Tecplot es mucho más completa que la de MATLAB). La principal ventaja es que su capacidad de trazado 3D supera con creces a matplotlib y MATLAB. Es posible trazar datos por lotes utilizando el lenguaje de macro / scripting de Tecplot, y llamar scripts externos de Python (con alguna funcionalidad limitada). Además, de manera similar a MATLAB, hay una GUI a la que puede recurrir si no desea aprender las secuencias de comandos de Tecplot. (La GUI de Tecplot es mucho más completa que la de MATLAB). La principal ventaja es que su capacidad de trazado 3D supera con creces a matplotlib y MATLAB. Es posible trazar datos por lotes usando el lenguaje de macro / scripting de Tecplot, y llamar scripts externos de Python (con alguna funcionalidad limitada). Además, de manera similar a MATLAB, hay una GUI a la que puede recurrir si no desea aprender las secuencias de comandos de Tecplot. (La GUI de Tecplot es mucho más completa que la de MATLAB).

Las herramientas basadas en LaTeX como TikZ y PGFPlots no parecen estar hechas para su caso de uso. El punto débil aquí es la manipulación de datos; TikZ y PGFPlots son excelentes herramientas de LaTeX. Desearía saber cómo usarlos mejor. Dado que son LaTeX, supongo que el flujo de trabajo es cortar y pegar los datos necesarios en LaTeX y trazarlos. Es posible ejecutar programas dentro de LaTeX, pero no veo cómo esa capacidad necesariamente lo ayudaría, dado que, para una presentación o documento, el caso de uso que está describiendo sugiere que probablemente solo mantendrá el producto terminado. Quizás estés de acuerdo con ese flujo de trabajo; Ambas herramientas tienen fama de estar bien diseñadas y producir figuras de alta calidad.

Finalmente, Adobe Illustrator es una buena herramienta para retocar tramas, como dijiste; las deficiencias también son, como dijiste, falta de capacidad de escritura o repetibilidad, pero nada supera a un programa de edición de gráficos si quieres hacer pequeños ajustes.

Geoff Oxberry
fuente
1
Solo quiero agregar un pequeño comentario a esta gran respuesta. No hay necesidad de usar el producto Adobe. La herramienta de código abierto Inkscape también le brindará excelentes herramientas para retocar trazados. En combinación con el complemento LaTeX, puede hacer un buen trabajo.
Azrael3000
10

Creo que esta es una excelente pregunta, y que está en la vanguardia de mi mente en este momento. Al leer la mayoría de las revistas de matemáticas, Matlab parece ser aceptable, pero simplemente no está a la altura de algunas de las hermosas tramas y diagramas que aparecen en revistas como PNAS, Nature, PLoS ONE, etc.

Después de discutir exactamente este tema en mi grupo de investigación durante varias semanas, todavía no hemos llegado a una conclusión real sobre qué paquete es el mejor. Hemos encontrado que la mayoría de las comparaciones de software de gráficos en documentación, blogs u otras fuentes web son en gran medida inútiles para determinar qué paquete es mejor para un propósito dado.

Creo que lo que realmente ayudaría al usuario promedio que no es un experto en todos / muchos de estos paquetes es tener un pequeño conjunto de ejemplos muy bien definidos que podrían usarse como una especie de "punto de referencia gráfico" (de manera similar sentido como puntos de referencia CFD ). Hasta donde yo sé, nada de esto existe actualmente.

Como mínimo, me gustaría ver:

  1. Un diagrama de línea 2D razonablemente sencillo con varios tipos de línea y punto, leyenda, matemática en etiquetas / títulos, etc.
  2. Lo mismo para un diagrama de superficie 3D.
  3. Una trama 3D más sofisticada con isosuperficies, planos de corte y quizás algunas otras características sofisticadas.
  4. Un elegante diagrama en 3D.

Se proporcionarían datos para el n. ° 1-3, y una foto o diagrama "original" para el n. ° 4. Para cada ejemplo, se publicarían el código (entrada) y las imágenes (salida). Esto permitiría al lector juzgar más fácilmente qué paquete es el adecuado para ellos, tanto en términos de calidad de imagen como de complejidad de código.

Mi plan es hacer algo como esto en mi grupo en los próximos meses para # 1, 2, 4 y una pequeña cantidad de paquetes que incluyen Matlab, pgf / TikZ, python / scipy. Si hay interés, podría publicar esto públicamente.

Entonces, aunque todavía no es una respuesta a la pregunta publicada originalmente (y me disculpo por eso), podría ser una respuesta dentro de varios meses.

John Stockie
fuente
Tal punto de referencia sugerido es una buena idea. Todas las formas sugeridas para llegar al diagrama final son difíciles de comparar si no comienza desde un conjunto de datos y requisitos determinados. Además, ver el código en diferentes idiomas / paquetes le permite comparar cuál es más adecuado para sus propias necesidades. Especialmente con TikZ, tengo la impresión de que puedes reproducir casi cualquier cosa, pero que puede ser necesario un verdadero experto para hacerlo.
Alexander
Creo que el punto de referencia es una buena idea; Sugeriría para sus trazados 2D que replique algunos de los trazados en la galería Matplotlib . El código de muestra ya se proporciona para cada ejemplo. Para ejemplos en 3D, Mayavi tiene una galería similar en su documentación, y un buen ejemplo de tutorial en 3D . Replicar algunos de estos gráficos 3D en otros paquetes también puede ser útil.
Geoff Oxberry
¿Qué estás usando ahora, algunos meses después? ¿Algún comentario sobre la creación de parcelas pirateando (jugar con opciones de trama en una ventana de texto, trama, bucle ...) y / o interactivamente?
denis
8

LATEX

Dan
fuente
+1 y para trazados rápidos intente qtiplot, que es un buen clon de origen y también puede hacer ajustes de curvas. también para diseños finales xfig es realmente agradable (pero difícil) y puede incorporar fórmulas de látex directamente con un poco de pirateo en los detalles ...
Karussell
8

Otro paquete de software a considerar es la asíntota . La asíntota es en realidad un lenguaje de programación (con una sintaxis similar a C ++) que produce una salida basada en vectores. Una buena característica es que el texto se representa con LaTeX (incluidas las ecuaciones matemáticas), por lo que el texto en sus figuras es coherente con su documento.

Escribí un contenedor de Python para Asymptote llamado PyAsy para poder pasar las matrices NumPy al motor de Asymptote y hacer un trazado básico. Es bastante tosco y no tiene características completas, pero puede ser útil.

De todos modos, la calidad de salida de Asymptote es realmente buena.

Editar: Además de lo anterior, he encontrado que Fabric es muy útil para iniciar trabajos remotos, sincronizar directorios y crear binarios, recuperar datos de ejecución y / o ejecutar scripts de análisis remoto. Es una biblioteca de Python bastante ligera que hace que ejecutar comandos remotos sea un poco más fácil (y programable).

Matthew Emmett
fuente
8

Permítanme escribir una breve reseña de la funcionalidad gráfica de Mathematica, ya que eso es con lo que estoy familiarizado.

¿Qué puede hacer?

Para ver algunos ejemplos, consulte la galería de códigos de Mathematica en el sitio de Wolfram. No se trata específicamente de la visualización, pero casi todos los ejemplos incluyen algunos trazados.

También puede explorar las etiquetas de trazado (básicas) y gráficas (más avanzadas) de Mathematica.SE

Es posible crear su imagen de ejemplo de una manera totalmente automatizada (no se necesita un procesamiento posterior manual).

Fortalezas

  • Todos los gráficos se especifican de forma declarativa (como SVG --- no le dice al sistema que dibuje algo, solo enumera los objetos de gráficos vectoriales). Los gráficos son el mismo tipo de expresiones de Mathematica que cualquier otra cosa en el sistema, solo se muestran de una manera especial. Esto significa que los gráficos pueden transformarse y procesarse fácilmente una vez que se han creado, lo que se aplica también a los gráficos realizados mediante funciones de trazado.

  • La forma rápida y sencilla de crear gráficos es utilizar funciones de trazado de alto nivel y configurar muchas opciones para personalizar su salida. Si no hay una función para la gráfica precisa que necesita, puede ensamblar los gráficos a partir de primitivas gráficas (que también es bastante fácil ).

  • La funcionalidad de trazado de la función matemática es excelente. Que yo sepa, es líder en su clase. Las muestras de Mathematica funcionan de forma adaptativa (tanto en 2D como en 3D) para que se pueda generar una trama uniforme de forma rápida y automática. Las singularidades, discontinuidades, etc. se detectan simbólicamente mediante funciones de trazado.

  • Puede producir figuras para un tamaño de impresión específico y asegurarse de que encajan bien con el texto circundante en una publicación (por ejemplo, el tamaño de fuente y la coincidencia de estilos). En 2D, hay dos tipos de coordenadas: coordenadas de trazado que corresponden a sus datos y coordenadas absolutas especificadas en los puntos de la impresora. La primera escala al cambiar el tamaño del gráfico, la segunda no. El texto usa coordenadas absolutas de forma predeterminada, lo que significa que el tipo de 8 puntos será de 8 puntos independientemente de si la misma figura se exporta a un tamaño de 7 cm o 14 cm. Esto permite tener tamaños de fuente consistentes con el texto en la publicación.

  • Tipografía integrada para fórmulas matemáticas. El paquete de terceros MaTeX proporciona integración LaTeX para una composición tipográfica de fórmula de excelente calidad. (Divulgación: soy el autor).

  • Puede hacer todo el procesamiento de datos en el mismo sistema. En general, con un poco de trabajo, el proceso completo de creación de figuras se puede automatizar (incluso algunos aspectos avanzados ), evitando la necesidad de un procesamiento manual posterior en software como Adobe Illustrator. Esto es importante cuando en el último minuto descubres algún problema menor y necesitas volver a generar la figura.

Debilidades

  • Tener figuras con varias subtramas y tener una alineación precisa entre los sistemas de coordenadas de las subtramas puede ser difícil.

    El paquete SciDraw (de terceros) corrige esto y brinda un control detallado sobre cada aspecto de la figura. La compensación de este paquete es que toma más esfuerzo establecer cifras.

  • Los gráficos 3D no se exportan bien a formatos vectoriales. Sin embargo, exportar una versión de mapa de bits está bien.

  • Si su institución aún no tiene una licencia, cuesta dinero.

Szabolcs
fuente
5

Profundice en las parcelas PGF:

1) puede hacer diagramas 3D: python-matplotlib no puede hacerlos, gnuplot es feo en comparación

2) tiene fuentes consistentes en tamaño y familia con el documento base)

3) puede ser diseñado para esquemas de colores específicos

No hay nada más parecido en el mercado. :)

tmarico
fuente
1
matplotlib tiene una utilidad de gráficos en 3D. Es un poco débil, pero ciertamente funciona bien para una visualización rápida.
meawoppl
Definitivamente +1. Cuando se trata de gráficos de calidad de publicación, nada puede superarlo. Plug desvergonzado: una pregunta y mis respuestas en pgfplots en TeX.sx: tex.stackexchange.com/search?q=user:9043+[pgfplots] . Consulte también texample.net/tikz/examples/pgfplots para ver un ejemplo y el manual muy completo .
qubyte
Con PGF-plot, solo tengo el problema de que no puedes asumir que los editores lo respaldan. ¿Qué harías entonces si tu flujo de trabajo depende de ello? Una vez terminé componiendo primero las figuras y luego incluyendo la salida resultante al archivo principal que ya no dependía de los gráficos de PGF, lo cual no era realmente conveniente. ¿Hay alguna manera más inteligente?
Christian Waluga
1
@ChristianWaluga: puede usar la clase "independiente"; esto le permite crear imágenes PDF / EPS utilizando la imagen PGF que ya ha preparado para el artículo. Luego puede insertar el PDF en el texto del artículo original con inclusión de gráficos.
tmaric
4

Me parece que Tecplot es bastante poderoso cuando se trata de visualización y manipulación de datos.

hpc
fuente
44
¿Qué pasa con Tecplot lo hace muy poderoso? ¿Qué características encuentras particularmente útiles?
Paul
4

Trataré de darle mi opinión sobre mi experiencia limitada, que solo cubre algunos tipos de gráficos: gráficos de datos 2D, diagramas de dispersión y diagramas basados ​​en gráficos (árboles y gráficos, diagramas de flujo); pero primero permítame desviarme un poco de la pregunta:

Primero, me gustaría decir que a menudo se pasa por alto la importancia de producir parcelas de alta calidad. Los gráficos no son solo para mostrar datos, sino que si se usan de manera efectiva pueden comunicar ideas complejas que a menudo no se pueden expresar claramente en el texto. Me parece que este no es el lugar apropiado para discutir lo que constituye, los beneficios y las desventajas de una buena trama, pero si está interesado, mire aquí .

En segundo lugar, me he arrepentido más a menudo de usar una trama a medio cocer que de pasar tiempo en una trama de alta calidad. La razón es que una mala trama puede mentirle , por ejemplo, si usa una trama a medio cocer para hacer una revisión rápida de datos que podría no haber normalizado correctamente, o si usa tramas no tan buenas para hacer comparaciones visuales (el ojo a menudo puede ser muy indulgente o muy engañoso). Por lo tanto, siempre recomendaría preparar parcelas como si fueran a mostrarse a una persona que no está familiarizada con los resultados. Esto puede ahorrarle tiempo y mejorar su trabajo. Además, tiene el beneficio adicional de que el material de presentación estará listo para la próxima presentación / seminario / documento.

Ahora para responder la pregunta ,

En mi experiencia, siempre es mejor separar el procesamiento de datos de la herramienta de trazado real y las herramientas de manipulación de imágenes. Para el procesamiento de datos, uso Python, ya que es muy flexible y no he encontrado un formato de archivo que no se pueda manejar fácilmente a través de Python. Además, las bibliotecas numpy y scipy pueden ser poderosas herramientas de manipulación de datos numéricos.

Dentro de Python, no he visto una herramienta de trazado que le brinde el control sobre todos los detalles de formato. Descubrí que son los detalles los que marcan una gran diferencia cuando intentas integrar imágenes al formatear un papel en látex. Por ejemplo, el control del espacio en blanco y las proporciones de las parcelas pueden ser un dolor de cabeza con matplotlib (no es imposible pero no vale la pena), esto es muy importante si tiene espacio limitado, ya que suele ser el caso en revistas y conferencias. papeles.

En mi experiencia, descubrí que GNUPLOT es la mejor herramienta para formatear y producir diagramas 2D y diagramas de dispersión. Te da mucho control sobre todos los detalles de tu trama. Y puede producir gráficos de alta calidad (imágenes vectoriales) en blanco y negro o en color. El alto nivel de control hace que GNUPLOT sea un poco más difícil de aprender, y a veces las cosas simples pueden tomar un poco de trabajo, pero si comienzas con un ejemplo, puede simplificar las cosas. Por lo general, busco inspiración en estos dos sitios, vea el sitio no tan frecuente o las demostraciones oficiales aquí .

A veces, los gráficos producidos por GNUPLOT pueden ser bastante grandes (en el rango de MB) y el diario puede rechazar los archivos (esto me sucedió con algunos gráficos de dispersión muy coloridos). He utilizado y recomiendo Imagemagick , una herramienta de línea de comandos que le permite convertir, editar y comprimir imágenes (la utilicé para generar y editar archivos JPEG de alta calidad mientras reducía significativamente el tamaño del archivo). Probé otras herramientas que usaban compresión automática de datos, esto resultó especialmente problemático debido al delicado equilibrio entre los artefactos de imagen y la compresión.

También he producido una buena cantidad de diagramas (a menudo para presentaciones). Descubrí que si voy a usar un diagrama una sola vez (no un documento), la aplicación Keynote (OSX) y guardar en pdf es lo suficientemente bueno. Sin embargo, cuando una imagen se usa muchas veces, la calidad de la presentación es más importante y TikZ es mi herramienta preferida. Encuentro que TikZ es un poco difícil de usar, pero si comienzas con un ejemplo , es mucho más fácil.

Finalmente, hago la mayor parte de mi trabajo desde la línea de comandos para integrar diferentes herramientas que uso con bash o python.

fcruz
fuente
3

Mi voto rápido es por QtiPlot.

Aunque no es perfecto, proporciona la mejor combinación de facilidad de GUI, junto con secuencias de comandos de Python, por lo que lo que realmente está haciendo es "Qtiplot / Python / (Illustrator o Inkscape)". Qtiplot es extensible, por lo que puede crear sus propios scripts / macros que pueden ejecutar comandos de Python para abrir y procesar datos y luego volcarlos en una tabla. Luego puede trazarlos manual o automáticamente. También es posible configurarlo para que funcione con la composición tipográfica LaTeX con una fuente tipográfica disponible en Internet, o una tipografía local, para que pueda poner fórmulas matemáticas en los títulos / ejes / marcas de su trama.

Las tramas se pueden exportar a cualquier formato que desee, pero el formato que mejor funciona es, sin duda, SVG. Los archivos SVG se pueden retocar en Inkscape si lo desea, que también tiene capacidades de composición tipográfica LaTeX.

Si bien MatPlotLib es excelente, su mayor inconveniente es tener que codificar a mano absolutamente todo (al igual que cualquier solución de trazado de scripts). QtiPlot es excelente porque puede crear secuencias de comandos / automatizar el procesamiento de datos y trazar todo con una excelente funcionalidad de Python, y luego pasar un diagrama de corte aproximado a una interfaz gráfica de usuario que le permitirá ajustarlo a mano y hacer todo tipo de corte / pegado / manipulación de interfaz gráfica de usuario eso es mucho más rápido caso por caso para el análisis de datos. También puede establecer dimensiones con precisión con la secuencia de comandos, y también manipular las dimensiones con la GUI, algo que no puede hacer con matplotlib.

Supongo que depende de cómo te sientas acerca de las soluciones de trazado de QtiPlot. He descubierto que es muy capaz, pero es una curva de aprendizaje bastante empinada.

Vince
fuente
3

Me sorprende que nadie haya mencionado las excelentes herramientas de Nico Schlömer matlab2tikz y matplotlib2tikz todavía. Si está utilizando LaTeX para la preparación de documentos y Matlab o Python para el procesamiento de datos, puede obtener fácilmente gráficos vectoriales de alta calidad que puede publicar en el contenido de su corazón:

  1. Prepare sus parcelas en Matlab o Python, incluidos ejes, etiquetas, leyendas, etc. No se preocupe por el formato TeX.
  2. Llamar matlab2tikz('figure.tex')(o matplotlib2tikz).
  3. Edite figure.texa gusto (reemplace el texto de la etiqueta con las matemáticas adecuadas, cambie los colores, el ancho de línea, la ubicación de la leyenda, el estilo del eje, etc.), consulte el manual de pgfplots (o las muchas preguntas sobre pgfplots en el intercambio de pila de TeX).
  4. En su figura, en lugar de includegraphicsponer \input{figure.tex}(y no olvide incluir \usepackage{pgfplots}en el preámbulo).
  5. Para el envío, use la biblioteca de externalización (consulte el capítulo 7 del manual) para convertir su figura en un pdf y simplemente reemplácela \input{figure.tex}por \includegraphics{figure.pdf}.
Christian Clason
fuente
2

Si no está buscando secuencias de comandos, eche un vistazo a MagicPlot. No es tan rico en funciones como Origin (por ejemplo, puede producir solo gráficos 2D), pero nunca he tenido problemas con el ancho de línea y otras propiedades. Las parcelas son bonitas anti-alias, aunque el redibujado es lo suficientemente rápido. Además de accesorios útiles.

Alejandro
fuente
0

Tecplot 360 es bueno para procesar grandes datos y producir gráficos con calidad de publicación. Tiene potentes interfaces adicionales y de secuencias de comandos para procesar los datos. Me parece que hace todo lo que necesita para el procesamiento posterior.

Un error común es recurrir al uso de Excel. No. No recuerda el diseño, el rango X, el mapa de colores. No se anima. Utiliza hojas de cálculo voluminosas y feas para trabajar con los datos.

Por supuesto, no encontrará una herramienta que realice tanto el procesamiento posterior como la edición de texto, y elegir un editor de texto razonable para sus publicaciones es otra pregunta importante. No use MS Word, su administrador de citas es feo. Uso LyX o cualquier otra herramienta de Latex disponible para el sistema operativo que estoy usando.

Ah, y cuando tenga que publicar PDF, incluya un enlace a LaTeX, Word o cualquier formato con matemática legible. En PDF, no lo es.


fuente