PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : pstricks 1000er Trennzeichen



a_deckert
07-03-2013, 09:38
Hallo,

ich erstellen pstricks-Grafiken für eine englische Publikation. Dazu müssen 1000er Werte auf den Achsen usw. in der Form 1,000 dargestellt werden. Ich habe versucht mit
PstScalePoints (1,1){}{1000 div}
alle y-Werte zu teilen, dann in der Achsendefinition die Option "comma" und "yDecimals=3" zu verwenden und die y-Achse entsprechend kleiner zu skalieren. Allerdings lassen sich damit nur die listplot-Befehle beeinflussen. Ich benötige in der Grafik allerdings auch Error-Bars. Dafür wird innerhalb des Plots folgende Zeile aufgerufen:
\def\DoCoordinate#1#2{\psdot[dotscale=1.5,linecolor=Red,% fillcolor=Red](#1,#2)}\GetCoordinates{\data}

Die Errorbars und die Punkte werden leider in der ursprünglichen Skalierung dargestellt und lassen sich durch PstScalePoints nicht beeinflussen. Hat jemand eine Idee?

Hier noch die Definition für die Errorbars:

\makeatletter
\SpecialCoor
\def\errorLine{\@ifnextchar[{\pst@errorLine}{\pst@errorLine[]}}
\def\pst@errorLine[#1](#2)#3#4{{%
\ifx#1\empty\else\psset{#1}\fi
\pst@getcoor{#2}\pst@tempb
\def\@errorMin{#3}
\def\@errorMax{#4}
\psline{|-|}%
(!%
/yDot \pst@tempb exch pop \pst@number\psyunit div def
/xDot \pst@tempb pop \pst@number\psxunit div def
xDot yDot \@errorMin\space sub%
)(!%
/yDot \pst@tempb exch pop \pst@number\psyunit div def
/xDot \pst@tempb pop \pst@number\psxunit div def
xDot yDot \@errorMax\space add%
)
}}
\def\GetCoordinates#1{\expandafter\GetCoordinates@ i#1}
\def\GetCoordinates@i #1{\GetCoordinates@ii#1}
\def\GetCoordinates@ii#1 #2 #3 #4 #5 #6 #7 #8 {%
\DoCoordinate{#2}{#4}%
\errorLine[linecolor=my_Red_2, linewidth=0.25pt](!#2 #4){#6}{#8}%
\@ifnextchar D{\GetCoordinates@ii}{}}
\makeatother