PGFPlots 在原点只有一个 0

PGFPlots 在原点只有一个 0

当我使用 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})。以下是显示两种可能性的示例(忽略xy):

\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}

在此处输入图片描述 在此处输入图片描述

相关内容