PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PStricks Diagramm-Achse invertieren



steve92
27-06-2013, 11:59
Hi,

ich mach nochmal ein neues Thema dazu auf, in der Hoffnung, dass mir jemand dabei helfen kann. Ich finde leider nichts.

Die Achsenbeschriftung soll so invertiert werden, dass die Zahlen zum Ursprung hin größer werden. Beispiel für Abzisse: Ursprung-7-6-5-4-3-2-1


\documentclass{scrreprt}
\usepackage{pstricks,pst-3dplot}

\begin{document}

\begin{pspicture}(-4,0)(10,10)
\psset{IIIDlabels,Alpha=75,%Beta=40,%
nameX=Kraft [N],nameY=Weg [mm],nameZ=Abk"uhlzeit [s],%
yunit=10mm,xunit=30mm,Dx=10,Dy=100,Dz=1,%
IIIDticks}
\pstThreeDCoor[
xMin=0,xMax=5,%
yMin=0,yMax=6,%
zMin=0,zMax=8,%
]
%
\end{pspicture}

\end{document}

Gruß
Steve

voss
27-06-2013, 16:54
Die Achsenbeschriftung soll so invertiert werden, dass die Zahlen zum Ursprung hin größer werden. Beispiel für Abzisse: Ursprung-7-6-5-4-3-2-1



dann musst du sie alle _nicht_ automatisch erstellen, sondern per Hand setzen. Beispiel für die z-Achse:


\documentclass{scrreprt}
\usepackage{pst-3dplot}
\begin{document}

\begin{pspicture}(-4,0)(10,10)
\psset{IIIDlabels,Alpha=75,%Beta=40,%
nameX=Kraft [N],nameY=Weg [mm],nameZ=Abk\"uhlzeit [s],
yunit=10mm,xunit=30mm,Dx=10,Dy=100,Dz=1,IIIDticks}
\pstThreeDCoor[IIIDlabels=false,xMin=0,xMax=5,yMin=0,yMax=6,zMin= 0,zMax=8]
\multido{\iA=1+1}{7}{\pstThreeDPut(0,0.2,8 \iA\space sub){\iA}}

\end{pspicture}

\end{document}

steve92
28-06-2013, 13:06
Erstmal vielen Dank!

Ich glaube den Befehl verstanden zu haben, aber die Zahlen verlaufen immer senkrecht. Wie ginge das dann für die andern Achsen, die nicht senkrecht liegen? Diese müssen übrigens nicht invertiert werden.

Oder ließe sich die ursprüngliche Z-Achsen-Beschriftung verbergen, indem man diese als einzelne Achsen-Beschriftung weiß färbt?

Hm, mit \multirput kann ich das anscheinend in eine gewünschte Richtung "wachsen" lassen. Aber wie sage ich ihm, dass das was er wachsen lassen soll die Achsenbeschriftung ist, also Werte, die sich fortlaufend ändern?

voss
28-06-2013, 13:57
Erstmal vielen Dank!

Ich glaube den Befehl verstanden zu haben, aber die Zahlen verlaufen immer senkrecht. Wie ginge das dann für die andern Achsen, die nicht senkrecht liegen? Diese müssen übrigens nicht invertiert werden.

Oder ließe sich die ursprüngliche Z-Achsen-Beschriftung verbergen, indem man diese als einzelne Achsen-Beschriftung weiß färbt?

Das geht nicht, dann sind ja wieder _alle_ weiß


Hm, mit \multirput kann ich das anscheinend in eine gewünschte Richtung "wachsen" lassen. Aber wie sage ich ihm, dass das was er wachsen lassen soll die Achsenbeschriftung ist, also Werte, die sich fortlaufend ändern?

\multido ist schon einfacher zu handhaben. Und die Beschriftung der anderen Achsen kannst du genauso machen:


\multido{\iA=0+100}{5}{\pstThreeDPut(0,\iA,0}{\iA} }


für die y-Achse

steve92
28-06-2013, 14:30
Das passte noch nicht so ganz wegen der Skalierung der Achsen. Hat mir aber sehr zu einer akzeptablen Lösung verholfen:


\documentclass{scrreprt}
\usepackage{pst-3dplot}
\begin{document}

\begin{pspicture}(-4,0)(10,10)
\psset{IIIDlabels,Alpha=75,%Beta=40,%
nameX=Kraft [N],nameY=Weg [mm],nameZ=Abk\"uhlzeit [s],
yunit=10mm,xunit=30mm,Dx=10,Dy=100,Dz=1,IIIDticks}
\pstThreeDCoor[IIIDlabels=false,xMin=0,xMax=5,yMin=0,yMax=6,zMin= 0,zMax=8]
\multido{\iA=1+1}{7}{\pstThreeDPut(0,0.2,8 \iA \space sub){\iA}}
\multido{\iB=1+1}{6}{\pstThreeDPut(0,\iB,0.4){\iB 00}}
\multido{\iC=1+1}{4}{\pstThreeDPut(\iC,-0.3,0){\iC 0}}
\end{pspicture}

\end{document}

Vielen Dank!