我有一个非常简单的条形图。我的问题是,当我设置 ymin 值时,所有值低于该阈值的 x 标签都不会显示。我宁愿显示标签而不显示值。
小例子:
\begin{tikzpicture}
\begin{axis}[
ybar,
ymin = 5,
xtick=data,
symbolic x coords={a,b,c},
]
\addplot coordinates {(a,7) (b,9) (c,4)};
\end{axis}
\end{tikzpicture}
左图无 ymin,右图有 ymin
谁能告诉我如何实现这个目标?
提前致谢。
答案1
你真的如果轴不是从零开始,则不应使用条形图(这违背了使用条形图的目的,并导致各种数据误传)。
话虽如此,但无论如何,这里有一种方法可以做到:您可以使用restrict y to domain*=5:inf
截断轴下限处的值(低于阈值的值被分配阈值)。这样,所有条形图都会被绘制,有些条形图的高度为零。为了确保这些条形图不可见,最好在选项axis on top
中进行设置axis
。
\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis on top,
ybar,
ymin = 5,
restrict y to domain*=5:inf,
xtick=data,
symbolic x coords={a,b,c}
]
\addplot coordinates {(a,7) (b,9) (c,4)};
\end{axis}
\end{tikzpicture}
\end{document}