我想用 pgfplots 创建一个条形图,其中我使用连续addplot+
命令添加多个数据,例如:
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
height=4.5cm,
xbar=0pt,
bar width=7pt,
]
\addplot+ coordinates { (10,1) (5,2) (30,3) };
\addplot+ coordinates { (8,1) (14,3) };
\end{axis}
\end{tikzpicture}
\end{document}
结果:
如图所示,在 y = 2 处,只有来自第一个的数据addplot
,没有来自第二个的数据。在这种情况下,pgfplots 似乎会为来自其他条形的数据分配空间,导致单个条形看起来“偏移”。有没有办法让 pgfplots 不为没有提供数据的条形分配空间,另外导致 y = 2 处的单个条形垂直居中?
答案1
是否可以像这样单独挑出这些点\addplot
:
\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xbar=0pt,
]
\addplot+[bar shift=0pt, forget plot] coordinates { (5,2) };
\addplot coordinates { (10,1) (30,3) };
\addplot coordinates { (8,1) (14,3) };
\end{axis}
\end{tikzpicture}
\end{document}