为什么空刻度不能与空图一起使用?

为什么空刻度不能与空图一起使用?

我需要为我的学生制作一个空白图来填充。令人惊讶的是,当图为空时,选项xtick=\empty 和不起作用:ytick=\empty

\documentclass{standalone}

\usepackage{pgfplots}
\pgfplotsset{compat=1.18}

\begin{document}
 
 \begin{tikzpicture}
 \begin{axis}[width=10cm, height=4cm, scale only axis,
  axis lines=center,
  xtick=\empty, ytick=\empty,
  xlabel=$x$, ylabel=$f$]
%   \addplot {x+1};
 \end{axis}
\end{tikzpicture}
 
\end{document}

例子

我已经能够按照ticks=none说明选择实现我的目的这里,但这并不完全令人满意,因为此解决方法不允许在需要时取消单个轴上的刻度。此外,我无法在 Pgfplots 文档中找到此选项。

为什么该\empty命令在这里不起作用?

答案1

这是因为坐标范围是根据其内容计算的。我相信,当它缺失时,pgfplots 只会绘制默认轴,而忽略大多数选项(注意,这axis lines=center也不起作用)。

您有三个选择:

  1. 按照您描述的方式禁用刻度ticks=none。如果您只想消除 x 刻度或 y 刻度,您可以设置xmajorticks=falsexmajorticks=false类似地

    在此处输入图片描述

    \documentclass{article}
    
    \usepackage{pgfplots}
    \pgfplotsset{compat=newest}
    
    \begin{document}
    
     \begin{tikzpicture}
     \begin{axis}[width=10cm, height=4cm, scale only axis,
      axis lines=center,
      xlabel=$x$, ylabel=$f$,
      xmajorticks=false
      ]
     \end{axis}
    
     \end{tikzpicture}
    
    \end{document}
    
  2. 放置一些不可见的东西,\addplot这样轴的数据就不会是空白的

    在此处输入图片描述

    \documentclass{article}
    
    \usepackage{pgfplots}
    \pgfplotsset{compat=newest}
    
    \begin{document}
    
     \begin{tikzpicture}
     \begin{axis}[width=10cm, height=4cm, scale only axis,
      axis lines=center,
      xtick=\empty, ytick=\empty,
      xlabel=$x$, ylabel=$f$,
      ]
       \addplot[draw=none]{0};
     \end{axis}
    
     \end{tikzpicture}
    
    \end{document}
    
  3. 最正确的方法是指定所有xminxmaxyminymax这样轴就不再依赖于内容,而是依赖于您设置的值,从而\empty可以工作。 在此处输入图片描述

    \documentclass{article}
    
    \usepackage{pgfplots}
    \pgfplotsset{compat=newest}
    
    \begin{document}
    
     \begin{tikzpicture}
     \begin{axis}[width=10cm, height=4cm, scale only axis,
      axis lines=center,
      xtick=\empty, ytick=\empty,
      xlabel=$x$, ylabel=$f$,
      xmin=-1, xmax=5,
      ymin=-3, ymax=2
      ]
     \end{axis}
    
     \end{tikzpicture}
    
    \end{document}
    

相关内容