pgfplots 额外的 y 刻度格式

pgfplots 额外的 y 刻度格式

在下面的 MWE 中,我想知道如何格式化绘图,以便

  1. 额外的 y 刻度被格式化为两位小数,但其余的只带有一位小数
  2. 为什么不打印零?零不应该是洋红色(这是因为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

  1. 你必须使用tick label style里面的extra y tick style
  2. 添加hide obscured x ticks=falsehide 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}

相关内容