buon software (gratuito) per produrre immagini pubblicabili?


11

Sto producendo immagini 1d e 2d usando Matlab in questo momento per il confronto della precisione con un determinato modello. Devo confrontare i miei metodi con il modello standard .wfn gaussiano e lo farò analizzando la densità di una molecola e il laplaciano.

Sono interessato a produrre immagini 2D di differenze nella mia approssimazione all'approssimazione .wfn (possibilmente tramite una mappa di contorno?) E sono anche interessato a proprietà (densità, laplacian, ecc.) Lungo il percorso del legame e la linea diretta tra due atomi.

Come ho affermato in precedenza, attualmente sto utilizzando Matlab per produrre le mie immagini, sebbene queste immagini siano principalmente per me e i miei collaboratori. Non sembrano essere i tipi di immagini che vedo spesso in articoli e altre pubblicazioni.

Che tipo di software dovrei usare (o usare altri) per produrre grafici e immagini di qualità editoriale?


TEXLATEX

Risposte:


14

Personalmente ho venire la strada da Gnuplot per Matplotlib con PGFPlots come un passo intermedio.

Proverò a nominare tutti gli aspetti di Matplotlib che mi piacciono.

  • È molto versatile. Non sei limitato ai grafici a linee o scatter, puoi facilmente creare grafici a barre, immagini (visualizzazione a matrice!), Grafici 3D di base e persino alcune animazioni.

  • Puoi usare Matplotlib come una GUI per le tue applicazioni Python.

  • LaTeX è supportato.
  • Supporta molti formati di output (prova a ottenere PDF indolore con Gnuplot).
  • La base utenti di Matplotlib è ampia. Ricevi ragionevolmente molto aiuto su Internet.
  • È ragionevolmente facile da imparare.
  • Essendo una libreria Python, hai la potenza di Python a portata di mano (il che significa ad esempio che puoi caricare facilmente dati di testo o HDF5 o, usando wrapper come Cython / f2py, caricare dati binari scritti da programmi compilati scritti in C / Fortan) .

Tuttavia, ho sempre amato le figure che si integrano perfettamente nei documenti LaTeX. Qui, in linea di principio, PGFPlots eccelle. Tuttavia, è lento e (rispetto a Matplotlib) limitato.

Ecco perché sono arrivato a preferire una nuova soluzione: il back-end PGF (sperimentale) per Matplotlib. Usando questo, i grafici stessi sono creati da Matplotlib, mentre l'asse e le etichette sono impostati da PGFPlots e infine disegnati da LaTeX. È possibile utilizzarlo per l'output PDF senza un documento LaTeX incorporato o per l'output PGF che è possibile includere nel documento LaTeX.

Ho la sensazione che la soluzione che ho descritto sopra sia la soluzione per i miei casi d'uso (per il momento).


matplotlib può essere realizzato per creare bellissime trame. Vedi matplotlib.org/gallery.html
meawoppl

7

Ovviamente uso Matlab e quindi salvo il risultato come epsfile tramite print -depsc2 -f1 fig. Ciò consente di salvare la figura 1 come epsfile denominato fig.eps. C'è anche Plot2Svg dallo scambio di file matlab che può salvare come svg. Questo è davvero bello poiché puoi quindi aprire i file Inkscapeo altri software di grafica vettoriale e modificarli.

Se sei disposto a imparare nuovi strumenti, c'è anche matplotlib che è fondamentalmente un pacchetto python. Non l'ho usato personalmente, ma molti miei amici lo usano e tendono a produrre grafici davvero carini. Puoi controllare la loro galleria.

Infine, se sei disposto a pagare per il software, puoi utilizzare TecPlot ma questo ti costerà un braccio e una gamba!


1
Prima di utilizzare TecPlot, utilizzare Visit o ParaView. Sono altrettanto potenti e gratuiti. Possono anche produrre visualizzazioni di altissima qualità.
Wolfgang Bangerth,

@Wolfgang - Nella mia esperienza, TecPlot è migliore. Ti consente di salvare il formato vettoriale (Paraview no) e produce grafici vettoriali molto più belli.
Akid

@akid: devo ammettere che non conosco molto bene ParaView. Uso Visit che produce trame vettoriali molto belle. Non conosco i formati vettoriali, però. Tuttavia, può salvare grafici in alta risoluzione.
Wolfgang Bangerth,

7

Se sei disposto a superare la curva di apprendimento di Gnuplot , puoi generare cifre di alta qualità con esso (come esemplificato in http://www.gnuplotting.org/ ). In particolare, consiglierei di utilizzare il terminale epslatex in quanto consente di utilizzare LaTeX per eseguire il rendering di tutto il testo nella figura (inclusa qualsiasi notazione matematica che si potrebbe desiderare di inserire).

Se vuoi aderire a MATLAB, potresti provare matlab2tikz . Questa è una sceneggiatura che converte le figure di MATLAB in illustrazioni di Tikz .


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.