如何在 pgfplots 中省略非整数 x 轴刻度?

如何在 pgfplots 中省略非整数 x 轴刻度?

下图中 x 刻度在 0.5、1.5 和 2.5 处很烦人。非整数值对我的目的没有任何解释。

带有丑陋 x 轴刻度的图形

问题:如何让 pgfplots 排除非整数 x 轴刻度?

我意识到我可以通过 来实现这一点xtick={0,...,3},但在更大的情况下,比如说xtick={0,...,100},刻度会重叠。所以,这种方法并不“灵活”。

理想情况下,我想保留所有内容,但如果出现非整数 x 轴刻度,则将其删除。

这是一个最小工作示例(当然,它需要独立类和 pgfplots 包才能运行):

\documentclass[crop]{standalone}

\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}
  \begin{axis}[ybar=0,xlabel={$\lambda$},ylabel={$\#\{\prec:\Lambda(G,\prec)=\lambda\}$},ymin=0,height=2in,width=4in]
    \addplot[blue!50,bar width=0] coordinates {
      (0,2)
      (1,4)
      (2,6)
      (3,12)
    };
  \end{axis}
\end{tikzpicture}

\end{document}

答案1

因此我尝试了评论中提到的方法,这是 MWE

\documentclass[a4paper,12pt]{scrartcl}
\usepackage{tikz,pgfplots,amsmath}
\begin{document}
    \begin{tikzpicture}
      \begin{axis}[xtick={0,1,...,3},ybar=0,xlabel={$\lambda$},ylabel={$\#\{\prec:\Lambda(G,\prec)=\lambda\}$},ymin=0,height=2in,width=4in]
        \addplot[blue!50,bar width=0] coordinates {
          (0,2)
          (1,4)
          (2,6)
          (3,12)
        };
      \end{axis}
    \end{tikzpicture}
\end{document}

产生

阴谋

您可以将1in更改{0,1,...,3}为 a2以获得仅带有勾号的02,这表明对于您关于{0,...,100}类似内容的问题{0,20,...,100},它会非常好并且运行良好。

编辑:仅供参考,因为其他人可能会感兴趣。当然反过来也行得通,所以{0,.25,...,3}{0,.5,...,3}强制使用非整数值,尽管第一个看起来相当密集。

相关内容