Warum ignoriert Tikz die festgelegten Y-Tick-Werte?

Warum ignoriert Tikz die festgelegten Y-Tick-Werte?

Ich habe ein Diagramm mit Y-Achsenwerten, die von Tikz auf zwei Dezimalstellen gerundet werden. Die Änderung der Werte erfolgt in der 3. und 4. Dezimalstelle. Aufgrund der Rundung werden auf der Y-Achse konstante Werte angezeigt:
Bildbeschreibung hier eingeben

Das MWE wird unten angezeigt. Ich habe versucht, die ytickEigenschaft so einzustellen, dass sie die gewünschten Werte enthält, aber das hat das Problem nicht gelöst.

\documentclass{book}

\usepackage{amsmath}
\usepackage{tikz}                   % needed to import .tikz graphics
\usepackage{pgfplots}               % needed to import .tikz graphics

\begin{document}
Text and image:

\begin{tikzpicture}

\begin{axis}[%
width=0.8\textwidth,
height=0.3\textheight,
scale only axis,
xmin=4000,
xmax=5000,
xtick={4000, 4200, 4400, 4600, 4800, 5000},
xlabel={iteration},
xmajorgrids,
ymin=0.4615,
ymax=0.4645,
ytick={0.4615, 0.4625, 0.4635, 0.4645},
ylabel={$\text{C}_\text{L}\text{ [-]}$},
ymajorgrids,
axis x line*=bottom,
axis y line*=left
]
\addplot [color=blue,solid,line width=1.5pt,forget plot]
  table[row sep=crcr]{
3997    0.463684    \\
};
\end{axis}
\end{tikzpicture}%

\end{document}

Wie kann ich Tikz zwingen, die genauen Y-Achsenwerte anzuzeigen, wie in der ytickEigenschaft festgelegt?

Antwort1

Mit number format/precisionkönnen Sie den Standardwert von ändern 2. Hier ist ein Beispiel für die Änderung der Genauigkeit für die y-Achsenbeschriftungen vom Standardwert 2auf 3:

\documentclass{book}

\usepackage{amsmath}
\usepackage{tikz}                   % needed to import .tikz graphics
\usepackage{pgfplots}               % needed to import .tikz graphics

\begin{document}
Text and image:

\begin{tikzpicture}

\begin{axis}[%
width=0.8\textwidth,
height=0.3\textheight,
scale only axis,
xmin=4000,
xmax=5000,
xtick={4000, 4200, 4400, 4600, 4800, 5000},
xlabel={iteration},
xmajorgrids,
ymin=0.4615,
ymax=0.4645,
ytick={0.4615, 0.4625, 0.4635, 0.4645},
ylabel={$\text{C}_\text{L}\text{ [-]}$},
yticklabel style={/pgf/number format/precision=3},
ymajorgrids,
axis x line*=bottom,
axis y line*=left
]
\addplot [color=blue,solid,line width=1.5pt,forget plot]
  table[row sep=crcr]{
3997    0.463684    \\
};
\end{axis}
\end{tikzpicture}%

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen