Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Pgfplots Abstand der Achsenbeschriftung zur Achse

  1. #1
    Registrierter Benutzer
    Registriert seit
    07.01.2011
    Beiträge
    34

    Pgfplots Abstand der Achsenbeschriftung zur Achse

    Hallo zusammen,

    ich habe ein Problem mit dem Erstellen einer Grafik. Ich nutze das Paket pgfplots.
    Die Achsenbeschriftung der Y-Achse wandert nach außen, sobald ich die Y-Achse in irgendeiner Form skaliere. Ich habe keine Ahnung warum das geschieht. In einem anderen Diagramm klappt das problemlos. Der einzige Unterschied ist, dass ich in dem anderen Diagramm eine 2. Y- Achse auf der rechten Seite habe. Ich habe schon beide Scripte miteinander verglichen, kann aber keinen Fehler feststellen.

    Ich habe mal ein Minimalbeispiel erstellt:


    HTML-Code:
    \begin{filecontents}{test.dat}
    0		-5
    10	0
    20	3	
    30	10
    \end{filecontents}
    
    
    \documentclass[%
    	a4paper,%             Wir verwenden A4 Papier.
    	oneside,%             Einseitiger Druck.
    	12pt,%                Grosse Schrift, besser geeignet für A4.
    	halfparskip,%         Halbe Zeile Abstand zwischen Absätzen.
    	idxtotoc%             Index ins Inhaltsverzeichnis einfügen.
        bibliography
    ]{scrartcl}
    \thispagestyle{empty}
    %\usepackage[left=3.0cm,right=2cm,top=1cm,bottom=2cm]{geometry}
    
    \usepackage{tikz}
    \usetikzlibrary{snakes}
    \usepackage{xcolor}
    \usepackage{pgfplots}
    \pgfplotsset{compat=1.3}% <-- moves axis labels near ticklabels (respects tick label widths)
    \usepackage[latin1]{inputenc} %9
    \usepackage[T1]{fontenc}
    
    
    \begin{document}
    
    
    
    \begin{tikzpicture}
    \begin{axis}
    [width=14cm,height=6cm,
    xlabel={Zeit [$min$]},
    ylabel={Hier ist das Problem},
    legend columns=2,													%Legende: 3 Einträge in Reihe
    scale only axis,													%scalierung der x Achse
    xmin=0,xmax=75,													% xmin und max
    xtick={0,15,30,45,60,75},																
    %ymin=-5,ymax=10,	
    %ytick={-5,0,5,10},													% ymin und max
    axis y line*=left,												% the '*' avoids arrow heads
    minor x tick num=2,
    %minor y tick num =4,
    grid=major,
    legend style={at={(0.98,0.68)}}]
    
    \addplot[only marks,mark=square*,blue] file {test.dat};
    
    \end{axis}
    \end{tikzpicture}
    \end{document}
    Wenn man hier die einkommentiert wandert das Label nach außen:

    %ymin=-5,ymax=10,
    %ytick={-5,0,5,10},
    %minor y tick num =4,

    Es wäre schön wenn mir da jemand weiter helfen kann. Das kann ja nur eine Kleinigkeit sein die ich vor lauter Blindheit im Moment nicht entdecke.

    Gruß Daniel

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

    Detail

    Es ist in der Tat nur eine Kleinigkeit in Form einer Option für die Umgebung axis.
    Code:
    \begin{filecontents*}{\jobname.dat}
    0   -5
    10 0
    20 3	
    30 10
    \end{filecontents*}
    \documentclass{minimal}
    \usepackage{pgfplots}
    
    \begin{document}
      \begin{tikzpicture}
        \begin{axis}[%
          width=14cm,height=6cm,
          xlabel={Zeit / min},
          ylabel={Hier ist das Problem},
          xlabel near ticks,
          ylabel near ticks,
          legend columns=2,
          scale only axis,
          xmin=0,xmax=75,
          xtick=0,15,30,45,60,75},							
          ymin=-5,ymax=10,
          ytick={-5,0,5,10},
          axis y line*=left,
          minor x tick num=2,
          minor y tick num =4,
          grid=major,
          legend style={at={(0.98,0.68)}}
        ]
    
          \addplot[only marks,mark=square*,blue] file {\jobname.dat};
        \end{axis}
      \end{tikzpicture}
    \end{document}

    Thorsten
    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
    07.01.2011
    Beiträge
    34
    Hmm, so ganz trifft es das noch nicht.

    Ich habe hier noch mal ein Beispiel das es etwas deutlicher macht. Das linke Label hat einen großen Abstand, das rechte ist näher an der Achse.
    Die Befehle

    xlabel near ticks,
    ylabel near ticks,

    habe ich gesetzt:

    Code:
    \begin{filecontents}{test.dat}
    0		-5
    10	0
    20	3	
    30	10
    \end{filecontents}
    
    \documentclass[%
    	a4paper,%             Wir verwenden A4 Papier.
    	oneside,%             Einseitiger Druck.
    	12pt,%                Grosse Schrift, besser geeignet für A4.
    	halfparskip,%         Halbe Zeile Abstand zwischen Absätzen.
    	idxtotoc%             Index ins Inhaltsverzeichnis einfügen.
        bibliography
    ]{scrartcl}
    \thispagestyle{empty}
    
    \usepackage[latin1]{inputenc} %9
    \usepackage[T1]{fontenc}
    
    \usepackage{tikz}
    \usetikzlibrary{patterns}
    \usetikzlibrary{fit}
    
    \usepackage{pgfplots}
    \pgfplotsset{compat=1.3}% <-- moves axis labels near ticklabels (respects tick label widths)
    
    
    
    
    \begin{document}
    \begin{tikzpicture}
    
    \begin{axis}
    [
    width=14cm,height=10cm,
    scale only axis,
    xmin=0,xmax=50,
    ymin=-0.5, ymax=2,
    ytick={-0.5,0,...,2.5},
    minor y tick num =4,
    xlabel={X Achse},
    ylabel={großer Abstand},
    xlabel near ticks,
    ylabel near ticks,
    grid=major,								
    ]
    
    \addplot[only marks,mark=square*,blue] file {test.dat};
    
    \end{axis}
    %_____________________________________________________________________________________
    
    \begin{axis}[
    width=14cm,height=10cm,
    scale only axis,												
    xmin=0,xmax=50,												
    xtick={0,5,...,50},	
    axis x line=none,				
    ymin=0,ymax=75,
    ytick={0,15,...,75},
    ylabel={kleiner Abstand},
    ylabel near ticks,
    minor y tick num =4,
    axis y line*=right,]
    \end{axis}
    
    \end{tikzpicture}
    
    \end{document}
    Gruß Daniel

  4. #4
    Registrierter Benutzer
    Registriert seit
    07.01.2011
    Beiträge
    34
    Ich habe gerade noch einmal alles mögliche durchprobiert. Ich habe einfach keine Ahnung warum das so ist...
    Weiß da niemand Rat?
    Das sieht einfach mist aus wenn sich die Abstände von einer Abbildung zur anderen einfach verändern.

    Gruß Daniel

  5. #5
    Registrierter Benutzer
    Registriert seit
    27.11.2007
    Beiträge
    375
    Hallo,

    für mich sieht das so aus, als ob tikz die Achsenbschriftung nicht in die Zahlen reinschreibt. Das wäre ein völlig korrektes Verhalten. Der Abstand vom "-0.5" zum linken Label scheint mir genauso groß wie der Abstand von 30 zum rechten Label...

    Christian.
    Ubuntu 16.04 -- TeX Live 2015 -- Emacs (AUCTeX, RefTeX)

  6. #6
    Registrierter Benutzer
    Registriert seit
    23.07.2010
    Beiträge
    96
    Hallo Daniel,

    was da passiert ist das das -0.5 label die eine Beschriftung nach aussen schiebt.

    Beheben kannst Du das, indem Du die Positionierung selber in die Hand nimmst.

    Vermutlich ist es das beste, wenn Du - wie gewuenscht - den Abstand links und rechts als gleich definierst.

    Das geht (z.B.), indem Du fuer die linke Achse
    ylabel style={at={(-0.07,0.5)}},

    und fuer die rechte Achse

    ylabel style={at={(1.07,0.5)}},

    setzt. In diesem Fall sind die Koordinaten relativ zur Achsengroesse, d.h. 50% der Hoehe und 7% der Breite bzw 107% der Breite. Da kannst Du vielleicht etwas mit rumspielen, um einen schoenen Abstand hinzubekommen.

    Mit liebem Gruss

    Christian

  7. #7
    Registrierter Benutzer
    Registriert seit
    07.01.2011
    Beiträge
    34
    So,

    ich möchte mich an dieser Stelle für die Hilfe bedanken. Speziell bei den Usern: Bobmalaria, johansjohe und Feuersaenger. Die drei haben echt Geduld bewiesen und mich in mehreren Freds durch den Dschungel der Latexpakete geführt. Natürlich aber auch bei allen anderen die beteiligt waren.
    Meine Masterarbeit ist schon längst abgegeben und heute hatte ich noch die Präsentation der Masterarbeit. Mit meinem Studium bin ich jetzt durch. Für die Formatierung der Arbeit und vor allem für die Darstellung meiner Messkurven habe ich von mehreren Stellen Lob bekommen. Das habe ich auch euch zu verdanken.
    Vielen Dank!

    Viele Grüße
    Daniel

Lesezeichen

Berechtigungen

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