当我使用 tikzpicture 创建图形时,tikz 会在绘图的原点处添加两个 0(一个用于 x 轴,另一个用于 y 轴)。我认为在原点处只有一个零看起来更简洁。我不想手动调整 xtick 和 ytick,希望有更智能的方法来做到这一点。我是否遗漏了 PGFPlots 手册中的某些内容?
谢谢!
答案1
没有内置代码,但您可以根据需要创建一种样式来实现。在这里,我创建了ignore zero
一个接受单个参数的样式:不会绘制零刻度标签的轴:
\pgfplotsset{ignore zero/.style={%
#1ticklabel={\ifdim\tick pt=0pt \else\pgfmathprintnumber{\tick}\fi}
}}
这只是将指定轴上的当前值\tick
与零进行比较。如果为零,则我们什么也不做;如果不是零,则继续进行正常的刻度标签排版(\pgfmathprintnumber{\tick}
)。以下是显示两种可能性的示例(忽略x
或y
):
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\pgfplotsset{ignore zero/.style={%
#1ticklabel={\ifdim\tick pt=0pt \else\pgfmathprintnumber{\tick}\fi}
}}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xmin=0,ymin=0,domain=0:5,ignore zero=x]
\addplot {x};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[xmin=0,ymin=0,domain=0:5,ignore zero=y]
\addplot {x};
\end{axis}
\end{tikzpicture}
\end{document}