Ich komme oft an einen Punkt, an dem ich eine Darstellung eines Datensatzes oder nur eine einfache Funktion in meine TeX-Datei aufnehmen möchte. Der übliche naive Ansatz wäre, die Darstellung als Vektor- oder Pixelgrafik zu speichern und sie einfach mit dem Paket graphicx zu importieren.
Dies hat jedoch auch einen Nachteil: Achsenbeschriftungen sind beispielsweise häufig zu groß oder zu klein.
Eine weitere Option, die ich ausprobiert habe, ist gnuplot und die Terminaloption epslatex. Obwohl dies das Problem mit dem Achsenlabel behebt, das sowohl eine Vektorgrafikdatei als auch eine Tex-Datei schreibt, fand ich diese Methode sehr unpraktisch, wenn ich das Achsenlabel ändern wollte (z. B. einen kleinen Fehler).
Ich wollte also wissen, was die praktischste Möglichkeit ist, ein Diagramm zu erstellen und in eine LaTeX-Datei einzubinden, wobei es mit der Größe und Schriftart der pdfLaTeX-Ausgabe kompatibel sein muss.
BEARBEITEN: Der Schwerpunkt liegt auf dem Plotten von Datenpunkten aus einer Datei (nicht auf dem Plotten einer analytischen Funktion, sondern dient nur der Darstellung einiger eingeschränkter Verhaltensweisen).
Antwort1
Wenn Sie aus irgendeinem Grund Gnuplot statt PGF-Bundles verwenden möchten, empfehle ich Ihnen, tikz
die Terminaloption zu verwenden. Hier ist die Vorgehensweise.
Zuerst müssen wir eine .tex
Datei erstellen, die das gewünschte Diagramm zeichnet. Ich werde in dieser Demo eine Sinuskurve zeichnen, da ich die Zeichnungsdaten nicht habe. Sie können jedoch auch alles tun, was Sie mit gnuplot tun können, einschließlich plot "foo.csv"
. Führen Sie in gnuplot Folgendes aus:
set terminal tikz
set output "graph.tex"
set xlabel "set $x$ axis label as you like"
set ylabel "set $y$ axis label as you like"
# put extra settings you want to use here
plot sin(x)
exit
Wir gelangen graph.tex
dorthin, wo die Grafik gezeichnet ist.
Dann müssen wir diese Datei nur noch in die Hauptquelle einbinden, sagen wir main.tex
. Das Laden gnuplot-lua-tikz
des Pakets ist erforderlich.
\documentclass{article}
\usepackage{gnuplot-lua-tikz}
\begin{document}
\centering
\include{graph}
\end{document}
Allerdings wird bei der Ausführung pdflatex main.tex
irgendwie ein Fehler mit der Meldung „ ! Undefined control sequence. l.7 \gpsetdashtype{gp dt solid}
Dieser Fehler tritt bei TeX Live 2015 auf, nicht bei meiner vorherigen Umgebung (also TeX Live 2013)“ erzeugt, und ich fürchte, ich kenne den Grund dafür nicht. Wenn wir diese Zeile 7 löschen, erhalten wir schließlich Folgendes:
Sie können die Details der Diagramme natürlich durch Bearbeiten ändern graph.tex
.
Verwenden vongnuplottex
Paket könnte eine gute Wahl sein, obwohl ich es noch nie verwendet habe.