Quale software e flusso di lavoro è raccomandato per la pubblicazione di dati e grafici scientifici?


40

Quale software offre un buon flusso di lavoro dalla semplice stampa di alcuni punti dati fino alla creazione di grafica a livello di pubblicazione con stili dettagliati, composizione matematica e "qualità professionale"?

Questo è un po 'correlato alla domanda di David ( quali attributi rendono una figura di qualità professionale? ) Ma l'attenzione non è sugli attributi ma sul software o sul flusso di lavoro generale per arrivarci. Ho una superficiale esperienza con un numero di programmi, Gnuplot, Origin, Matplotlib, TikZ / PGFplot, Qtiplot ma fare analisi dei dati e belle figure allo stesso tempo sembra piuttosto difficile da fare.

Esiste un software che lo consente o dovrei scavare più a fondo in uno dei pacchetti?

Modifica: Il mio flusso di lavoro attuale è un mix di componenti diversi, che più o meno lavorano insieme ma in totale non è davvero efficiente e penso che questo sia tipico per un certo numero di scienziati in un laboratorio universitario. In genere si tratta di una catena che parte dall'esperimento fino alla pubblicazione in questo modo:

  1. Ottieni dati sperimentali (di solito in forma ASCII, ma con layout diversi, ad esempio intestazioni, commenti, numero di colonne)
  2. Trama rapida dei dati per verificare se nulla è andato storto in Origin, Gnuplot o programma di trama arcana scritto 20 anni fa.
  3. Analisi più dettagliata dei dati: sottrazione di contributi di fondo, analisi di dipendenze e correlazioni, adattamento a modelli teorici. Molti scienziati usano Origin per questo compito, alcuni usi Matlab e Python / Scipy / Numpy sono in aumento.
  4. Creazione di figure professionali, ciò comporta l'adattamento alle linee guida del giornale, la composizione matematica e l'editing generale. Al momento uso Origin per questo, ma presenta diversi inconvenienti (basta provare a ottenere una larghezza di linea di esattamente 0,5 pt, non è possibile). Per combinare / lucidare le figure uso principalmente Adobe Illustrator, in quanto può gestire bene l'im- / export di documenti PDF, ma preferirei non dover passare attraverso due passaggi per ogni diagramma.

Ho aggiunto un esempio di come potrebbe apparire alla fine (poiché questo è stato creato principalmente cambiando a mano qualsiasi cosa è dolorosa e qualsiasi cosa che fornisce un'interfaccia per esempio per impostare la larghezza di linea per tutti gli elementi sarebbe piacevole):inserisci qui la descrizione dell'immagine


2
Forse dovresti chiarire le tue esigenze. Nella sua forma attuale, la domanda sta solo attirando un grande elenco di software. Nessuno sta descrivendo in dettaglio quali sono i vantaggi e gli svantaggi dei sistemi. Guardandolo, non mi aiuterebbe a sceglierne uno. Ovviamente tutti i software di calcolo tecnico, MATLAB, Mathematiac, Maple, tutte le soluzioni basate su Python, R, ecc. Hanno molti strumenti per creare grafici. Poi ci sono gli strumenti della GUI come Origin e xmgrace. Qual è la scelta migliore dipende dalle tue esigenze.
Szabolcs,

@Szabolcs: sono d'accordo che la mia domanda è un po 'ampia. Il mio flusso di lavoro non è sempre lo stesso, poiché sto analizzando i dati di diversi esperimenti, quindi ho cercato di mantenere la domanda un po 'più generale.
Alexander

Risposte:


31

Se hai esperienza con Python (o addirittura no), consiglierei di utilizzare il software scientifico Python disponibile ( SciPy , Pandas ), ...) insieme a Matplotlib . Essendo un ambiente di programmazione, hai il pieno controllo dei tuoi flussi di dati, manipolazioni e trame dei dati. Puoi anche utilizzare le "applicazioni complete" Mayavi2 o Veusz .


14
+1 per Matplotlib. Oltre ai punti menzionati, la possibilità di utilizzare LaTeX nei campi di testo offre la "composizione matematica" richiesta.
Barron,

qualche raccomandazione per il chaco del pensiero?
pcr

1
Chaso è fantastico per le trame interattive. Un IMHO animale completamente diverso.
meawoppl

