Diagramm mit 3 Y-Achsen und Legende *Update*

Tabellen und Grafiken erstellen und anordnen


Plastor
Forum-Newbie
Forum-Newbie
Beiträge: 1
Registriert: So 17. Jul 2011, 16:55

Diagramm mit 3 Y-Achsen und Legende *Update*

Beitrag von Plastor »

Ich habe eine Datei mit mehreren Messwerten:
1. Spalte: Zeit
2. Spalte: Strom
3. Spalte: Spannung
4. Spalte: Temperatur

Ich habe eine CSV-Datei, aber kann es auch in eine Textdatei umwandeln (was bei Latex scheinbar häufiger wie das CSV-Format verwendet wird).

Ich möchte alle Werte in einem Diagramm mit mehreren Y-Achsen darstellen (alle 3 möglichst auf der linken Seite platziert mit eigener Skalierung).
Es soll ein Liniendiagramm sein ohne Anzeige von Punkten. Eine Legende soll optional auch (außerhalb des Diagramms) angezeigt werden.


Ich habe mir bisher PSTricks und TikZ angeschaut. Mit TikZ bin ich nicht weitergekommen (bzgl. Mehrfach-Y-Achsen).

Mit PSTricks habe ich es hinbekommen (wobei es mich eher an malen erinnert wie an professionelles Darstellen eines Diagramms):

\documentclass{article} 
\usepackage{pstricks-add} 


\begin{document} 

\readdata{\data}{daten.txt} 


\begin{figure}[h]

\centering

\begin{pspicture}

	% X-Achse: 0-1000 auf 0-10cm
	\psaxes[yAxis=false,Ox=0,Dx=100,dx=1]{->}(2,0)(2,0)(12,10)[Zeit \lbrack s\rbrack,0][,0]

	% Y-Achse: 0-100 auf 0-10cm
	\psaxes[xAxis=false,Oy=0,Dy=10,dy=1,tickcolor=magenta,linecolor=magenta]{->}(0,0)(0,0)(12,10)[,0][,0]
	% Y-Achse: 0-10 auf 0-10cm
	\psaxes[xAxis=false,Oy=0,Dy=2,dy=1,tickcolor=green,linecolor=green]{->}(1,0)(1,0)(12,10)[,0][,0]
	% Y-Achse 0-100 auf 0-10cm
	\psaxes[xAxis=false,Oy=0,Dy=10,dy=1,tickcolor=yellow,linecolor=yellow]{->}(2,0)(2,0)(12,10)[,0][,0]

	\pstScalePoints(0.01,0.1){200 add}{}
	\listplot[linecolor=magenta,linewidth=1.5pt,plotNoMax=3,plotNo=1]{\data}
	\pstScalePoints(0.01,0.5){200 add}{}
	\listplot[linecolor=green,linewidth=1.5pt,plotNoMax=3,plotNo=2]{\data}
	\pstScalePoints(0.01,0.1){200 add}{}
	\listplot[linecolor=yellow,linewidth=1.5pt,plotNoMax=3,plotNo=3]{\data} 
	\pstScalePoints(1,1){}{}
	   
  \rput[l]{30}(0,10.2){Strom $\mathrm{[A]}$}
  \rput[l]{30}(1,10.2){Spannung $\mathrm{[V]}$}
  \rput[l]{30}(2,10.2){Temperatur [$^{\circ}\mathrm{C}$]}

\end{pspicture} 
\end{figure}

\end{document}
Leider funktioniert die Zentrierung nicht.
Wie bekomme ich den Graph korrekt zentriert?
Dateianhänge
daten.txt
(33.75 KiB) 321-mal heruntergeladen
daten.csv.txt
(33.75 KiB) 310-mal heruntergeladen