我需要为我的学生制作一个空白图来填充。令人惊讶的是,当图为空时,选项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
也不起作用)。
您有三个选择:
按照您描述的方式禁用刻度
ticks=none
。如果您只想消除 x 刻度或 y 刻度,您可以设置xmajorticks=false
或xmajorticks=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}
放置一些不可见的东西,
\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}
最正确的方法是指定所有
xmin
、xmax
、ymin
,ymax
这样轴就不再依赖于内容,而是依赖于您设置的值,从而\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}