Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Zahlenformat der Achsenbeschriftung mit TikZ

  1. #1
    Registrierter Benutzer
    Registriert seit
    27.02.2012
    Beiträge
    106

    Zahlenformat der Achsenbeschriftung mit TikZ

    Hallo zusammen,

    ich habe folgendes Problem: Ich plotte zwecks optisch besserer Darstellung Matlab Ausgaben über TikZ neu. In meinem TikZ file steht dann zum Beispiel

    Code:
    ytick={-0.09798,  0.73097,   1.5599},
    Während der zweite und dritte Tick als 0.73 bzw. 1.56 dargestellt werden, wird der erste in diesem Fall als -9.8*10^-2 dargestellt, was deutlich mehr Platz braucht und die y-Achsenbeschriftung verschiebt.

    Hier das komplette Minimalbeispiel:

    Code:
    \documentclass[]{scrreprt}
    
    \usepackage[pdftex,dvips,final]{graphicx}
    \graphicspath{{C:/Users/sdy7si/Documents/Master_Thesis/Grafiken/}} 			% Dort liegen die Bilder des Dokuments
    \usepackage[]{epstopdf}
    \epstopdfsetup{outdir=./Grafiken/}
    \usepackage[]{pstool}
    \usepackage[]{pgfplots}
    \pgfplotsset{compat=newest}
    \pgfplotsset{plot coordinates/math parser=false}
    
    \usetikzlibrary{external}
    \tikzexternalize[prefix=tikz/]
    \pgfplotsset{invoke before crossref tikzpicture={\tikzexternaldisable},invoke after crossref tikzpicture={\tikzexternalenable}}
    
    %Farben aus Matlab
    \definecolor{mycolor1}{rgb}{0,0.1961,0.3922}%
    \definecolor{mycolor6}{rgb}{0,0.8078,0.8196}%
    
    \newlength\figurewidth
    \setlength\figurewidth{.75\textwidth} 
    \newlength\figureheight
    \setlength\figureheight{.4\textheight} 
    
    \begin{document}
    \begin{tikzpicture}
    
    \begin{axis}[%
    width=\figurewidth,
    height=0.998087291399229\figurewidth,
    %scale only axis,
    xmin=0,
    xmax=60,
    xlabel={x Achse},
    xmajorgrids,
    ymin=0,
    ymax=1,
    ytick={  0, 0.5,   1},
    ylabel={y Achse},
    ymajorgrids,
    title={Titel},
    legend style={at={(-0.03,1)},anchor=north east,draw=black,fill=white,legend cell align=left}
    ]
    \addplot [
    color=mycolor1,
    solid,
    line width=2.0pt,
    forget plot
    ]
    table[row sep=crcr]{
    0.0384377351657242 0.632851998154007\\
    0.0777341378895943 0.647570223743002\\
    0.117455361007087 0.636596641652235\\
    0.157209661539476 0.64495552939171\\
    0.196623390015201 0.64508000986148\\};
    \end{axis}
    \begin{axis}[%
    width=\figurewidth,
    height=0.998087291399229\figurewidth,
    %scale only axis,
    xmin=0,
    xmax=60,
    every outer y axis line/.append style={mycolor6},
    every y tick label/.append style={font=\color{mycolor6}},
    ymin=-0.0979801786289969,
    ymax=1.55992781188202,
    ytick={-0.09798,  0.73097,   1.5599},
    ylabel={y Achse},
    axis x line*=bottom,
    axis y line*=right,
    legend style={at={(1.03,1)},anchor=north west,draw=black,fill=white,legend cell align=left}
    ]
    \addplot [
    color=mycolor6,
    solid,
    line width=2.0pt,
    forget plot
    ]
    table[row sep=crcr]{
    0.0384377351657242 0.00515810957241325\\
    0.0777341378895943 0.0053822016679956\\
    0.117455361007087 0.00514311270152846\\
    0.157209661539476 0.00535063871263437\\
    0.196623390015201 0.00523053133534605\\
    };
    \end{axis}
    \end{tikzpicture}%
    
    \end{document}
    Kann man definieren, dass dann dieses Label z.B. als -0.09 (nach der 2ten Nachkommastelle abgeschnitten) oder -0.10 (gerundet) dargestellt werden soll?

    Danke euch und Grüße
    Steffen

  2. #2
    Registrierter Benutzer
    Registriert seit
    01.07.2007
    Beiträge
    121
    Hi,

    es ist zwar keine direkte Antwort auf Deine Frage, aber wenn du das häufiger machst kann ich Dir für Matlab Matlabfrag

    Link

    empfehlen. Dadurch wird der Transfer von Matlab zu Tex sehr einfach und auch gut änderbar.

    Gruß

  3. #3
    Registrierter Benutzer
    Registriert seit
    27.02.2012
    Beiträge
    106
    Grüß dich,

    danke für den Tip. Ich verwende matlab2tikz. Mit Matlabfrag habe ich zeitweise auch herumgespielt, finde matlab2tikz jedoch besser (persönliche Meinung).

    Grüße
    Steffen

  4. #4
    Registrierter Benutzer
    Registriert seit
    21.08.2009
    Beiträge
    496
    Du kannst bei every y tick label/.append style zusätzlich die Formatierung der Zahlen vorgeben:

    Code:
    ...
    every y tick label/.append style={
        font=\color{mycolor6},
        /pgf/number format/.cd,fixed,zerofill,precision=2},
    ...
    Gruß
    Elke

  5. #5
    Registrierter Benutzer
    Registriert seit
    27.02.2012
    Beiträge
    106
    Grüß dich Elke,

    ich danke dir vielmals! Macht genau das, was ich mir gewünscht habe

Lesezeichen

Berechtigungen

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