总体而言,我的误差线有效。但是,一个错误值相对较高,导致 y 轴上出现额外空间(y=0 以下)。我希望我的轴也看起来像右边的轴:
我对左边(有问题的)图表的代码:
\begin{minipage}{.5\textwidth}
\begin{figure}[H]
\centering
\resizebox{\linewidth}{!}{
\begin{tikzpicture}
\begin{axis}[
ybar,
enlargelimits=0.15,
ylabel={Time (min)},
symbolic x coords={Alone, Team, Pair Progr.},
xtick=data,
bar width=18pt
]
\addplot+[
red!75!green!50!blue!25!black!80,fill=red!75!green!50!blue!25,
error bars/.cd,
y dir=both,
y explicit
] coordinates {
(Alone, 12.88) +- (0, 3.74)
(Team, 15) +- (0, 14.52)
(Pair Progr., 19) +- (0, 7.43)
};
\end{axis}
\end{tikzpicture}
}
\caption{Time needed for the task. \\(n=8)}
\label{fig:time}
\end{figure}
\end{minipage}
-> 如果我将 Team 的值从 14.52 减少到更小的值(例如 7),图表看起来又恢复正常了
答案1
它与误差线的大小无关,当您将 14.52 减小到较低值时它不会更正。这是由于放大限制。我在调整大小框中删除了小页面中的混乱图形。
largelimits 所做的正是您不想要的(但有时您可能想要这样做,例如,如果绘图数据点跨越轴)
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ybar,
%enlargelimits=0.15,
ylabel={Time (min)},
symbolic x coords={Alone, Team, Pair Progr.},
xtick=data,
bar width=18pt,
ymin=0,
]
\addplot+[
red!75!green!50!blue!25!black!80,fill=red!75!green!50!blue!25,
error bars/.cd,
y dir=both,
y explicit
] coordinates {
(Alone, 12.88) +- (0, 3.74)
(Team, 15) +- (0, 14.52)
(Pair Progr., 19) +- (0, 7.43)
};
\end{axis}
\end{tikzpicture}
\end{document}