gute (kostenlose) Software zur Erstellung publizierbarer Bilder?


11

Ich produziere gerade 1d- und 2d-Bilder mit Matlab, um die Genauigkeit mit einem bestimmten Modell zu vergleichen. Ich muss meine Methoden mit dem Standard-Gaußschen .wfn-Modell vergleichen und werde dazu die Dichte eines Moleküls sowie des Laplace-Modells analysieren.

Ich bin daran interessiert, 2D-Bilder von Unterschieden in meiner Annäherung an die .wfn-Näherung (möglicherweise über eine Konturkarte?) Zu erzeugen, und ich interessiere mich auch für Eigenschaften (Dichte, Laplace usw.) entlang des Bindungspfades und der direkten Linie zwischen zwei Atomen.

Wie bereits erwähnt, verwende ich derzeit Matlab, um meine Bilder zu erstellen, obwohl diese Bilder hauptsächlich für mich und meine Mitarbeiter bestimmt sind. Sie scheinen nicht die Arten von Bildern zu sein, die ich oft in Zeitungen und anderen Veröffentlichungen sehe.

Welche Art von Software sollte ich verwenden (oder verwenden andere), um Grafiken und Bilder in Publikationsqualität zu erstellen?


In wissenschaftlichen Veröffentlichungen ist die Kohärenz des Stils normalerweise wichtig: z. B. sollte die Beschriftung der Grafiken dieselbe Schriftart und dasselbe Format wie im Haupttext haben. Um gezieltere Antworten zu erhalten, sollten Sie auch angeben, welches Dokumentvorbereitungssystem ( , L.TEX , ein generisches Textverarbeitungssystem), das Sie verwenden werden. LATEX
Stefano M

Antworten:


14

Ich persönlich bin den Weg von Gnuplot nach Matplotlib gekommen mit PGFPlots als Zwischenschritt gekommen .

Ich werde versuchen, alle Aspekte von Matplotlib zu benennen, die mir gefallen.

  • Es ist sehr vielseitig. Sie sind nicht auf Linien- oder Streudiagramme beschränkt, sondern können problemlos Balkendiagramme, Bilder (Matrixvisualisierung!), Grundlegende 3D-Diagramme und sogar einige Animationen erstellen.

  • Sie können Matplotlib als GUI für Ihre Python-Anwendungen verwenden.

  • LaTeX wird unterstützt.
  • Es unterstützt viele Ausgabeformate (versuchen Sie, mit Gnuplot schmerzfreie PDF-Dateien zu erhalten).
  • Die Anwenderbasis von Matplotlib ist breit. Sie bekommen ziemlich viel Hilfe im Internet.
  • Es ist ziemlich leicht zu lernen.
  • Als Python-Bibliothek haben Sie die Leistungsfähigkeit von Python zur Hand (was bedeutet, dass Sie beispielsweise problemlos Text- oder HDF5-Daten laden oder mithilfe von Wrappern wie Cython / f2py Binärdaten laden können, die von in C / Fortan geschriebenen kompilierten Programmen geschrieben wurden). .

Ich habe jedoch immer Figuren geliebt, die sich nahtlos in LaTeX-Dokumente integrieren lassen. Hier zeichnen sich PGFPlots grundsätzlich aus. Es ist jedoch langsam und (im Vergleich zu Matplotlib) begrenzt.

Deshalb bevorzuge ich eine neue Lösung: das (experimentelle) PGF-Backend für Matplotlib. Auf diese Weise werden die Diagramme selbst von Matplotlib erstellt, während die Achse und die Beschriftungen von PGFPlots erstellt und schließlich von LaTeX gezeichnet werden. Sie können dies entweder für die PDF-Ausgabe ohne eingebettetes LaTeX-Dokument oder für die PGF-Ausgabe verwenden, die Sie in Ihr LaTeX-Dokument aufnehmen können.

Ich habe das Gefühl, dass die oben beschriebene Lösung (vorerst) die Lösung für meine Anwendungsfälle ist.


matplotlib kann gemacht werden, um einige schöne Handlungen zu machen. Siehe matplotlib.org/gallery.html
meawoppl

7

Ich benutze oft Matlab und speichere dann das Ergebnis als epsDatei über print -depsc2 -f1 fig. Dadurch wird Abbildung 1 als epsDatei mit dem Namen gespeichert fig.eps. Es gibt auch das Plot2Svg von matlab file exchange, das als gespeichert werden kann svg. Dies ist sehr schön, da Sie die Dateien dann in einer Inkscapeanderen Vektorgrafiksoftware öffnen und bearbeiten können.

Wenn Sie bereit sind, neue Werkzeuge zu erlernen, gibt es auch matplotlib , ein Python-Paket. Ich habe es nicht persönlich benutzt, aber viele Freunde von mir benutzen es und neigen dazu, wirklich schöne Grafiken zu erstellen. Sie können ihre Galerie überprüfen.

Wenn Sie bereit sind, für die Software zu bezahlen, können Sie TecPlot verwenden, aber das kostet Sie einen Arm und ein Bein!


1
Verwenden Sie Visit oder ParaView, bevor Sie TecPlot verwenden. Sie sind genauso mächtig und frei. Sie können auch Visualisierungen von sehr hoher Qualität erstellen.
Wolfgang Bangerth

@ Wolfgang - Nach meiner Erfahrung ist TecPlot besser. Sie können das Vektorformat speichern (Paraview nicht) und viel schönere Vektordiagramme erstellen.
Akid

@akid: Ich muss zugeben, dass ich ParaView nicht sehr gut kenne. Ich benutze Visit, das sehr schöne Vektordiagramme erzeugt. Ich weiß jedoch nichts über Vektorformate. Es können jedoch Diagramme in hoher Auflösung gespeichert werden.
Wolfgang Bangerth

7

Wenn Sie bereit sind, die Lernkurve von Gnuplot zu überwinden , können Sie damit Zahlen von höchster Qualität generieren (wie in http://www.gnuplotting.org/ dargestellt). ). Insbesondere würde ich die Verwendung des epslatex-Terminals empfehlen, da Sie mit LaTeX den gesamten Text in der Abbildung rendern können (einschließlich aller mathematischen Notationen, die Sie möglicherweise eingeben möchten).

Wenn Sie sich an MATLAB halten möchten, können Sie matlab2tikz ausprobieren . Dies ist ein Skript, das MATLAB-Figuren in Tikz-Illustrationen konvertiert .


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.