Anzeige:
Ergebnis 1 bis 11 von 11

Thema: PSTricks: Statt Zahl Beschriftung

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.09.2007
    Beiträge
    56

    PSTricks: Statt Zahl Beschriftung

    Hi,

    ich habe folgenden Graphen:
    Code:
    \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 ?

  2. #2
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von Nils:D Beitrag anzeigen
    ich habe folgenden Graphen:
    Code:
    \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

  3. #3
    Registrierter Benutzer
    Registriert seit
    23.09.2007
    Beiträge
    56
    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.
    Geändert von Nils:D (10-11-2008 um 20:52 Uhr)

  4. #4
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von Nils:D Beitrag anzeigen
    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

  5. #5
    Registrierter Benutzer
    Registriert seit
    23.09.2007
    Beiträge
    56
    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):
    Code:
      \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.

    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 ?

  6. #6
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hallo,

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

    Gruß
    Marco

  7. #7
    Registrierter Benutzer
    Registriert seit
    23.09.2007
    Beiträge
    56
    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.
    Code:
      \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 ?

  8. #8
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Zitat Zitat von Nils:D Beitrag anzeigen
    Code:
      \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

  9. #9
    Registrierter Benutzer Avatar von mechanicus
    Registriert seit
    10.07.2008
    Ort
    Hamburg
    Beiträge
    3.944
    Hallo,

    mir schient du hast das Prinzip von uput nicht verstanden:
    Ich versuche es mal kurz. Also uput hat drei Eingabefelder: Winkel, Punkt, Text
    Code:
    \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,
    Code:
    \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

  10. #10
    Registrierter Benutzer
    Registriert seit
    23.09.2007
    Beiträge
    56
    Jetzt funktioniert es, danke

  11. #11
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von mechanicus Beitrag anzeigen
    mir schient du hast das Prinzip von uput nicht verstanden:
    Ich versuche es mal kurz. Also uput hat drei Eingabefelder: Winkel, Punkt, Text
    Code:
    \uput[Winkel](Punkt){Text}
    eigentlich sogar vier
    Code:
    \uput{Abstand}[Winkel](Punkt){Text}
    {Abstand} bzw. wie du richtig erklärst, der Radius, ist aber optional.

    Herbert

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •