Anzeige:
Ergebnis 1 bis 3 von 3

Thema: PSGraph, Skalierung x-Achse

  1. #1
    Registrierter Benutzer
    Registriert seit
    10.11.2004
    Beiträge
    124

    PSGraph, Skalierung x-Achse

    Moin,

    ich probiere gerade zum ersten Mal psgraph aus mit folgendem kleinen Beispiel:

    Code:
    \documentclass{article}
    \usepackage{pst-plot}
    \usepackage{pstricks-add}
    
    \begin{filecontents}{plot.data}
    1 1
    2 2
    3 5
    \end{filecontents}
    
    
    \begin{document}
    \readdata\Data{plot.data}
    \begin{psgraph}(1,0)(1,0)(3,5){10cm}{5cm}
    \listplot{\Data}
    \end{psgraph}
    
    \end{document}
    Ich hab die Parameter (xOrig, yOrig)(xMin,yMin)(xMax,yMax) wohl noch nicht verstanden. Ich habe für xOrig und xMin eine 1 eingegeben in der Hoffnung, dass die Skalierung der x-Achse dann auch mit 1 beginnt. Sie beginnt aber weiterhin bei 0 und damit entspricht das Ergbnis des Plots nicht mehr den eingelesenen Werten.

    Anschlussfrage 1: Wie ändere ich die Beschriftung der Achsen? x bzw. y scheint ja der Default zu sein.

    Anschlussfrage 2: Ich hab sonst immer beim Plotten auch mit \psset{...} und den Units rumgespielt. Das nimmt einem psgraph ja ab. In den Beispielen der Doku zu pstricks-add taucht fast immer \psset{llx=-1cm, lly=-1cm} auf. Ich hab keinen Unterschied festgestellt, ob ich diese Zeile verwende oder sie auskommentiere.

    Vielen Dank.

  2. #2
    Registrierter Benutzer Avatar von localghost
    Registriert seit
    01.11.2006
    Ort
    Braunschweig
    Beiträge
    3.413

    Arrow Code-Beispiel für psgraph

    Code sagt mehr als tausend Worte. Und deshalb hier auch gleich mal eine Version, die dir gefallen sollte. Erläuterungen gibt's weiter unten.
    Code:
    \documentclass[a4paper]{article}
    %\usepackage{pst-plot}
    \usepackage{pstricks-add}
    
    \begin{filecontents*}{plot.data}
    1 1
    2 2
    3 5
    \end{filecontents*}
    
    
    \begin{document}
      \readdata\Data{plot.data}
      \psset{llx=-1cm,lly=-1cm,urx=1mm,ury=1mm,xAxisLabel=x-Achse,yAxisLabel=y-Achse,xAxisLabelPos={2,-0.9},yAxisLabelPos={0.8,2.5}}
      \psframebox[linestyle=dashed,linewidth=0.4pt]{
        \begin{psgraph}[Ox=1,subticks=5,ticksize=0pt 4pt](1,0)(3,5){9cm}{5cm}
    %      \psaxes[labels=none,Ox=1,subticks=5,ticksize=0pt -4pt](3,5)(1,0)(3,5)
          \listplot[linecolor=blue]{\Data}
        \end{psgraph}
      }
    \end{document}
    Damit die Achsen mit dem richtigen Wert beginnen, muss immer noch der Nullpunkt explizit mit angegeben werden. Hier ist das Ox ("O" wie origin). Die Positionierung der Achsenbeschriftung sollte selbsterklärend sein. Damit muss man vielleicht etwas herumspielen, weil die Koordinaten relativ zum Ursprung der Skalierung erfolgt. Aber das kannst Du ja selbst mal ausprobieren. Wenn Du das Ganze mit den Achsen als Rahmen und Ticks an den zusätzlichen Achsen haben willst, dann entferne mal das %-Zeichen vor dem \psaxes-Befehl. Alle weiteren Parameter erklärt dir die Anleitung von pstricks-add.

    Diese zusätzlichen Koordinaten (llx, lly, urx, ury) sind die so genannten Trimwerte. Um ihre Funktion zu verdeutlichen, habe ich um die psgraph-Umgebung mal einen Rahmen gesetzt. Sie legen die untere linke (lower left) und die obere rechte Ecke (upper right) der psgraph-Umgebung relativ zu dem Bereich fest, den die Achsen aufspannen. Wie sich das auswirkt, sieht man so richtig erst, wenn man diesen Graphen mal in eine figure-Umgebung setzt. Da kann es nämlich passieren, dass die neu gesetzte und positionierte Achsenbeschriftung der x-Achse mit der Bildunterschrift kollidiert. Die neue Achsenbeschriftung, ihre Positionierung und die Werte zur Trimmung können nur außerhalb der psgraph-Umgebung mit \psset festgelegt werden.

    So, hoffentlich wurde alle Fragen zufriedenstellend beantwortet. Sonst einfach nochmal nachfragen.


    MfG
    Thorsten
    Geändert von localghost (22-10-2007 um 18:15 Uhr) Grund: Ergänzung.
    TeX und LaTeX, Fragen und Antworten – TeXwelt

    ¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
    ² System: openSUSE 13.1 (Linux 3.11.10), TeX Live 2013, TeXworks 0.5 (r1351)

  3. #3
    Registrierter Benutzer
    Registriert seit
    10.11.2004
    Beiträge
    124
    Danke, sieht sehr gut aus.

    Da ich viele Plots aus einer Applikation heraus erstellen will, muss ich mir noch überlegen, wie ich die Achsenbeschriftung immer zentriert unter der Achse platzieren kann, denn die Skalierung wird für jeden Plot anders sein.

Lesezeichen

Berechtigungen

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