pgfplots - 箱线图最小和最大 x 值

pgfplots - 箱线图最小和最大 x 值

我使用 pgfplots 中的以下代码来创建箱线图:

 \begin{tikzpicture}
  \begin{axis}
  [
    ytick={1},
    yticklabels={},
    y=0.7cm
  ]  
  \addplot+[boxplot]
    table[row sep=\\, y index = 0] {
    data\\
      2\\ 2\\ 3\\ 3\\ 4\\ 4\\ 4\\ 4 \\
    };
  \end{axis}
\end{tikzpicture}

这产生了如下箱线图第一的如下图所示:

箱线图,第一个是实际的,第二个是我希望它看起来的样子

在第一个箱形图中,我的数据似乎处于 2 到 4 的范围内,因为我的所有结果都在这个范围内。数据的实际范围是 0 到 6。因此,我想在箱形图中显示这一点。这显示在第二图中是箱线图。

我怎样才能做到这一点?

答案1

添加xminxmax值:

\documentclass[png,tikz,border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}% version
\usetikzlibrary{pgfplots.statistics}

\begin{document}
 \begin{tikzpicture}
  \begin{axis}
  [
    ytick={1},
    yticklabels={},
    y=0.7cm,
    xmin=0,
    xmax=6,
  ]  
  \addplot+[boxplot]
    table[row sep=\\, y index = 0] {
    data\\
      2\\ 2\\ 3\\ 3\\ 4\\ 4\\ 4\\ 4 \\
    };
  \end{axis}
\end{tikzpicture}
\end{document}

结果:

在此处输入图片描述

为了仍然显示 x 刻度 2.5 和 3.5,可以利用以下extra x ticks密钥:

\documentclass[png,tikz,border=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.8}% version
\usetikzlibrary{pgfplots.statistics}

\begin{document}
 \begin{tikzpicture}
  \begin{axis}
  [
    ytick={1},
    yticklabels={},
    extra x ticks={2.5,3.5},
    y=0.7cm,
    xmin=0,
    xmax=6,
  ]  
  \addplot+[boxplot]
    table[row sep=\\, y index = 0] {
    data\\
      2\\ 2\\ 3\\ 3\\ 4\\ 4\\ 4\\ 4 \\
    };
  \end{axis}
\end{tikzpicture}
\end{document}

结果:

在此处输入图片描述

但恕我直言,最好保留以前的版本或完全切换到更精细的比例,即 0.5。

相关内容