当使用 绘制 xbar 图时pgfplots
,条形图始终从 0 移动到请求的坐标。例如(pgfplots 手册第 78 页):
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xbar, xmin=0,
width=12cm, height=3.5cm, enlarge y limits=0.5,
symbolic y coords={no,yes},
ytick=data,
nodes near coords, nodes near coords align={horizontal},
]
\addplot coordinates {(3,no) (7,yes)};
\end{axis}
\end{tikzpicture}
\end{document}
但是,我希望条形图的间隔不同,比如说否:1 到 3,是:2 到 7。我在手册中没有找到任何可以立即应用于我的问题的内容。
答案1
您可以为此使用堆叠图,并使用以下方法使第一个系列不可见draw=none, forget plot
:
\documentclass{article}
\usepackage{pgfplots, pgfplotstable}
\begin{document}
\pgfplotstableread{
Lower Upper Name
1 3 no
2 7 yes
}\loadedtable
\begin{tikzpicture}
\begin{axis}[
xbar, xmin=0,
width=12cm, height=3.5cm, enlarge y limits=0.5,
symbolic y coords={no,yes},
ytick=data,xbar stacked,
bar shift=0pt
]
\addplot [draw=none, forget plot] table [x=Lower, y=Name]{\loadedtable};
\addplot table [x expr=\thisrow{Upper}-\thisrow{Lower}, y=Name]{\loadedtable};
\end{axis}
\end{tikzpicture}
\end{document}