我如何垂直拉伸类别和 xbar?不同的 xbar 之间应该有更多空间。
我的文件datatable.txt
:
one two three
A 2 0.3
B 3 0.4
C 4 0.5
D 5 0.6
E 4 0.7
F 3 0.6
G 2 0.5
H 3 0.4
I 4 0.3
J 5 0.4
K 4 0.5
L 3 0.6
M 2 0.7
N 3 0.6
我的代码:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\begin{document}
\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[
xbar,
xmin=1,
xmax=6,
ytick=data,
yticklabels from table={datatable.txt}{one}
]
\addplot plot [error bars/.cd, x dir = both, x explicit] table [x=two, y expr=\coordindex, x error = three] {datatable.txt};
\end{axis}
\end{tikzpicture}
\caption{xbars and standard deviations}
\end{figure}
\end{document}
答案1
您可以通过以下方式增加条形之间的空间:
- 增加图的高度:例如更改
height=10cm
为height = 15cm
; - 保持相同的高度,但使条形变窄,例如将
bar width=10pt
(默认)更改为bar width=7.5pt
;或 - 您可以组合高度和条宽调整。
这是一个高大的图,类别之间有更多间距,height=15cm
并且xbar={7.5pt}
这是代码:
\documentclass{article}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\pgfplotstableread[header=true]{
one two three
A 2 0.3
B 3 0.4
C 4 0.5
D 5 0.6
E 4 0.7
F 3 0.6
G 2 0.5
H 3 0.4
I 4 0.3
J 5 0.4
K 4 0.5
L 3 0.6
M 2 0.7
N 3 0.6
}\data
\pgfplotsset{compat=newest, width=10cm, height=15cm}
\begin{document}
\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[
xbar,
bar width={7.5pt},
xmin=1,
xmax=6,
symbolic y coords={N,M,L,K,J,I,H,G,F,E,D,C,B,A},
ytick=data,
ytick style={draw=none}
]
\addplot [
error bars/.cd,
x dir = both,
x explicit,
] table [
x=two,
y=one,
x error = three
] {\data};
\end{axis}
\end{tikzpicture}
\caption{xbars and standard deviations}
\end{figure}
\end{document}