Anzeige:
Ergebnis 1 bis 2 von 2

Thema: psgraph: Y-Achsen-Offset

  1. #1
    Registrierter Benutzer
    Registriert seit
    05.05.2011
    Beiträge
    19

    psgraph: Y-Achsen-Offset

    Hallo,

    da ein Teil der Datenpunkte auf der y-Achsen-0-Linie liegt, möchte ich diese zur besseren Darstellung geringfügig nach oben verschieben. Folgendes habe ich probiert, wobei dann aber leider die Verschiebung mit ".2" am Ursprungspunkt angegeben wird. Wie kann man ein Offset für die Y-Achse nach oben erreichen?

    Danke und Gruß

    \begin{filecontents*}{test.dat}
    1980 824774 85712 0 28570
    1981 891561 89485 0 29828
    1982 936959 91556 0 30518
    1983 973028 93003 0 31001
    1984 1007949 93916 0 31305
    1985 1045408 94376 0 31458
    1986 1086479 95129 0 31709
    1987 1163384 109617 0 36539
    1988 1364084 157189 0 52396
    1989 1735945 255323 0 85107
    1990 2128917 403273 0 134424
    1991 2348565 550606 0 183535
    1992 2578097 746235 239417 239417
    1993 2796686 953582 306782 0
    1994 3018955 1166796 375179 0
    1995 3236560 1376205 446864 0
    \end{filecontents*}

    \documentclass[11pt,titlepage, a4paper, oneside]{report}
    \usepackage{pstricks,pstricks-add}
    \usepackage{pst-pdf}
    \psset{unit=1mm}
    \begin{document}

    \begin{figure*}[!tp]
    \centering
    \begin{pspicture}[linewidth=0.5pt](0,0)(9,140)
    \readdata{\data}{test.dat}
    \pstScalePoints(1,0.000001){1980 sub}{}
    \psset{yAxisLabel=[N],xAxisLabel=, ticks=y, llx=-1.7cm,lly=-1.4cm}
    \psgraph[Ox=1980,Oy=0, Dx=5,Dy=1,axesstyle=frame,showorigin=false,showOri ginTick=false,ylabelFactor={\cdot10^6},xLabels={\e mpty}]{->}(0,-0.2)(31,5.5){8cm}{6cm}
    \listplot[plotNo=1, plotNoMax=4, linecolor=my_Red_2, linewidth=1pt]{\data}
    \listplot[plotNo=2, plotNoMax=4, linecolor=my_Blue_2, linewidth=1pt]{\data}
    \listplot[plotNo=3, plotNoMax=4, linecolor=my_Blue_2, linewidth=1pt, xStart=1992,linestyle=dashed]{\data}
    \listplot[plotNo=4, plotNoMax=4, linecolor=my_Gray, linewidth=1pt, xEnd=1992, linestyle=dashed]{\data}
    \endpsgraph
    \end{pspicture}
    \caption[test]{\textbf{test}test}
    \label{fig:test}
    \end{figure*}

    \end{document}

  2. #2
    Registrierter Benutzer
    Registriert seit
    05.05.2011
    Beiträge
    19

    Mögliche Lösungen

    Nach ein wenig "Rumbasteln" bin ich nun auf zwei Lösungswege gekommen:
    1. Möglichkeit: man verzichtet auf psgraph und setzt alle Elemtente mit rput innerhalb einer pspicture-Umgebung (und dabei dann die y-Achse und die Daten nach oben verschoben)
    2. Die Daten-Werte werden entsprechend dem gewünschten Offset mit pstScalePoints konstant erhöht, die Labels und Ticks der Achsen werden in den psgraph-Optionen eliminiert, eine zusätzliche y-Achse wird verschoben mit rput innerhalb von psgraph eingesetzt. Dabei ist zu beachten, dass bei psset ticks=y gesetzt werden muss (zumindest wenn wie hier nur die y-Achse mit ticks versehen werden soll), und dann zunächst in psgraph ticks=none.

    \begin{filecontents*}{test.dat}
    1980 824774 85712 0 28570
    1981 891561 89485 0 29828
    1982 936959 91556 0 30518
    1983 973028 93003 0 31001
    1984 1007949 93916 0 31305
    1985 1045408 94376 0 31458
    1986 1086479 95129 0 31709
    1987 1163384 109617 0 36539
    1988 1364084 157189 0 52396
    1989 1735945 255323 0 85107
    1990 2128917 403273 0 134424
    1991 2348565 550606 0 183535
    1992 2578097 746235 239417 239417
    1993 2796686 953582 306782 0
    1994 3018955 1166796 375179 0
    1995 3236560 1376205 446864 0
    \end{filecontents*}

    \documentclass[11pt,titlepage, a4paper, oneside]{report}
    \usepackage{pstricks,pstricks-add}
    \usepackage{pst-pdf}
    \psset{unit=1mm}
    \begin{document}

    \begin{figure*}[!tp]
    \centering
    \begin{pspicture}[linewidth=0.5pt](0,0)(9,140)
    \readdata{\data}{test.dat}
    \pstScalePoints(1,0.000001){1980 sub}{200000 add}
    \psset{yAxisLabel=[N],xAxisLabel=, ticks=y, llx=-1.7cm,lly=-1.4cm}
    \psgraph[Ox=1980,Oy=0, Dx=5,Dy=1,ticks=none,axesstyle=frame,showorigin=false,showOri ginTick=false,xLabels={\empty},yLabels={\empty}]{->}(0,0)(31,5.5){8cm}{6cm}
    \listplot[plotNo=1, plotNoMax=4, linecolor=my_Red_2, linewidth=1pt]{\data}
    \listplot[plotNo=2, plotNoMax=4, linecolor=my_Blue_2, linewidth=1pt]{\data}
    \listplot[plotNo=3, plotNoMax=4, linecolor=my_Blue_2, linewidth=1pt, xStart=1992,linestyle=dashed]{\data}
    \listplot[plotNo=4, plotNoMax=4, linecolor=my_Gray, linewidth=1pt, xEnd=1992, linestyle=dashed]{\data}
    \rput(0,2mm){\psaxes[Oy=0, Dy=1, xLabels={\empty}, axesstyle=none,ylabelFactor={\cdot10^6}]{->}(,5)
    \endpsgraph
    \end{pspicture}
    \caption[test]{\textbf{test}test}
    \label{fig:test}
    \end{figure*}

    \end{document}

Lesezeichen

Berechtigungen

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