误差线过大会扭曲轴

误差线过大会扭曲轴

总体而言,我的误差线有效。但是,一个错误值相对较高,导致 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}

在此处输入图片描述

相关内容