2
E per la prettificazione istantanea di Matplotlib, controlla Seaborn .
Christian Clason,


15

Sulla base di ciò che stai dicendo, un linguaggio di scripting generico è probabilmente la soluzione migliore, purché abbia una sorta di capacità di rappresentazione grafica a cui puoi accedere (sia integrato che importato).

In tal senso, MATLAB funzionerà, anche se dovrai giocare con larghezze di linea, simboli e assi per grafici di qualità presentazione. Dati i tuoi criteri, direi che la grande debolezza di MATLAB è la composizione matematica dettagliata; MATLAB può utilizzare alcune etichette TeX, ma ci sono alcuni comandi LaTeX che non può gestire, quindi ricordo di dover tornare indietro e incollare alcune etichette LaTeX da un PDF in Adobe Illustrator.

Python + NumPy funzionerà per l'importazione dei dati, perché l' numpy.loadtxtimportazione dei dati di testo è indolore. A quel punto, puoi scegliere tra matplotlib e Gnuplot (che ha un'interfaccia Python tramite Gnuplot.py ; nessuno sviluppo attivo sull'interfaccia dal 2008, ma poi, Gnuplot cambia ancora più di tanto, anche se continua ad aggiungere rilasci? ). Anche il wrapper PyAsy di MatthewEmmett potrebbe funzionare, a seconda di cosa ti piacerebbe fare. Matplotlib ha una grande composizione matematica (come notato da Barron), e le manipolazioni dei dati possono essere fatte usando NumPy, SciPy o qualunque altro pacchetto Python che si vuole lanciare sui propri dati.

Il problema che ho avuto con gnuplot da solo è che è davvero costruito solo per la stampa. Non mi era chiaro come manipolare i dati all'interno del linguaggio di scripting di gnuplot. In sostanza ho fatto tutta la mia manipolazione dei dati in anticipo prima di inviarli al testo perché non riuscivo a capire come farlo altrimenti. Puoi usare gnuplot per valutare le formule e fare alcune manipolazioni, ma per me Python ha una sintassi molto più naturale ed è di utilità generale maggiore di gnuplot. Non voglio imparare un'altra lingua solo per fare una cosa a meno che non sia una lingua davvero naturale e facile da imparare. (O a meno che non sia costretto a farlo.)

Tecplot 360 ha un problema simile. Tecplot 360 produce trame sorprendenti, specialmente in 3D. Ci sono cose che puoi fare con Tecplot 360 usando una GUI relativamente facile da imparare che probabilmente saresti difficile fare in un altro pacchetto di stampa. L'ultima volta che ho usato Tecplot è stato 6 o 7 anni fa; a quanto pare, da allora hanno aggiunto molte funzionalità. La manipolazione dei dati può essere eseguita tramite indicizzazione, suddivisione o definizione di zone. Le quantità derivate possono essere calcolate usando equazioni. Puoi anche prendere la trasformata di Fourier dei tuoi dati, eseguire l'interpolazione (o kriging) e fare una serie di altre cose. Non è chiaro come fare la composizione matematica. Immagino che potresti hackerare l'output HTML da Tecplot e aggiungere MathJax o MathML? Gli svantaggi, a mio avviso, per quanto riguarda Tecplot sono che non è gratuito (il che significa che come strumento, potresti non essere in grado di portarlo con te da un lavoro all'altro, la complessa composizione matematica e che lo scripting di manipolazioni complesse dei dati richiede l'apprendimento del linguaggio macro di Tecplot. Il vantaggio principale è che la sua capacità di tracciare in 3D supera matplotlib e MATLAB da un colpo lungo. È possibile eseguire il batch batch dei dati utilizzando il linguaggio macro / scripting di Tecplot e chiamare script Python esterni (con alcune funzionalità limitate). Inoltre, simile a MATLAB, c'è una GUI su cui puoi fare affidamento se non vuoi imparare gli script Tecplot. (La GUI di Tecplot è molto più completa di quella di MATLAB.) Il vantaggio principale è che la sua capacità di tracciare in 3D supera matplotlib e MATLAB da un colpo lungo. È possibile eseguire il batch batch dei dati utilizzando il linguaggio macro / scripting di Tecplot e chiamare script Python esterni (con alcune funzionalità limitate). Inoltre, simile a MATLAB, c'è una GUI su cui puoi fare affidamento se non vuoi imparare gli script Tecplot. (La GUI di Tecplot è molto più completa di quella di MATLAB.) Il vantaggio principale è che la sua capacità di tracciare in 3D supera matplotlib e MATLAB da un colpo lungo. È possibile eseguire il batch batch dei dati utilizzando il linguaggio macro / scripting di Tecplot e chiamare script Python esterni (con alcune funzionalità limitate). Inoltre, simile a MATLAB, c'è una GUI su cui puoi fare affidamento se non vuoi imparare gli script Tecplot. (La GUI di Tecplot è molto più completa di quella di MATLAB.)

