我正在尝试格式化全部y 在图表中勾选标签,pgfplots
以便逗号作为小数分隔符。我尝试过的方法是:
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat = 1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[axis lines = center, xlabel = {$x$}, ylabel = {$f(x)$},
/pgf/number format/.cd, use comma,
extra y ticks = {8.25}, extra y tick labels = {$\theta = 8.25$}]
\addplot [domain = 0:8] {x^2};
\end{axis}
\end{tikzpicture}
\end{document}
这使
我还希望小数点分隔符能够正确对齐(以防其他 y 刻度使用一个),即使\theta =
存在该部分。
使用\pgfmathprintnumber{8.25}
给了我正确的小数分隔符(,),但我无法\theta =
正确定位。
答案1
如果所有这些extra y ticks
都应该\theta =
在数字之前,你可以使用
extra y tick label = {$\theta = \pgfmathprintnumber{\tick}$}
而不是extra y tick labels
。或者,如果只有一个,您可以将代码修改为extra y tick labels = {$\theta = \pgfmathprintnumber{8.25}$}
。
如果您为所有刻度标签设置了相同的精度,则逗号会排列整齐,请参见第二个示例。
\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat = 1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines = center,
xlabel = {$x$},
ylabel = {$f(x)$},
/pgf/number format/.cd, use comma,
extra y ticks = {8.25,28.45},
extra y tick label = {$\theta = \pgfmathprintnumber{\tick}$},
]
\addplot [domain = 0:8] {x^2};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[
axis lines = center,
xlabel = {$x$},
ylabel = {$f(x)$},
/pgf/number format/.cd, use comma,
extra y ticks = {8.25,28.4},
extra y tick label = {$\theta = \pgfmathprintnumber{\tick}$},
yticklabel style={/pgf/number format/.cd,
fixed,fixed zerofill,precision=2}
]
\addplot [domain = 0:8] {x^2};
\end{axis}
\end{tikzpicture}
\end{document}