PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PSTricks: Statt Zahl Beschriftung



Nils:D
03-11-2008, 17:20
Hi,

ich habe folgenden Graphen:


\begin{pspicture}(-1,-1)(6,4)
\psset{xAxisLabel =$s$,yAxisLabel =$F$}
\begin{psgraph}[arrows=->,Dx=3,Dy=1](0,0)(3.9,1.9){6cm}{3cm}
\psline[linecolor=blue](0,0)(3,1)
\psline[linecolor=blue](3,1)(3,0)
\end{psgraph}
\end{pspicture}

Wie kann ich nun dafür sorgen, dass die 0 nicht beschriftet wird und anstelle von Y=1 ein F_{1} und anstelle von X=1 ein S_{1} dargestellt wird ?

voss
03-11-2008, 20:00
ich habe folgenden Graphen:


\makeatletter
\def\pst@@@hlabel#1{$s_{#1}$}
\def\pst@@@vlabel#1{$F_{#1}$}
\makeatother

\begin{pspicture}(-1,-1)(6,4)
\psset{xAxisLabel =$s$,yAxisLabel =$F$}
\begin{psgraph}[showorigin=false,arrows=->,Dx=3,Dy=1](0,0)(3.9,1.9){6cm}{3cm}
\psline[linecolor=blue](0,0)(3,1)
\psline[linecolor=blue](3,1)(3,0)
\end{psgraph}
\end{pspicture}

Wie kann ich nun dafür sorgen, dass die 0 nicht beschriftet wird und anstelle von Y=1 ein F_{1} und anstelle von X=1 ein S_{1} dargestellt wird ?

siehe oben ...

Herbert

Nils:D
10-11-2008, 21:43
Vielen Dank! Nur wie kann ich auf den Achsen so etwas machen ? Statt 1 ein x_{P}, statt 2 ein x_{Q} und selbiges auf der Y-Achse bloß mit y statt x davor.

voss
13-11-2008, 10:19
Vielen Dank! Nur wie kann ich auf den Achsen so etwas machen ? Statt 1 ein x_{P}, statt 2 ein x_{Q} und selbiges auf der Y-Achse bloß mit y statt x davor.

?? Verstehe nicht, was du meisnt, es gibt doch jetzt keine 1 mehr, sondern
x_{P}

Herbert

Nils:D
13-11-2008, 18:58
Hi,

angenommen wir haben einen Graphen der, wenn man nichts ändert, in 1er-Schritten bis zur 2 auf der x- und y-Achse durchnummeriert ist. Also sozusagen so:


^
|
2
|
1
|
--1--2-->

Das ist mathematisch so natürlich nicht ganz korrekt, aber die Abstände sind alle gleich, ich denke man sieht worauf ich hinaus will. Nun möchte ich folgendes erreichen:


^
|
y_{Q}
|
y_{P}
|
--x_{P}--x_{Q}-->


Ich möchte also auf der y-Achse den Wert 1 zu y_{P} ändern, den Wert 2 zu y_{Q} ändern und auf der x-Achse den Wert 1 zu x_{P}, den Wert 2 zu x_{Q} ändern.

Ich dachte mir, man könnte das so erzielen, allerdings gibt es den unten drunter gezeigten Fehler (danach gibt es noch mehr Fehler, aber die lasse ich weg, da sie die gleichen sind):

\makeatletter
\def\pst@@@hlabel#1{$x_{P}$}
\def\pst@@@hlabel#2{$x_{Q}$}
\def\pst@@@vlabel#1{$y_{P}$}
\def\pst@@@hlabel#2{$x_{Q}$}
\makeatother

! Parameters must be numbered consecutively.
<to be read again>
2
l.576 \def\pst@@@hlabel#2
{$x_{Q}$}
Ich kann mit der Meldung nichts anfangen. Was muss ich denn schreiben, damit ich das gewünschte Ergebnis erziele ?

mechanicus
13-11-2008, 19:11
Hallo,

so wie es scheint, willst du nur zwei Beschriftungen machen, warum machst du sie dann nicht mit \uput?

Gruß
Marco

Nils:D
16-11-2008, 09:49
Ich habe zwei Punkte. Der eine heißt P und befindet sich auf (1|1), der andere Q auf (2|2). An der x-Stelle von P (<-- 1) soll nun statt 1 x_{P} stehen, an der y-Stelle von P (<-- 1) y_{P} usw. Mit uput lässt sich das sogar gut lösen, aber wie könnte ich nun die Zahlen ausblenden ? Die Sachen die mir uput reinzeichnet zeichnet er brutal bei den Achsenbeschriftungen über die Zahlen der Achse.

\begin{pspicture}(-1,-1)(6,6)
\begin{psgraph}[showorigin=false,arrows=->,Dx=1,Dy=1](0,0)(2.9,2.9){6cm}{6cm}
\uput[0](0.8,-0.2){$x_{P}$}
\uput[0](1.8,-0.2){$x_{Q}$}
\uput[0](-0.4,1){$y_{P}$}
\uput[0](-0.4,2){$y_{Q}$}
\uput[0](1,1){P}
\uput[0](2,2){Q}

\psline(0,0)(2,2)
\psline[linecolor=red](1,1)(2,1)
\psline[linecolor=blue](2,1)(2,2)
\end{psgraph}
\end{pspicture}
Die ursprüngliche Achsenbeschriftung muss noch ausgeblendet werden, ansonsten sieht es perfekt aus. Wie könnet man den letzten Schritt erledigen ?

mechanicus
16-11-2008, 10:20
\begin{pspicture}(-1,-1)(6,6)
\begin{psgraph}[showorigin=false,arrows=->,Dx=1,Dy=1,labels=none](0,0)(2.9,2.9){6cm}{6cm}
\uput[0](0.8,-0.2){$x_{P}$}
\uput[0](1.8,-0.2){$x_{Q}$}
\uput[0](-0.4,1){$y_{P}$}
\uput[0](-0.4,2){$y_{Q}$}
\uput[0](1,1){P}
\uput[0](2,2){Q}

\psline(0,0)(2,2)
\psline[linecolor=red](1,1)(2,1)
\psline[linecolor=blue](2,1)(2,2)
\end{psgraph}
\end{pspicture}
Die ursprüngliche Achsenbeschriftung muss noch ausgeblendet werden, ansonsten sieht es perfekt aus. Wie könnet man den letzten Schritt erledigen ?

Gruß
Marco

mechanicus
16-11-2008, 10:29
Hallo,

mir schient du hast das Prinzip von uput nicht verstanden:
Ich versuche es mal kurz. Also uput hat drei Eingabefelder: Winkel, Punkt, Text

\uput[Winkel](Punkt){Text}
Den Text können wir auch als eine Box ansehen, welche die Länge bzw. Höhe des Textes hat. Uput macht nun folgendes: Es zieht einen Kreis mit dem Radius (ca. 0.2cm) um den Punkt, welchen du angibst. Mit dem Winkel kannst du nun festlegen, wo die Box an den Kreis anliegt:
Hier mal dein Code geändert,

\documentclass[a4paper,12pt,ngerman]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage{pstricks}
\usepackage{pstricks-add}

\begin{document}
\begin{pspicture}(-1,-1)(6,6)
\begin{psgraph}[showorigin=false,arrows=->,Dx=1,Dy=1,labels=none](0,0)(2.9,2.9){6cm}{6cm}
\uput[-90](1,0){$x_{P}$}
\uput[-90](2,0){$x_{Q}$}
\uput[180](0,1){$y_{P}$}
\uput[180](0,2){$y_{Q}$}
\uput[90](1,1){P}
\uput[0](2,2){Q}

\psline(0,0)(2,2)
\psline[linecolor=red](1,1)(2,1)
\psline[linecolor=blue](2,1)(2,2)
\end{psgraph}
\end{pspicture}
\end{document}

Hoffe war nicht ganz so wirr. Ansonsten mache ich ein Bild, dass du es siehst.

Gruß
Marco

Nils:D
17-11-2008, 18:09
Jetzt funktioniert es, danke :)

voss
17-11-2008, 22:16
mir schient du hast das Prinzip von uput nicht verstanden:
Ich versuche es mal kurz. Also uput hat drei Eingabefelder: Winkel, Punkt, Text

\uput[Winkel](Punkt){Text}


eigentlich sogar vier

\uput{Abstand}[Winkel](Punkt){Text}

{Abstand} bzw. wie du richtig erklärst, der Radius, ist aber optional.

Herbert