Gli strumenti basati su LaTeX come TikZ e PGFPlot non sembrano fatti apposta per il tuo caso d'uso. Il punto debole qui è la manipolazione dei dati; TikZ e PGFPlot sono ottimi strumenti LaTeX. Vorrei sapere come usarli meglio. Dato che sono LaTeX, suppongo che il flusso di lavoro stia tagliando e incollando i dati necessari in LaTeX e stendendolo. È possibile eseguire programmi all'interno di LaTeX, ma non vedo in che modo tale funzionalità ti aiuterebbe necessariamente, dato che, per una presentazione o un documento, il caso d'uso che stai descrivendo suggerisce che probabilmente manterrai il prodotto finito. Forse stai bene con quel flusso di lavoro; entrambi gli strumenti hanno la reputazione di essere ben progettati e di produrre figure di alta qualità.

Infine, Adobe Illustrator è un ottimo strumento per ritoccare le trame, come hai detto tu; le carenze sono, come hai detto, anche mancanza di script o ripetibilità, ma nulla è meglio di un programma di editing grafico se si desidera apportare piccole modifiche.


1
Voglio solo aggiungere un piccolo commento a questa grande risposta. Non è necessario utilizzare il prodotto Adobe. Lo strumento open source inkscape ti darà anche ottimi strumenti per ritoccare le trame. In combinazione con il plugin LaTeX, può fare un ottimo lavoro.
Azrael3000

10

Penso che questa sia una domanda eccellente, che è in prima linea nella mia mente proprio ora. Quando legge la maggior parte delle riviste matematiche, Matlab sembra essere accettabile, ma non misura l'IMHO con alcuni dei bellissimi grafici e diagrammi che appaiono in riviste come PNAS, Nature, PLoS ONE, ecc.

Dopo aver discusso esattamente questo problema nel mio gruppo di ricerca per diverse settimane, non siamo ancora arrivati ​​a una conclusione reale su quale pacchetto sia il migliore. Abbiamo scoperto che la maggior parte dei confronti di software di grafica in documentazione, blog o altre fonti Web sono in gran parte inutili nel determinare quale pacchetto è meglio per un determinato scopo.

Penso che ciò che aiuterebbe davvero l'utente medio che non è un esperto in tutti / molti di questi pacchetti è di avere una piccola serie di esempi molto ben definiti che potrebbero essere usati come "benchmark grafici" di sorta (in un simile senso come benchmark CFD ). Per quanto ne so, attualmente non esiste nulla di simile.

Come minimo, vorrei vedere:

  1. Un grafico a linee 2D ragionevolmente semplice con diversi tipi di linea e punto, legenda, matematica in etichette / titoli, ecc.
  2. Idem per un diagramma di superficie 3D.
  3. Una trama 3D più sofisticata con isosuperfici, piani di taglio e forse alcune altre caratteristiche fantasiose.
  4. Un diagramma 3D di fantasia.

I dati verrebbero forniti per il numero 1-3 e una foto o un diagramma "originale" per il numero 4. Per ogni esempio, verrebbero inviati codice (input) e immagini (output). Ciò consentirebbe al lettore di giudicare più facilmente quale pacchetto è giusto per loro, sia in termini di qualità dell'immagine che di complessità del codice.

Il mio piano è di fare qualcosa del genere nel mio gruppo nei prossimi mesi per # 1, 2, 4 e un piccolo numero di pacchetti tra cui Matlab, pgf / TikZ, python / scipy. Se c'è interesse, potrei pubblicarlo pubblicamente.

