Anzeige:
Ergebnis 1 bis 6 von 6

Thema: pgfplots Achsenbeschriftung

  1. #1
    Registrierter Benutzer
    Registriert seit
    29.11.2011
    Beiträge
    13

    pgfplots Achsenbeschriftung

    hallihallo
    ich habe ein kleines Problem mit der X-Achse meines Graphen. Wahrscheinlich sitze ich grade einfach schon zu lang dran um überhaupt noch die Lösung zu sehen... Ich würde gern die X-Achsenbeschriftung ohne diese Hochzahlen haben.
    mein Code sieht grade so aus:
    Code:
    \documentclass[12pt
    	,a4paper
    %	,draft
    	]{scrartcl}
    \usepackage{amssymb,amsmath,amsfonts}		%Mathematische Symbole
    \usepackage[miktex]{gnuplottex}			%gnuplot
    \usepackage{pgfplots}				%plots
    \usepackage{pgfplotstable}			%einlesen von Tabellen von pgf
    \begin{document}
    \begin{figure}[H]
    \centering
     \pgfplotstableread{patentblauextinktionskoeffizient.txt}{\datatable}
    \begin{tikzpicture}[scale=1.5]
     \begin{axis}[
          xlabel= \small {Konzentration \text{[mmol/L]}},
          ylabel= Absorptionsmaximum,
          xmin=0.002,
          ylabel near ticks,
          xlabel near ticks,
          xmax=0.005, 
          ymin=0,
          %xtick={0.002,0.003,0.004,0.005},
          xtick=data,
    %xticklabel={\pgfkeys{/pgf/fpu}\pgfmathparse{exp(\tick)}\pgfmathprintnumber\p gfmathresult},
          %  minor x tick num=3,
          %  minor y tick num =4,
          height=7cm,
          width=8.5cm,
          %   legend style={at={(1,0.4)},anchor=north east} 
          ]
      \addplot [red,no marks]table[y = Y1] from \datatable ;
      \addplot+ [raw gnuplot, mark=none, line width=0.8pt, black] gnuplot [id=patentblauextinktionskoeffizient]{
        f(x)=a*x+b;
        fit [0.002:0.005]f(x) 'patentblauextinktionskoeffizient.txt' using 1:2 via a,b;
        plot [x=0:0.005] f(x);};
      \end{axis}
    \end{tikzpicture}
    \caption{test}
    \end{figure}
    \end{document}
    ich habe auch schon
    Code:
    	xticklabel={%
    		\pgfplotsset{/pgf/fpu}% <-- erweiterter zahlenbereich
    		\pgfmathparse{exp(\tick)}% exponentiere den exponent
    		\pgfmathprintnumber[fixed]{\pgfmathresult}% formatiere die zahl
    	},
    	]
    ausprobiert ohne Erfolg.

    Ich hoffe sehr mir kann jemand helfen. Im Anhang findet ihr die Messdatei zum compilieren

    Gruß Chaos

  2. #2
    Registrierter Benutzer
    Registriert seit
    23.07.2010
    Beiträge
    96
    Hi chaosman,

    hilft Dir "scaled ticks=false,xtick style={/pgf/number format/fixed,/pgf/number format/precision=4}" ?

    Das erste schaltet das extra-label " \cdot 10^{e}" aus (falls Du das hast) und das zweite konfiguriert die Zahldarstellung der x Achse. Der 'fixed' style vermeidet die Exponentialdarstellung und die precision gibt die rundungsgenauigkeit an. Es gibt (zusaetzlich) noch 'fixed zerofill', damit der hinten noch nullen auffuellt, bis precision stellen dargestellt werden.

    Mit liebem Gruss

    Christian

  3. #3
    Registrierter Benutzer
    Registriert seit
    29.11.2011
    Beiträge
    13
    hallo christian,

    erster Teil super, 2. Teil hilft leider nicht - hab das ausprobiert und trotzdem habe ich noch meine zahlen in dem stil 2*10^-3 zu stehen...

    hast du vielleicht noch was anderes?

    Gruß Chaos

  4. #4
    Registrierter Benutzer
    Registriert seit
    23.07.2010
    Beiträge
    96
    Hallo chaosman,

    sorry, das beruht auf einem tippfehler von mir: ich meinte "xticklabel style={...}" und nicht "xtick style" ... letzteres gilt nur fuer die tick linien, fuer die das setzen von zahlformatierungen nicht so viel bringt

    Mit liebem Gruss

    Christian

  5. #5
    Registrierter Benutzer
    Registriert seit
    29.11.2011
    Beiträge
    13
    1000 Dank du bist mein offizieller Held

  6. #6
    Registrierter Benutzer
    Registriert seit
    21.12.2011
    Beiträge
    69
    Zitat Zitat von Feuersaenger Beitrag anzeigen
    Hallo chaosman,

    sorry, das beruht auf einem tippfehler von mir: ich meinte "xticklabel style={...}" und nicht "xtick style" ... letzteres gilt nur fuer die tick linien, fuer die das setzen von zahlformatierungen nicht so viel bringt

    Mit liebem Gruss

    Christian
    Hallo, die Sache funktioniert ja super ... also fast! Vielleicht könnt ihr mir bei dem letzten Schliff auch noch helfen:

    Code:
    \begin{figure}[htbp]						
    \centering
    \begin{tikzpicture}
    \begin{semilogxaxis}[
    	xmin=0, xmax=16,						
    	ymin=0, ymax=100,
    	xtick={0.125,0.25,0.5,1,2,4,8,16},
    	ytick={0,20,...,100},
    	xlabel={Maschenweite/Lochweite, [mm]},	
    	ylabel={Siebdurchgang, [Vol.-\%]},
    	xlabel style={
    		at={(0.5,-0.01)},
    		anchor= north,
    		fill=white,
    		},
    	ylabel style={
    		%at={(-0.01,0.5)},
    		%anchor= south,
    		%rotate=90,
    		fill=white,
    		},
    	scaled ticks=false,
    	xticklabel style={
    		/pgf/number format/fixed,
    		/pgf/number format/precision=3
    		},
    	xticklabel={%
    		\pgfplotsset{/pgf/fpu}% <-- erweiterter zahlenbereich
    		\pgfmathparse{exp(\tick)}% exponentiere den exponent
    		\pgfmathprintnumber[fixed]{\pgfmathresult}% formatiere die zahl
    		},
    	]
    	
    \addplot[color=blue,mark=*] coordinates{
    (0.125,8)
    (0.25,16)
    (0.5,18)
    (1,34)
    (2,62)
    (4,74)
    (8,88)
    (16,100)
    };
    \addlegendentry{B16};
    
    \end{semilogxaxis}
    \end{tikzpicture}
    Der Graph verläuft genau so, wie es sein wollte. Leider mit einem Hacken - die letzte Zahl in der X-Achse wird nicht auf 16 sondern auch 15.998 angegeben. Ich benötige allerdings die 3 Nachkommastellen, da an vorher eine 0.125 stehen soll. Weiß jemand von euch Rat? Auch die Punkte wären schön - also 0.125 und nicht 0 125 ...?
    Geändert von humpenjack (25-10-2012 um 14:12 Uhr)

Lesezeichen

Berechtigungen

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