[PSTricks] Verschiedene Spaten einer Quelldatei plotten

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Klaus
Forum-Century
Forum-Century
Beiträge: 184
Registriert: Do 27. Jan 2011, 19:30

[PSTricks] Verschiedene Spaten einer Quelldatei plotten

Beitrag von Klaus »

Hi Leute,

ich möchte gerne verschiedene Spalten einer Quelldatei gegeneinander auftragen, z.B. zweite und dritte Spalte über die erste (siehe Anhang).

Jetzt habe ich in der PSTricks Documentation folgendes Beispiel gefunden:
\def\PstDataFileWithErrorBars{%
2 \def\pst@par{}\pst@object{PstDataFileWithErrorBars}}
3
4 \def\PstDataFileWithErrorBars@i#1{%
5 \begingroup
6 \use@par% Assignment of local parameters
7 % Read the data from the file and put them in a macro
8 \readdata{\PstDataFileWithErrorBars@Data}{#1}%
9 \PstDataFileWithErrorBars@GetCoordinate{%
10 \PstDataFileWithErrorBars@Data}}
11
12 \def\PstDataFileWithErrorBars@GetCoordinate#1{%
13 \expandafter\PstDataFileWithErrorBars@GetCoordinate@i#1 }
14
15 \def\PstDataFileWithErrorBars@GetCoordinate@i#1{%
16 \PstDataFileWithErrorBars@GetCoordinate@ii#1}
17
18 \def\PstDataFileWithErrorBars@GetCoordinate@ii%
19 #1 #2 #3 #4 #5 #6 #7 #8 {%
20 \PstDataFileWithErrorBars@DoCoordinate(#2,#4){#6}{#8}%
21 \@ifnextchar D{\PstDataFileWithErrorBars@GetCoordinate@ii}%
22 {\endgroup}}
23
24 \let\PstDataFileWithErrorBars@DoCoordinate
25 \PstDataWithErrorBars@DoCoordinate
26
27 \psset{dotscale=1.5}%
28
29 \pspicture(5,5)\psgrid[subgriddiv=0]
30 \PstDataFileWithErrorBars[dotstyle=diamond]{err-bars.dat}
31 \endpspicture
32 \hfill
33 %
34 \newpsstyle{MyStyleBars}{linecolor=cyan,arrows=(-),arrowscale=1.5}
Writing high-level macros: Usage 180
35 \psset{xunit=0.8,yunit=0.5}
36 \pspicture(5,5)\psgrid[subgriddiv=0]
37 \PstDataFileWithErrorBars[StyleBars=MyStyleBars]{err-bars.dat}
38 \endpspicture
Ich denke das ist genau das was ich suche, da verschiedene Spalten einer Quelldatei zu verschiedenen Zwecken verwendet werden: x-Achse, y-Achse und Fehlerbalken.

Jetzt ist das leider wieder Overkill für mich und ich versuche stückweise diesen Macro für meine Bedürfnisse umzuschreiben und habe zaghaft begonnen:
%
% mehrere-spalten.tex
%
\usepackage{scrreprt}
\usepackage{pstricks}
\usepackage{pstricks-add}
\usepackage{pst-plot}

\def\PstDataFileWithMultipleColumns{%
	\def\pst@par{}\pst@object{PstDataFileWithMultipleColumns}}

\def\PstDataFileWithMultipleColumns@i#1{%
	\begingroup
	\use@par%
	\readdata{\PstDataFileWithMultipleColumns@Data}{#1}%
	\PstDataFileWithMultipleColumns@GetCoordinate{%
		\PstDataFileWithMultipleColumns@Data}}

\begin{document}
 hello World
\end{document}
%
% EoF
%
Doch ich muss gestehen, dass ich schon nach diesen wenigen Zeilen keine Ahnung mehr habe was diese Befehle genau tun, wie z.B.
\def\PstDataFileWithMultipleColumns@i#1{%
Also das \def steht sicherlich dafür den folgenden Ausdruck zu definieren, aber am Ende dann @i#1 ?!
Ist das eine Art for-Schleife mit dem Index i?

Viele Grüße,
Klaus.
Dateianhänge
zweiSpalten.txt
(780 Bytes) 482-mal heruntergeladen