Così, mentre questa non è una risposta alla domanda originariamente postato ancora (e mi scuso per questo) potrebbe essere una risposta in tempo diversi mesi.


Un benchmark così suggerito è una buona idea. Tutti i modi suggeriti per raggiungere il diagramma finale sono difficili da confrontare se non si parte da un determinato set di dati e requisiti. Inoltre, vedere il codice in diverse lingue / pacchetti ti consente di confrontare quale è più adatto alle tue esigenze. Soprattutto con TikZ ho l'impressione che tu possa riprodurre quasi tutto ma che potrebbe essere necessario un vero esperto per farlo.
Alexander

Penso che il benchmark sia una buona idea; Suggerirei per i tuoi grafici 2D di replicare alcuni dei grafici nella galleria Matplotlib . Il codice di esempio è già fornito per ogni esempio. Per esempi 3D, Mayavi ha una galleria simile nella sua documentazione e un bell'esempio di tutorial 3D . Può anche essere utile replicare alcuni di questi grafici 3D in altri pacchetti.
Geoff Oxberry,

Cosa stai usando adesso, qualche mese dopo? Eventuali commenti sulla creazione di grafici tramite l'hacking (armeggiare con opzioni di trama in una finestra di testo, trama, ciclo ...) e / o in modo interattivo?
denis,

8

LATEX


+1 e per trame veloci prova qtiplot che è un bel clone di origine e può anche adattarsi alla curva. anche per i layout finali xfig è davvero bello (ma difficile) e può incorporare formule di lattice direttamente con un po 'di hacking nei dettagli ...
Karussell

8

Un altro pacchetto software da considerare è Asymptote . Asymptote è in realtà un linguaggio di programmazione (con una sintassi simile al C ++) che produce output basato su vettori. Una caratteristica interessante è che il testo è reso con LaTeX (comprese le equazioni matematiche), quindi il testo nelle tue figure è coerente con il tuo documento.

Ho scritto un wrapper Python per Asymptote chiamato PyAsy in modo da poter passare le matrici NumPy al motore Asymptote e fare alcune trame di base. È abbastanza approssimativo e non completo, ma potrebbe essere utile.

Ad ogni modo, la qualità di output di Asymptote è davvero buona.

Modifica: oltre a quanto sopra, ho trovato Fabric molto utile per l'avvio di lavori remoti, la sincronizzazione di directory e la costruzione di file binari, il recupero di dati di esecuzione e / o il lancio di script di analisi remota. È una libreria Python abbastanza leggera che rende l'esecuzione dei comandi remoti un po 'più semplice (e gestibile tramite script).


8

Consentitemi di scrivere una breve recensione della funzionalità grafica di Mathematica, poiché è ciò che mi è familiare.

Cosa può fare?

Per vedere alcuni esempi, controlla la galleria di codici Mathematica sul sito Wolfram. Non riguarda specificamente la visualizzazione, ma quasi tutti gli esempi includono alcuni grafici.

Puoi anche sfogliare i tag di stampa (base) e grafici (più avanzati) di Mathematica.SE

È possibile creare l'immagine di esempio in modo completamente automatico (non è necessario il postprocessing manuale).

