PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PSTricks: Variable Abstände bei psaxes



Pimpfson
07-04-2009, 16:54
Hallo,
ich möchte mittels PSTricks ein Koordinatensystem zeichnen, dass keine festen Abständen bei den Labels auf den Achsen hat.

Beispiel:


\documentclass[a4paper]{article}
\usepackage{pstricks-add,pst-plot}

\begin{document}
\begin{pspicture}(5,5)
\psaxes[Dx=1.5,Dy=1,dx=1.5]{->}(4,4)
\end{pspicture}
\end{document}


Die Labels der x-Achse haben hier einen Abstand von 1,5cm und werden auch genauso beschriftet. Ich möchte allerdings z.B. haben, dass das erste Label bei 0.7cm, das zweite bei 1.3cm und das dritte bei 2.3cm ist. Also keine äquidistanten Abstände. Wie kann ich das realisieren?

Später soll dann auch via "nolabel" und "\rput" Buchstaben an Stelle von 0.7cm etc stehen. Letzteres glaube ich zu wissen wie es geht ;).

Danke für die Hilfe!

mechanicus
07-04-2009, 17:01
Hallo,

wenn deine Abstände nicht fest sind, dann musst du wohl oder übel alles per Hand eingeben (\rput).
Darf ich fragen, was da überhaupt rauskommen soll?

Gruß
Marco

Pimpfson
07-04-2009, 17:48
Im großen und ganzen wollte ich soetwas wie das nachfolgende Bild etwas eleganter machen.


\documentclass[a4paper]{article}
\usepackage{pstricks-add}

\begin{document}

\psset{unit=1cm}
\begin{pspicture}(-1,-.5)(6,4)
\psline{<->}(0,4)(0,0)(5.5,0)
\psTextFrame[fillcolor=lightgray,fillstyle=solid](0.7,0.9)(2,1.5){$\sigma=1$}
\psline[linestyle=dashed](0.7,0.9)(0.7,-0.1)
\rput(0.7,-0.3){$\underline{h}_1$}
\psline[linestyle=dashed](2,0.9)(2,-0.1)
\rput(2,-0.3){$\overline{h}_1$}
\psline[linestyle=dashed](0.7,0.9)(-0.1,0.9)
\rput(-.3,.9){$\underline{\tau}_1$}
\psline[linestyle=dashed](0.7,1.5)(-0.1,1.5)
\rput(-.3,1.5){$\overline{\tau}_1$}

\psTextFrame[fillstyle=solid,fillcolor=gray](2.7,2.2)(4.2,3){$\sigma=2$}
\psline[linestyle=dashed](2.7,2.2)(2.7,-0.1)
\rput(2.7,-0.3){$\underline{h}_2$}
\psline[linestyle=dashed](4.2,2.2)(4.2,-0.1)
\rput(4.2,-0.3){$\overline{h}_2$}
\psline[linestyle=dashed](2.7,2.2)(-0.1,2.2)
\rput(-.3,2.2){$\underline{\tau}_2$}
\psline[linestyle=dashed](2.7,3)(-0.1,3)
\rput(-.3,3){$\overline{\tau}_2$}
\end{pspicture}
\end{document}



Grund ist, dass noch mehr Bilder kommen, die diese variablen Abstände auf den Achsen haben..

Gruß

mechanicus
07-04-2009, 19:20
Hallo,

das einzige, was ich anders machen würde, ich hätte anstatt rput uput verwendet und die Linies durchgängig gezeichnet:

\documentclass[a4paper]{article}
\usepackage{pstricks-add}

\begin{document}

\psset{unit=1cm}
\begin{pspicture}(-1,-.5)(6,4)
\psaxes[labels=none,ticks=none]{->}(0,0)(5.5,4)[$h$,-90][$\tau$,180]

\psTextFrame[fillcolor=lightgray,fillstyle=solid](0.7,0.9)(2,1.5){$\sigma=1$}
\psline[linestyle=dashed](-0.1,0.9)(0.7,0.9)(0.7,-0.1)
\psline[linestyle=dashed](-0.1,1.5)(2,1.5)(2,0.9)(2,-0.1)
\uput[-90](0.7,0){$\underline{h}_1$}
\uput[-90](2,0){$\overline{h}_1$}
\uput[180](0,0.9){$\underline{\tau}_1$}
\uput[180](0,1.5){$\overline{\tau}_1$}


\psTextFrame[fillstyle=solid,fillcolor=gray](2.7,2.2)(4.2,3){$\sigma=2$}
\psline[linestyle=dashed](-0.1,2.2)(2.7,2.2)(2.7,-0.1)
\psline[linestyle=dashed](-0.1,3)(4.2,3)(4.2,2.2)(4.2,-0.1)
\uput[-90](2.7,0){$\underline{h}_2$}
\uput[-90](4.2,0){$\overline{h}_2$}
\uput[180](0,2.2){$\underline{\tau}_2$}
\uput[180](0,3){$\overline{\tau}_2$}
\end{pspicture}
\end{document}
Aber ich finde deine Variante auch nicht schlecht. Das ist halt alles persönliche Geschmackssache.

Gruß
Marco

voss
07-04-2009, 21:26
Die Labels der x-Achse haben hier einen Abstand von 1,5cm und werden auch genauso beschriftet. Ich möchte allerdings z.B. haben, dass das erste Label bei 0.7cm, das zweite bei 1.3cm und das dritte bei 2.3cm ist. Also keine äquidistanten Abstände. Wie kann ich das realisieren?
<<
Später soll dann auch via "nolabel" und "\rput" Buchstaben an Stelle von 0.7cm etc stehen. Letzteres glaube ich zu wissen wie es geht ;).



\documentclass[a4paper]{article}
\usepackage{pstricks-add}

\begin{document}
\begin{pspicture}(5,5)
\psaxes[Dx=1.5,Dy=1,dx=1.5,labels=y,ticks=y]{->}(4,4)
\psforeach{\rx}{0.7,1.3,2.3}{\psxTick(\rx){\rx}}
\end{pspicture}
\end{document}


Herbert

Pimpfson
07-04-2009, 22:56
Danke!
Das hilft mir weiter!