在下面的 MWE 中,我想知道如何格式化绘图,以便
- 额外的 y 刻度被格式化为两位小数,但其余的只带有一位小数
为什么不打印零?零不应该是洋红色(这是因为axis lines=center
)
这是 MWE,请注意,添加到额外 y 刻度的内容没有任何作用
\RequirePackage[svgnames,dvipsnames]{xcolor}
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmax=1.1,xmin=0,
ymax=1.1,ymin=0,
xtick={0,0.5,1},
ytick={0,0.5,1},
axis lines=center,
tick label style={
/pgf/number format/.cd,
fixed,
fixed zerofill,
precision=1,
},
extra y tick style={
magenta,
major tick style={
magenta,
},
/pgf/number format/.cd,
fixed,
fixed zerofill,
precision=2,
},
extra y ticks={0.87},
]
\end{axis}
\end{tikzpicture}
\end{document}
答案1
- 你必须使用
tick label style
里面的extra y tick style
。 - 添加
hide obscured x ticks=false
和hide obscured y ticks=false
以打印零。如果此选项为真(即默认),则如果可能位于其他轴线后面,则刻度将被隐藏。
代码:
\RequirePackage[svgnames,dvipsnames]{xcolor}
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmax=1.1,xmin=0,
ymax=1.1,ymin=0,
xtick={0,0.5,1},
ytick={0,0.5,1},
axis lines=center,
tick label style={
/pgf/number format/.cd,
fixed,
precision=1,
},
extra y tick style={
magenta,
major tick style={
magenta,
},
tick label style={% <- added
/pgf/number format/.cd,
fixed,
precision=2,
}% <- added
},
extra y ticks={0.87},
hide obscured x ticks=false,% <- added
hide obscured y ticks=false% <- added
]
\end{axis}
\end{tikzpicture}
\end{document}