Punti di forza

  • Tutta la grafica è specificata in modo dichiarativo (come SVG --- non si dice al sistema di disegnare qualcosa, basta elencare gli oggetti grafici vettoriali). La grafica è lo stesso tipo di espressioni Mathematica di qualsiasi altra cosa nel sistema, sono semplicemente visualizzate in un modo speciale. Ciò significa che la grafica può essere facilmente trasformata ed elaborata dopo che sono state create --- questo vale anche per la grafica creata dalle funzioni di stampa.

  • Il modo rapido e semplice per creare elementi grafici è utilizzare le funzioni di stampa di alto livello e impostare molte opzioni per personalizzare il loro output. Se non esiste alcuna funzione per la trama precisa di cui hai bisogno, puoi assemblare la grafica da primitive grafiche (che è anche abbastanza facile ).

  • La funzionalità di tracciamento delle funzioni matematiche è eccellente. per quanto ne so è leader della classe. I campioni di Mathematica funzionano in modo adattivo (sia in 2D che in 3D), in modo che un diagramma uniforme possa essere generato rapidamente e automaticamente. Singolarità, discontinuità, ecc. Vengono rilevate simbolicamente tracciando funzioni.

  • È possibile produrre figure per una dimensione di stampa specifica e assicurarsi che si adattino bene al testo circostante in una pubblicazione (ad esempio, la dimensione del carattere e gli stili corrispondono). In 2D, ci sono due tipi di coordinate: coordinate del grafico che corrispondono ai tuoi dati e coordinate assolute specificate nei punti della stampante. Il primo si ridimensiona quando si ridimensiona la grafica, il secondo no. Il testo utilizza le coordinate assolute per impostazione predefinita, il che significa che il tipo a 8 punti sarà 8 punti indipendentemente dal fatto che la stessa figura sia esportata a 7 cm o 14 cm. Ciò consente di avere dimensioni dei caratteri coerenti con il testo nella pubblicazione.

  • Composizione tipografica integrata per formule matematiche. Il pacchetto di terze parti MaTeX fornisce l'integrazione LaTeX per una composizione di formule di qualità eccellente. (Divulgazione: sono l'autore.)

  • Puoi eseguire tutte le elaborazioni dei dati nello stesso sistema. In generale, con un po 'di lavoro, l'intero processo di creazione delle figure può essere automatizzato (anche alcuni aspetti avanzati ), evitando la necessità di post-elaborazione manuale in software come Adobe Illustrator. Questo è importante quando all'ultimo minuto scopri qualche piccolo problema e devi rigenerare la cifra.

Punti di debolezza

  • Avere figure con diverse sottotrame e avere un preciso allineamento tra i sistemi di coordinate delle sottotrame può essere difficile.

    Il pacchetto SciDraw (di terze parti) risolve questo problema e offre un controllo dettagliato su ogni aspetto della figura. Il compromesso di questo pacchetto è che ci vuole più sforzo per creare cifre.

  • La grafica 3D non viene esportata bene in formati vettoriali. L'esportazione di una versione bitmap va bene però.

  • Se il tuo istituto non ha già una licenza, costa denaro.



5

Scavare più a fondo nei grafici PGF:

1) sa fare diagrammi 3d: python-matplotlib non può farli, gnuplot è brutto in confronto

2) ha caratteri coerenti per dimensioni e famiglia con il documento di base)

3) può essere modellato per specifici colori

Non c'è nient'altro come questo sul mercato. :)


1
matplotlib ha un'utilità grafica 3D. È un po 'debole, ma sicuramente funziona bene per una visualizzazione rapida.
meawoppl

Sicuramente +1. Quando si tratta di grafici sulla qualità delle pubblicazioni, nulla può battere. Spina senza vergogna: una domanda e le mie risposte su pgfplots su TeX.sx: tex.stackexchange.com/search?q=user:9043+[pgfplots] . Vedi anche texample.net/tikz/examples/pgfplots per un esempio e il manuale molto completo .
qubyte il

Con i grafici PGF ho solo il problema che non puoi supporre che gli editori lo supportino. Cosa faresti se il tuo flusso di lavoro dipende da questo? Una volta ho finito per prima cosa digitando le cifre e poi includendo l'output risultante nel file principale che non dipendeva più dai grafici PGF che non era davvero conveniente. C'è un modo più intelligente?
Christian Waluga,

1
@ChristianWaluga: puoi usare la classe "standalone" - questo ti permette di creare immagini PDF / EPS usando l'immagine PGF che hai già preparato per l'articolo. Quindi è possibile inserire il PDF nel testo originale dell'articolo con includegraphics.
Tmaric,

4

Trovo che Tecplot sia piuttosto potente quando si tratta di visualizzazione e manipolazione dei dati.


4
Che dire di Tecplot lo rende molto potente? Quali caratteristiche trovi particolarmente utili?
Paolo

4

Proverò a darti la mia opinione sulla mia esperienza limitata, che copre solo alcuni tipi di grafici: grafici di dati 2D, diagrammi a dispersione e diagrammi basati su grafici (alberi e grafici, diagrammi di flusso); ma prima permettimi di deviare dalla domanda per un po ':

