Welche Software bietet einen guten Workflow vom einfachen Zeichnen einiger Datenpunkte bis zur Erstellung von Grafiken auf Veröffentlichungsebene mit detaillierten Stilen, mathematischem Schriftsatz und "professioneller Qualität"?
Dies hängt ein wenig mit der Frage von David zusammen ( Welche Attribute machen eine Figur von professioneller Qualität aus? ), Aber der Fokus liegt nicht auf den Attributen, sondern auf der Software oder dem allgemeinen Workflow, um dahin zu gelangen. Ich habe oberflächliche Erfahrungen mit einer Reihe von Programmen, Gnuplot, Origin, Matplotlib, TikZ / PGFplot, Qtiplot, aber es scheint ziemlich schwierig, Datenanalysen und nette Zahlen gleichzeitig durchzuführen.
Gibt es eine Software, die dies ermöglicht, oder sollte ich mich nur in eines der Pakete vertiefen?
Bearbeiten: Mein aktueller Workflow ist eine Mischung aus verschiedenen Komponenten, die mehr oder weniger zusammenarbeiten, aber insgesamt nicht wirklich effizient sind. Ich denke, das ist typisch für eine Reihe von Wissenschaftlern in einem Universitätslabor. Typischerweise ist es eine Kette, die vom Experiment bis zur Veröffentlichung wie folgt beginnt:
- Experimentelle Daten abrufen (normalerweise in ASCII-Form, aber mit unterschiedlichem Layout, z. B. Überschriften, Kommentare, Spaltenanzahl)
- Schnelles Plotten der Daten, um zu überprüfen, ob in Origin, Gnuplot oder dem vor 20 Jahren erstellten Arcane-Plot-Programm nichts schief gelaufen ist.
- Detailliertere Analyse der Daten: Subtraktion der Hintergrundbeiträge, Analyse der Abhängigkeiten und Korrelationen, Anpassung an theoretische Modelle. Viele Wissenschaftler verwenden Origin für diese Aufgabe, einige verwenden Matlab und Python / Scipy / Numpy zunehmend.
- Das Erstellen professioneller Zahlen umfasst das Anpassen an Journalrichtlinien, den mathematischen Satz und die allgemeine Bearbeitung. Im Moment benutze ich Origin dafür, aber es hat einige Nachteile (versuchen Sie einfach, eine Linienbreite von genau 0,5pt zu erhalten, es ist nicht möglich). Zum Kombinieren / Polieren von Figuren verwende ich hauptsächlich Adobe Illustrator, da es sich gut um das Im- / Exportieren von PDF-Dokumenten handelt, aber ich würde es vorziehen, nicht für jedes Diagramm zwei Schritte durchlaufen zu müssen.
Ich habe ein Beispiel hinzugefügt, wie es am Ende aussehen könnte (da dies größtenteils von Hand erstellt wurde, ist das Ändern von Elementen schmerzhaft, und alles, das eine Schnittstelle zum Beispiel zum Festlegen der Linienbreite für alle Elemente bietet, wäre schön):
quelle
Antworten:
Wenn Sie Erfahrung mit Python haben (oder auch nicht), würde ich empfehlen, die verfügbare wissenschaftliche Python-Software ( SciPy , Pandas , ...) zusammen mit Matplotlib zu verwenden . Als Programmierumgebung haben Sie die volle Kontrolle über Ihre Datenflüsse, Datenmanipulationen und das Plotten. Sie können auch die "Vollanwendungen" Mayavi2 oder Veusz verwenden .
quelle
Basierend auf dem, was Sie sagen, ist eine Allzweck-Skriptsprache wahrscheinlich die beste Wahl, solange sie über eine Art Grafikfunktion verfügt, auf die Sie zugreifen können (ob integriert oder importiert).
In diesem Sinne wird MATLAB funktionieren, obwohl Sie für Darstellungen in Präsentationsqualität mit Linienbreiten, Symbolen und Achsen spielen müssen. Anhand Ihrer Kriterien würde ich sagen, dass die große Schwäche von MATLAB im detaillierten mathematischen Schriftsatz liegt. MATLAB kann einige TeX-Beschriftungen verwenden, es gibt jedoch einige LaTeX-Befehle, die nicht verarbeitet werden können. Daher muss ich einige LaTeX-Beschriftungen aus einer PDF-Datei in Adobe Illustrator ausschneiden und einfügen.
Python + NumPy funktioniert für Datenimporte, da
numpy.loadtxt
das Importieren von Textdaten schmerzlos ist. An diesem Punkt können Sie zwischen matplotlib und Gnuplot wählen (das über Gnuplot.py eine Python-Oberfläche verfügt ; seit 2008 keine aktive Entwicklung auf der Oberfläche mehr, aber ändert Gnuplot all das noch, obwohl es immer neue Releases hinzufügt? ). Der PyAsy-Wrapper von MatthewEmmett könnte auch funktionieren, je nachdem, was Sie tun möchten. Matplotlib bietet einen hervorragenden mathematischen Schriftsatz (wie von Barron angegeben), und Datenmanipulationen können mit NumPy, SciPy oder einem anderen Python-Paket durchgeführt werden, das Sie auf Ihre Daten anwenden möchten.Das Problem, das ich mit gnuplot alleine hatte, ist, dass es wirklich nur zum Plotten gedacht ist. Mir war nicht klar, wie man Daten in der Gnuplot-Skriptsprache manipuliert. Ich habe im Wesentlichen alle meine Daten im Voraus bearbeitet, bevor ich sie als Text ausgab, da ich nicht herausfinden konnte, wie ich es anders machen soll. Sie können gnuplot verwenden, um Formeln auszuwerten und einige Manipulationen durchzuführen, aber für mich hat Python eine viel natürlichere Syntax und ist allgemeiner von größerem Nutzen als gnuplot. Ich möchte nicht eine andere Sprache lernen müssen, nur um eine Sache zu tun, es sei denn, es ist eine wirklich natürliche, leicht zu erlernende Sprache. (Oder es sei denn, ich bin dazu gezwungen.)
Tecplot 360 hat ein ähnliches Problem. Tecplot 360 erzeugt erstaunliche Diagramme, insbesondere in 3D. Es gibt Dinge, die Sie mit Tecplot 360 über eine relativ einfach zu erlernende Benutzeroberfläche tun können, die Sie in einem anderen Plot-Paket wahrscheinlich nur schwer tun können. Das letzte Mal, dass ich Tecplot verwendete, war vor 6 oder 7 Jahren; Anscheinend haben sie seitdem eine Menge Funktionen hinzugefügt. Die Datenbearbeitung kann durch Indizieren, Schneiden oder Einrichten von Zonen erfolgen. Abgeleitete Größen können mit Gleichungen berechnet werden. Sie können auch die Fourier-Transformation Ihrer Daten durchführen, eine Interpolation (oder ein Kriging) durchführen und eine Reihe anderer Dinge tun. Es ist nicht klar, wie man mathematischen Schriftsatz macht. Ich vermute, Sie könnten die HTML-Ausgabe von Tecplot hacken und MathJax oder MathML hinzufügen? Die Nachteile in Bezug auf Tecplot sind meines Erachtens, dass es nicht kostenlos ist (was bedeutet, dass Sie sind möglicherweise nicht in der Lage, es von Job zu Job mitzunehmen), den zweifelhaften mathematischen Schriftsatz und die Notwendigkeit, die Makrosprache von Tecplot zu lernen, um komplexe Datenmanipulationen per Skript durchzuführen. Der Hauptvorteil ist, dass seine 3D-Plotfähigkeit Matplotlib und MATLAB um ein Vielfaches übertrifft. Es ist möglich, Daten mit der Makro- / Skriptsprache von Tecplot im Stapel zu zeichnen und externe Python-Skripts (mit einigen eingeschränkten Funktionen) aufzurufen. Ähnlich wie in MATLAB gibt es auch eine GUI, auf die Sie zurückgreifen können, wenn Sie Tecplot-Skripte nicht erlernen möchten. (Die Benutzeroberfläche von Tecplot ist wesentlich umfangreicher als die von MATLAB.) Der Hauptvorteil ist, dass seine 3D-Plotfähigkeit Matplotlib und MATLAB um ein Vielfaches übertrifft. Es ist möglich, Daten mit der Makro- / Skriptsprache von Tecplot im Stapel zu zeichnen und externe Python-Skripts (mit einigen eingeschränkten Funktionen) aufzurufen. Ähnlich wie in MATLAB gibt es auch eine GUI, auf die Sie zurückgreifen können, wenn Sie Tecplot-Skripte nicht erlernen möchten. (Die Benutzeroberfläche von Tecplot ist wesentlich umfangreicher als die von MATLAB.) Der Hauptvorteil ist, dass seine 3D-Plotfähigkeit Matplotlib und MATLAB um ein Vielfaches übertrifft. Es ist möglich, Daten mit der Makro- / Skriptsprache von Tecplot im Stapel zu zeichnen und externe Python-Skripts (mit einigen eingeschränkten Funktionen) aufzurufen. Ähnlich wie in MATLAB gibt es auch eine GUI, auf die Sie zurückgreifen können, wenn Sie Tecplot-Skripte nicht erlernen möchten. (Die Benutzeroberfläche von Tecplot ist wesentlich umfangreicher als die von MATLAB.)
LaTeX-basierte Tools wie TikZ und PGFPlots scheinen nicht für Ihren Anwendungsfall geeignet zu sein. Der Schwachpunkt hier ist die Datenmanipulation; TikZ und PGFPlots sind großartige LaTeX-Tools. Ich wünschte, ich könnte sie besser gebrauchen. Da es sich um LaTeX handelt, schätze ich, dass der Workflow die erforderlichen Daten ausschneidet und in LaTeX einfügt und diese plottet. Es ist möglich, Programme innerhalb von LaTeX auszuführen, aber ich verstehe nicht, wie diese Funktion Ihnen unbedingt weiterhelfen würde, da der von Ihnen beschriebene Anwendungsfall für eine Präsentation oder ein Dokument nahelegt, dass Sie wahrscheinlich nur das Programm behalten werden fertiges Produkt. Vielleicht sind Sie mit diesem Workflow einverstanden. Beide Werkzeuge haben den Ruf, ausgereift zu sein und qualitativ hochwertige Figuren zu produzieren.
Schließlich ist Adobe Illustrator ein gutes Werkzeug zum Ausbessern von Plots, wie Sie bereits sagten. Die Mängel sind auch, wie Sie sagten, mangelnde Skriptfähigkeit oder Wiederholbarkeit, aber nichts ist besser als ein Grafikbearbeitungsprogramm, wenn Sie kleine Optimierungen vornehmen möchten.
quelle
Ich denke, dies ist eine ausgezeichnete Frage, die mir derzeit am Herzen liegt. Wenn Matlab die meisten mathematischen Zeitschriften liest, scheint es akzeptabel zu sein, aber es entspricht meiner Meinung nach nicht den schönen Darstellungen und Diagrammen, die in Zeitschriften wie PNAS, Nature, PLoS ONE usw. erscheinen.
Nach einer mehrwöchigen Diskussion in meiner Arbeitsgruppe über genau dieses Thema sind wir immer noch zu keinem wirklichen Schluss gekommen, welches Paket das beste ist. Wir haben festgestellt, dass die meisten Vergleiche von Grafiksoftware in Dokumentationen, Blogs oder anderen Webquellen weitgehend nutzlos sind, um festzustellen, welches Paket für einen bestimmten Zweck am besten geeignet ist.
Ich denke, was einem durchschnittlichen Benutzer, der kein Experte für alle / viele dieser Pakete ist, wirklich helfen würde, ist eine kleine Menge sehr gut definierter Beispiele, die als "grafischer Maßstab" (in ähnlicher Form) verwendet werden könnten Sinn als CFD-Benchmark ). Soweit ich weiß, gibt es derzeit nichts Vergleichbares.
Zumindest würde ich sehen wollen:
Daten würden für # 1-3 und ein Foto oder "Original" -Diagramm für # 4 bereitgestellt. Für jedes Beispiel werden Code (Eingabe) und Bilder (Ausgabe) veröffentlicht. Auf diese Weise kann der Leser leichter beurteilen, welches Paket für ihn geeignet ist, sowohl in Bezug auf die Bildqualität als auch auf die Komplexität des Codes.
Mein Plan ist, in den kommenden Monaten so etwas in meiner Gruppe für # 1, 2, 4 und eine kleine Anzahl von Paketen zu machen, einschließlich Matlab, pgf / TikZ, python / scipy. Bei Interesse könnte ich dies öffentlich posten.
Obwohl dies noch keine Antwort auf die ursprünglich gestellte Frage ist (und ich entschuldige mich dafür), könnte dies in einigen Monaten eine Antwort sein.
quelle
Ich benutze in der Regel Gnuplot . Es kann schwer zu erlernen sein, erzeugt aber sehr saubere Handlungen. Es kann auch so eingestellt werden, dass Plots im gekapselten Postscript-Format (.eps) erstellt werden, was das einfache Einbetten in in geschriebene Dokumente ermöglichtLEINTEX
quelle
Ein weiteres zu berücksichtigendes Softwarepaket ist Asymptote . Asymptote ist eigentlich eine Programmiersprache (mit einer C ++ ähnlichen Syntax), die eine vektorbasierte Ausgabe erzeugt. Eine nette Funktion ist, dass Text mit LaTeX (einschließlich mathematischer Gleichungen) gerendert wird, sodass der Text in Ihren Abbildungen mit Ihrem Dokument übereinstimmt.
Ich habe einen Python-Wrapper namens PyAsy für Asymptote geschrieben, damit ich NumPy-Arrays an die Asymptote-Engine übergeben und einige grundlegende Plots ausführen kann. Es ist ziemlich rau und nicht vollständig, aber es könnte hilfreich sein.
Wie auch immer, die Ausgabequalität von Asymptote ist wirklich gut.
Bearbeiten: Darüber hinaus fand ich Fabric sehr hilfreich für das Starten von Remote-Jobs, das Synchronisieren von Verzeichnissen und das Erstellen von Binärdateien, das Abrufen von Ausführungsdaten und / oder das Starten von Remote-Analyseskripten. Es handelt sich um eine relativ kompakte Python-Bibliothek, die das Ausführen von Remote-Befehlen ein wenig vereinfacht (und skriptfähig macht).
quelle
Lassen Sie mich einen kurzen Überblick über die Grafikfunktionen von Mathematica geben, da ich damit vertraut bin.
Was kann ich tun?
Ein Beispiel finden Sie in der Mathematica-Codegalerie auf der Wolfram-Site. Es geht nicht speziell um Visualisierung, aber fast alle Beispiele enthalten ein Plotten.
Sie können auch die Plot- (Basic) und Grafik- Tags (Advanced) von Mathematica.SE durchsuchen
Es ist möglich, Ihr Beispielbild vollautomatisch zu erstellen (keine manuelle Nachbearbeitung erforderlich).
Stärken
Alle Grafiken werden deklarativ angegeben (wie SVG - Sie fordern das System nicht auf , etwas zu zeichnen , sondern listen nur die Vektorgrafiken auf). Grafiken sind die gleichen Mathematica-Ausdrücke wie alle anderen im System, sie werden nur auf besondere Weise angezeigt. Dies bedeutet, dass Grafiken nach ihrer Erstellung einfach transformiert und verarbeitet werden können - dies gilt auch für Grafiken, die durch Plotfunktionen erstellt wurden.
Die schnelle und einfache Möglichkeit, Grafiken zu erstellen, besteht darin, Plotfunktionen auf hoher Ebene zu verwenden und zahlreiche Optionen zum Anpassen der Ausgabe festzulegen. Wenn es keine Funktion für das genaue Diagramm gibt, das Sie benötigen, können Sie die Grafiken aus Grafikprimitiven zusammensetzen (was auch ziemlich einfach ist ).
Die Funktionen zum Zeichnen mathematischer Funktionen sind ausgezeichnet. Soweit ich weiß, ist es klassenführend. Mathematica-Samples funktionieren adaptiv (sowohl in 2D als auch in 3D), sodass ein reibungsloser Plot schnell und automatisch generiert werden kann. Singularitäten, Diskontinuitäten usw. werden symbolisch durch Zeichnungsfunktionen erfasst.
Sie können Abbildungen für eine bestimmte Druckgröße erstellen und sicherstellen, dass sie gut zum umgebenden Text in einer Publikation passen (z. B. Schriftgröße und Schriftstile stimmen überein). In 2D gibt es zwei Arten von Koordinaten: Plotkoordinaten, die Ihren Daten entsprechen, und absolute Koordinaten, die in Druckerpunkten angegeben sind. Ersteres skaliert beim Ändern der Größe der Grafik, letzteres nicht. Der Text verwendet standardmäßig absolute Koordinaten, was bedeutet, dass der 8-Punkt-Typ 8 Punkte beträgt, unabhängig davon, ob dieselbe Figur mit einer Größe von 7 cm oder 14 cm exportiert wird. Dies ermöglicht Schriftgrößen, die mit dem Text in der Publikation übereinstimmen.
Eingebauter Schriftsatz für mathematische Formeln. Das MaTeX -Paket von Drittanbietern bietet eine LaTeX-Integration für einen erstklassigen Formelsatz. (Offenlegung: Ich bin der Autor.)
Sie können die gesamte Datenverarbeitung im selben System durchführen. Im Allgemeinen kann mit ein wenig Arbeit der gesamte Prozess der Figurenerstellung automatisiert werden (sogar einige fortgeschrittene Aspekte ), wodurch die Notwendigkeit einer manuellen Nachbearbeitung in Software wie Adobe Illustrator entfällt. Dies ist wichtig, wenn Sie in letzter Minute ein kleines Problem feststellen und die Abbildung erneut generieren müssen.
Schwächen
Es kann schwierig sein, Figuren mit mehreren Unterplots zu haben und eine genaue Ausrichtung zwischen den Koordinatensystemen der Unterplots zu haben.
Das SciDraw- Paket (von Drittanbietern) behebt dies und gibt detaillierte Kontrolle über jeden Aspekt der Figur. Der Nachteil dieses Pakets besteht darin, dass die Einrichtung von Zahlen mehr Aufwand erfordert.
3D-Grafiken lassen sich nicht gut in Vektorformate exportieren. Das Exportieren einer Bitmap-Version ist jedoch in Ordnung.
Wenn Ihre Institution noch keine Lizenz besitzt, kostet dies Geld.
quelle
Wenn Sie TikZ bereits kennen, interessieren Sie sich vielleicht für R und das tikzDevice . Hier ein Beispiel: tikzDevice - TikZ-Ausgabe von R , hier ein weiteres Beispiel: TikZ-Diagramme mit R: tikzDevice .
quelle
Tauchen Sie tiefer in PGF-Diagramme ein:
1) kann 3d-diagramme erstellen: python-matplotlib kann das nicht, gnuplot ist im vergleich hässlich
2) konsistent Schriftarten in Größe und Familie mit dem Basisdokument)
3) kann für bestimmte Farbschemata verwendet werden
Es gibt nichts Vergleichbares auf dem Markt. :)
quelle
Ich finde Tecplot sehr leistungsfähig, wenn es um Datenvisualisierung und Datenmanipulation geht.
quelle
Ich werde versuchen, Ihnen einen Überblick über meine begrenzte Erfahrung zu geben, die nur einige Arten von Diagrammen abdeckt: 2D-Datenplots, Streudiagramme und Diagramme (Bäume und Diagramme, Flussdiagramme); Aber lassen Sie mich zunächst ein wenig von der Frage abweichen:
Zunächst möchte ich sagen, dass die Wichtigkeit der Produktion hochwertiger Grundstücke oft übersehen wird. Diagramme dienen nicht nur zur Anzeige von Daten, sondern können bei effektiver Verwendung komplexe Ideen kommunizieren, die häufig nicht klar im Text ausgedrückt werden können. Es scheint mir, dass dies nicht der geeignete Ort ist, um zu diskutieren, was einen guten Plot ausmacht, welche Vorteile und welche Nachteile er hat .
Zweitens habe ich es öfter bereut, ein halbgebackenes Grundstück verwendet zu haben, als Zeit auf einem hochwertigen Grundstück zu verbringen. Der Grund dafür ist , dass eine schlechte Handlung kann lügen Sie, zum Beispiel, wenn ein unausgegorenes Grundstück mit einem kurzen Blick über Daten zu tun , dass Sie nicht richtig normalisiert haben könnten, oder durch Verwendung von nicht-so-gute Plots visuelle Vergleiche zu tun (Das Auge kann oft sehr verzeihend oder sehr irreführend sein). Daher würde ich immer empfehlen, die Handlungen so vorzubereiten, als würden sie einer Person gezeigt, die mit den Ergebnissen nicht vertraut ist. So können Sie Zeit sparen und Ihre Arbeit verbessern. Außerdem haben Sie den zusätzlichen Vorteil, dass das Präsentationsmaterial für die nächste Präsentation / das nächste Seminar / den nächsten Artikel bereitsteht.
Jetzt zu die Frage beantworten :
Nach meiner Erfahrung ist es immer besser, die Datenverarbeitung vom eigentlichen Plotter und den Bildbearbeitungswerkzeugen zu trennen. Für die Datenverarbeitung verwende ich Python, da es sehr flexibel ist und ich kein Dateiformat gefunden habe, das mit Python nicht einfach zu handhaben ist. Darüber hinaus können die Numpy- und Scipy-Bibliotheken leistungsstarke Manipulationswerkzeuge für numerische Daten sein.
Innerhalb von Python habe ich kein Plotter-Tool gesehen, mit dem Sie die Kontrolle über alle Formatierungsdetails haben. Ich habe festgestellt, dass es die Details sind, die einen großen Unterschied machen, wenn Sie versuchen, Bilder beim Formatieren eines Papiers in Latex zu integrieren. Zum Beispiel kann die Kontrolle der Leerzeichen und Proportionen von Plots mit und ohne Matplotlib Kopfzerbrechen bereiten (nicht unmöglich, aber meine Zeit nicht wert). Dies ist sehr wichtig, wenn Sie nur über begrenzten Speicherplatz verfügen, wie dies häufig in Journalen und Konferenzen der Fall ist Papiere.
Nach meiner Erfahrung ist GNUPLOT das beste Werkzeug zum Formatieren und Erzeugen von 2D-Plots und Scatterplots. Es gibt Ihnen sehr viel Kontrolle über alle Details Ihres Grundstücks. Außerdem können Sie hochwertige Plots (Vektorgrafiken) in Schwarzweiß oder Farbe erstellen. Das hohe Maß an Kontrolle erschwert das Erlernen von GNUPLOT, und manchmal sind einfache Dinge etwas arbeitsaufwendig, aber wenn Sie von einem Beispiel ausgehen, können sie die Dinge vereinfachen. Ich sehe in der Regel an diesen beiden Standorten für die Inspiration finden Sie in der nicht-so-FAQ - Seite oder die offiziellen Demos finden Sie hier .
Manchmal können die von GNUPLOT erzeugten Plots sehr groß sein (im MB-Bereich) und das Journal kann die Dateien ablehnen (dies ist mir mit einigen sehr bunten Streudiagrammen passiert). Ich habe verwendet und ich empfehle Imagemagick , ein Befehlszeilentool, mit dem Sie Bilder konvertieren, bearbeiten und komprimieren können (ich habe es verwendet, um hochwertige JPEGs zu generieren und zu bearbeiten, während ich die Dateigröße erheblich reduzierte). Ich habe andere Tools ausprobiert, die die automatische Datenkomprimierung verwendeten. Dies erwies sich aufgrund des empfindlichen Gleichgewichts zwischen Bildartefakten und Komprimierung als besonders problematisch.
Ich habe auch eine ganze Reihe von Diagrammen erstellt (oft für Präsentationen). Ich fand, dass, wenn ich ein Diagramm ein einziges Mal verwenden werde (kein Papier), die Keynote-Anwendung (OSX) und das Speichern im PDF-Format gut genug sind. Wenn ein Bild jedoch häufig verwendet wird, ist die Darstellungsqualität wichtiger und TikZ ist mein bevorzugtes Werkzeug. Ich finde es etwas schwierig, TikZ zu verwenden, aber wenn Sie von einem Beispiel ausgehen , ist es viel einfacher.
Schließlich mache ich den größten Teil meiner Arbeit über die Befehlszeile, um verschiedene Tools, die ich mit Bash oder Python verwende, zu integrieren.
quelle
Meine schnelle Stimme ist für QtiPlot.
Obwohl es nicht perfekt ist, bietet es die beste Kombination aus GUI-Leichtigkeit und Python-Skripten. Was Sie also wirklich tun, ist "Qtiplot / Python / (Illustrator oder Inkscape)". Qtiplot ist erweiterbar, sodass Sie Ihre eigenen Skripte / Makros erstellen können, mit denen Sie Python-Befehle ausführen können, um Daten zu öffnen und zu verarbeiten und sie dann in eine Tabelle zu kopieren. Sie können sie dann manuell oder automatisch plotten. Sie können es auch so konfigurieren, dass es mit dem LaTeX-Schriftsatz mit einem im Internet verfügbaren Schriftsetzer oder einem lokalen Schriftsetzer funktioniert, sodass Sie mathematische Formeln in Ihre Diagrammtitel / -achsen / -markierungen einfügen können.
Die Diagramme können dann in ein beliebiges Format exportiert werden, aber das Format, das am besten funktioniert, ist zweifellos SVG. Die SVG-Dateien können bei Bedarf in inkscape nachgebessert werden, das auch über LaTeX-Satzfunktionen verfügt.
Während MatPlotLib großartig ist, besteht sein größter Nachteil darin, absolut alles von Hand zu codieren (genau wie bei jeder Skript-Plot-Lösung). QtiPlot ist großartig, da Sie mit der großartigen Python-Funktionalität die Datenverarbeitung und das Plotten per Skript automatisieren können. Anschließend können Sie ein Grobplot an eine GUI übergeben, mit der Sie es von Hand optimieren und alle Arten von GUI-Ausschneiden / Einfügen / Bearbeiten durchführen können Dies ist für die Datenanalyse von Fall zu Fall viel schneller. Sie können Dimensionen auch mithilfe des Skripts präzise festlegen und die Dimensionen mithilfe der GUI bearbeiten, was mit matplotlib nicht möglich ist.
Ich nehme an, es hängt davon ab, wie Sie sich zu QtiPlot-Plotlösungen fühlen. Ich habe es als sehr fähig empfunden, aber es ist alles eine ziemlich steile Lernkurve.
quelle
Ich bin überrascht, dass niemand die hervorragenden Werkzeuge matlab2tikz und matplotlib2tikz von Nico Schlömer erwähnt hat . Wenn Sie LaTeX für die Dokumentvorbereitung und Matlab oder Python für die Datenverarbeitung verwenden, können Sie auf einfache Weise hochwertige Vektorzeichnungen erhalten, die Sie nach Herzenslust nachbearbeiten können:
matlab2tikz('figure.tex')
(odermatplotlib2tikz
).figure.tex
Belieben bearbeiten (Beschriftungstext durch richtige Mathematik ersetzen, Farben, Linienbreite, Legendenplatzierung, Achsenstil usw. ändern), siehe Handbuch zu pgfplots (oder die vielen Fragen zu pgfplots) im TeX-Stapelaustausch).includegraphics
, setzen\input{figure.tex}
(und nicht zu vergessen sind\usepackage{pgfplots}
in der Präambel).\input{figure.tex}
durch\includegraphics{figure.pdf}
.quelle
Wenn Sie kein Scripting suchen, schauen Sie sich MagicPlot an. Es ist nicht so funktionsreich wie Origin (z. B. kann nur 2D-Diagramme erstellen), aber ich habe noch nie Probleme mit der Linienbreite und anderen Eigenschaften gehabt. Die Handlungen sind nett, wenngleich das Neuzeichnen schnell genug ist. Plus nützliche Passform.
quelle
Tecplot 360 eignet sich für die Verarbeitung großer Datenmengen und die Erstellung von Plots in Publikationsqualität. Es verfügt über leistungsstarke Add-On- und Scripting-Schnittstellen zur Verarbeitung der Daten. Es scheint mir, dass es alles tut, was Sie für die Nachbearbeitung benötigen.
Ein häufiger Fehler ist die Verwendung von Excel. Nein, es erinnert sich nicht an Layout, X-Bereich, Farbkarte. Es wird nicht animiert. Es werden hässliche, sperrige Arbeitsblätter verwendet, um mit den Daten zu arbeiten.
Natürlich finden Sie kein Tool, das sowohl die Nachbearbeitung als auch die Textbearbeitung übernimmt, und die Auswahl eines geeigneten Texteditors für Ihre Veröffentlichungen ist eine weitere wichtige Frage. Verwenden Sie kein MS Word, der Zitiermanager ist hässlich. Ich verwende LyX oder ein anderes Latex-Tool, das für das von mir verwendete Betriebssystem verfügbar ist.
Oh, und wenn Sie PDF veröffentlichen müssen, fügen Sie einen Link zu LaTeX, Word oder einem beliebigen Format mit lesbarer Mathematik hinzu. In PDF ist es nicht.
quelle