下图中 x 刻度在 0.5、1.5 和 2.5 处很烦人。非整数值对我的目的没有任何解释。
问题:如何让 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}
产生
。
您可以将1
in更改{0,1,...,3}
为 a2
以获得仅带有勾号的0
和2
,这表明对于您关于{0,...,100}
类似内容的问题{0,20,...,100}
,它会非常好并且运行良好。
编辑:仅供参考,因为其他人可能会感兴趣。当然反过来也行得通,所以{0,.25,...,3}
或{0,.5,...,3}
强制使用非整数值,尽管第一个看起来相当密集。