In primo luogo, vorrei dire che l'importanza di produrre trame di alta qualità viene spesso trascurata. I grafici non sono solo per la visualizzazione dei dati, ma se usati in modo efficace possono comunicare idee complesse che spesso non possono essere espresse chiaramente nel testo. Mi sembra che questo non sia il luogo adatto per discutere di ciò che costituisce, i benefici e gli svantaggi di una buona trama, ma se interessati guardare qui .

In secondo luogo, mi sono pentito più spesso di usare una trama a metà cottura piuttosto che passare del tempo su una trama di alta qualità. Il motivo è che una brutta trama può mentire a te, ad esempio, se si utilizza una trama a metà cottura per dare una rapida occhiata a dati che potresti non aver correttamente normalizzato, o usando trame non così buone per fare confronti visivi (l'occhio può spesso essere molto indulgente o molto fuorviante). Quindi consiglierei sempre di preparare grafici come se fossero mostrati a una persona che non ha familiarità con i risultati. Questo può farti risparmiare tempo e migliorare il tuo lavoro. Inoltre, hai l'ulteriore vantaggio che il materiale di presentazione sarà pronto per la prossima presentazione / seminario / documento.

Ora per rispondere alla domanda ,

Nella mia esperienza, è sempre meglio separare l'elaborazione dei dati dall'attuale strumento di stampa e dagli strumenti di manipolazione delle immagini. Per l'elaborazione dei dati uso python in quanto è molto flessibile e non ho trovato un formato di file che non possa essere facilmente gestito tramite python. Inoltre, le librerie intorpidite e scipy possono essere potenti strumenti di manipolazione per dati numerici.

All'interno di Python non ho visto uno strumento di disegno che ti dia il controllo su tutti i dettagli di formattazione. Ho scoperto che sono i dettagli che fanno una grande differenza quando si tenta di integrare le immagini durante la formattazione di un foglio in lattice. Ad esempio, il controllo dello spazio bianco e delle proporzioni di trame circolari può essere un mal di testa con matplotlib (non impossibile ma non vale la mia pena), questo è molto importante se si dispone di spazio limitato, come spesso accade in journal e conferenze carte.

Nella mia esperienza, ho scoperto che GNUPLOT è lo strumento migliore per formattare e produrre grafici 2D e grafici a dispersione. Ti dà molto il controllo su tutti i dettagli della tua trama. E puoi produrre grafici di alta qualità (immagini vettoriali) in bianco e nero oa colori. L'alto livello di controllo rende GNUPLOT un po 'più difficile da imparare, e talvolta le cose semplici possono richiedere un po' di lavoro, ma se si parte da un esempio può semplificare le cose. Di solito guardo questi due siti per l'ispirazione, vedere il sito non così FAQ o le demo ufficiali qui .

A volte, i grafici prodotti da GNUPLOT possono essere piuttosto grandi (nel range di MB) e il diario potrebbe rifiutare i file (questo è successo a me con alcuni grafici a colori molto colorati). Ho usato e raccomando Imagemagick , uno strumento da riga di comando che ti consente di convertire, modificare e comprimere le immagini (l'ho usato per generare e modificare jpeg di alta qualità riducendo significativamente le dimensioni del file). Ho provato altri strumenti che utilizzavano la compressione automatica dei dati, questo si è rivelato particolarmente problematico a causa del delicato equilibrio tra artefatti e compressione.

Ho anche prodotto una buona dose di diagrammi (spesso per presentazioni). Ho scoperto che se ho intenzione di utilizzare un diagramma una sola volta (non un documento), l'applicazione Keynote (OSX) e il salvataggio in pdf è abbastanza buono. Tuttavia, quando un'immagine viene utilizzata più volte, la qualità della presentazione è più importante e TikZ è il mio strumento preferito. Trovo che TikZ sia un po 'difficile da usare, ma se inizi da un esempio è molto più semplice.

Infine, eseguo la maggior parte del mio lavoro dalla riga di comando in modo da integrare diversi strumenti che utilizzo con bash o python.


3

Il mio voto veloce è per QtiPlot.

Anche se non è perfetto, fornisce la migliore combinazione di semplicità della GUI, insieme allo scripting Python, quindi quello che stai davvero facendo è "Qtiplot / Python / (Illustrator o Inkscape)". Qtiplot è estensibile, quindi è possibile creare script / macro personalizzati in grado di eseguire comandi Python per aprire ed elaborare i dati e quindi scaricarli in una tabella. È quindi possibile tracciarli manualmente o automaticamente. È anche possibile configurarlo per funzionare con la composizione tipografica LaTeX con un compositore disponibile in Internet o un compositore locale, in modo da poter inserire formule matematiche nei titoli / assi / marcature della trama.

I grafici possono quindi essere esportati in qualsiasi formato desiderato, ma il formato che funziona meglio è senza dubbio SVG. Se lo desideri, i file SVG possono essere ritoccati in inkscape, che ha anche capacità di composizione LaTeX.

Mentre MatPlotLib è eccezionale, il suo più grande svantaggio è quello di scrivere a mano assolutamente tutto (proprio come qualsiasi soluzione di tracciamento di scripting). QtiPlot è eccezionale perché è possibile eseguire lo script / automatizzare l'elaborazione e la stampa dei dati con una grande funzionalità di Python, quindi passare un diagramma approssimativo a una gui che ti permetterà di modificarlo a mano e fare tutti i tipi di gui tagliando / incollando / manipolando che è molto più veloce caso per caso per l'analisi dei dati. Puoi anche impostare le dimensioni con precisione con lo scripting e anche manipolare le dimensioni con la GUI, cosa che non puoi fare con matplotlib.

Suppongo che dipenda da come ti senti riguardo alle soluzioni di stampa QtiPlot. L'ho trovato molto capace, ma è tutta una curva di apprendimento piuttosto ripida.


3

Sono sorpreso che nessuno abbia ancora menzionato gli eccellenti strumenti di Nico Schlömer matlab2tikz e matplotlib2tikz . Se si utilizza LaTeX per la preparazione dei documenti e Matlab o Python per l'elaborazione dei dati, è possibile ottenere facilmente grafici vettoriali di alta qualità che è possibile inviare al contenuto del proprio cuore:

  1. Prepara i tuoi grafici in Matlab o Python, inclusi assi, etichette, legende, ecc. Non preoccuparti della formattazione TeX.
  2. Chiama matlab2tikz('figure.tex')(o matplotlib2tikz).
  3. Modifica figure.texa piacere (sostituisci il testo dell'etichetta con la matematica corretta, cambia i colori, la larghezza della linea, il posizionamento della legenda, lo stile degli assi, ecc.), Consulta il manuale di pgfplots (o le molte domande su pgfplots nello stackexchange di TeX).
  4. Nella tua figura, invece di includegraphics, inserisci \input{figure.tex}(e non dimenticare di includere \usepackage{pgfplots}nel preambolo).
  5. Per l'invio, utilizzare la libreria di esternalizzazione (vedere il capitolo 7 del manuale) per inserire la figura in un pdf e sostituirla semplicemente \input{figure.tex}con \includegraphics{figure.pdf}.

2

Se non stai cercando script, dai un'occhiata a MagicPlot. Non è così ricco di funzionalità come Origin (ad esempio può produrre solo grafici 2D) ma non ho mai avuto problemi con la larghezza della linea e altre proprietà. Le trame sono piuttosto anti-alias, sebbene il redrawing sia abbastanza veloce. Più utile raccordo.


0

Tecplot 360 è ottimo per l'elaborazione di dati di grandi dimensioni e la produzione di grafici di qualità di pubblicazione. Ha potenti interfacce add-on e di scripting per elaborare i dati. Mi sembra che faccia tutto il necessario per la post-elaborazione.

Un errore comune è ricorrere all'uso di Excel. No. Non ricorda layout, intervallo X, mappa colori. Non si anima. Utilizza brutti fogli di calcolo ingombranti per lavorare con i dati.

Naturalmente non troverai uno strumento che esegua sia la post-elaborazione che la modifica del testo e scegliere un editor di testo ragionevole per le tue pubblicazioni è un'altra domanda importante. Non usare MS Word, il suo gestore delle citazioni è brutto. Uso LyX o qualsiasi altro strumento Latex disponibile per il sistema operativo che sto usando.

Oh, e quando devi pubblicare PDF, includi un link a LaTeX, Word o qualunque formato con matematica leggibile. In PDF, non lo è.

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.