PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : x-y-Diagramm erstellen



Bilbo
30-10-2008, 18:11
Hallo,

ist es möglich aus Daten einer Latex-Tabelle ein x-y-Diagramm zu plotten? Bestimmt gibt es dafür spezielle Packete. Dabei sollen die Graphen in unterschiedlichen Farben dargestellt werden, sowie jeder Datenpunkt als x (oder anderes Symbol) gekennzeichnet werden. Gitternetzlinien wären auch von Vorteil.

Bilbo.

Stefan_K
30-10-2008, 18:19
Hallo Bilbo,

dafür kannst Du beispielsweise PSTricks (http://pstricks.net) verwenden, oder TikZ (http://tikz.de), siehe TikZ plots examples (http://www.texample.net/tikz/examples/tag/plots/) oder pgfplots (http://pgfplots.net).

Viele Grüße,

Stefan

localghost
30-10-2008, 18:30
Wenn Du es nicht mit PSTricks (http://tug.org/PSTricks) machst, dann nimm direkt pgfplots (http://ctan.org/pkg/pgfplots).


MfG
Thorsten¹

Bilbo
30-10-2008, 18:40
pgf/TikZ sieht mir am Besten aus. Ich versuche das mal.

Bilbo
30-10-2008, 19:11
Ich habe pgfplots verwendet. Klappt alles soweit, wie ich es haben will.

Kann ich aus meiner Tabelle innerhalb des Plots angeben welche 2 Spalten (x und y) ich plotten möchte oder muss ich die Koordinaten nochmal abtippen?

Bilbo
30-10-2008, 19:43
Ich komme nicht klar damit. Also meine Tabelle sieht so aus (habe nur die ersten zwei Zeilen kopiert).


\begin{table}[h]
\centering
\begin{tabular}{@{}*{4}{l}@{}}
\toprule
\textbf{Nr.} & \textbf{Zahl1} & \textbf{Zahl2} & \textbf{Zahl3} \\
\midrule
1 & 668,9 & 6,767 & 75463 \\
2 & 156,5 & 2,879 & 46654 \\
\bottomrule
\end{tabular}
\end{table}

Wie kann ich jetzt angeben, dass ich nur die Spalte 2 (=x-achse) und Spalte 4 (=y-achse) haben möchte?

Ein Beispielplot mit bereits vordefinierten Werten:

\pgfplotsset{every axis/.append style={
line width=2pt,
}}
\tikzset{every mark/.append style={scale=2}}
\begin{tikzpicture}
\begin{axis}[
xlabel=test1,
ylabel=test2,
height=15cm,
width=21cm,
grid=major,
]
\addplot[color=red,mark=x] coordinates {
(2,-2.8559703)
(3,-3.5301677)
(4,-4.3050655)
(5,-5.1413136)
(6,-6.0322865)
(7,-6.9675052)
(8,-7.9377747)
};
\addlegendentry{test1}
\end{axis}
\end{tikzpicture}

Wie kann ich jetzt meine 2 Spalten automatisch übernehmen lassen, statt alles per Hand unter coordinates{} einzutragen?

Bilbo
31-10-2008, 14:34
Kann man parabelartige Kurven irgendwie glätten? Im Moment sind meine Punkte durch gerade Linien verbunden. Ich finde dazu nichts in der Anleitung.

Syralist
31-10-2008, 16:01
Ich hab mir mal was mit JavaScript gebastelt: http://www.steffiundthomas.net/LaTeX/diagrammhelfer.html

Benutzung folgendermaßen:
- In Excel (oder ähnliches) die Daten eintragen, so dass x-Achse links steht und y-Achse rechts
- die beiden Spalten markieren und kopieren.
- in das obere Textfeld einfügen. Da sollten die Spalten dann durch Tabs getrennt sein.
- Auf umwandeln klicken.
Dann hat man unten einmal Code, den man in eine LaTeX-Tabelle einfügen kann und einmal Code für den \addplot[] coordinates { } Befehl.

Wenn ich mal Zeit und Lust hab, bau ich das Tool noch ein bisschen aus.