代码

代码

pgfplots沿轴(下面示例中的 x 轴)等距绘制箱线图。如何在轴的不同位置绘制箱线图?例如,下面示例中第二个和第三个箱线之间的距离将是前两个箱线之间的距离的三倍。所有箱线的宽度必须相同。

我是否遗漏了某个选项?我是否需要返回并直接自定义之前支持箱线图的一些代码pgfplots

\documentclass[12pt]{article}

\usepackage{pgfplots}
\pgfplotsset{compat=1.9}
\usepgfplotslibrary{statistics}

\begin{document}
  \begin{tikzpicture}
    \begin{axis}[
        boxplot/draw direction=y,
        xtick={1,2,3},
        xticklabels={1,2,5}]
      \addplot+[boxplot prepared={
          lower whisker=2.5, lower quartile=4, median=8.5, upper quartile=12, upper whisker=15},] coordinates {};
      \addplot+[boxplot prepared={
          lower whisker=2.5, lower quartile=4, median=8.5, upper quartile=12, upper whisker=15},] coordinates {};
      \addplot+[boxplot prepared={
          lower whisker=2.5, lower quartile=4, median=8.5, upper quartile=12, upper whisker=15},] coordinates {};
    \end{axis}
  \end{tikzpicture}
\end{document}

答案1

您可以使用该draw position=<val>选项指定 x 轴上的位置。

代码

\documentclass[12pt]{article}

\usepackage{pgfplots}
% \pgfplotsset{compat=1.9}
\usepgfplotslibrary{statistics}

\begin{document}
  \begin{tikzpicture}
    \begin{axis}[
        boxplot/draw direction=y,
        % xtick={1,2,3},
        % xticklabels={1,2,5},
      ]
      \addplot+[boxplot prepared={
          lower whisker=2.5, lower quartile=4, median=8.5, upper quartile=12, upper whisker=15},] coordinates {};
      \addplot+[boxplot prepared={
          lower whisker=2.5, lower quartile=4, median=8.5, upper quartile=12, upper whisker=15},] coordinates {};
      \addplot+[boxplot prepared={draw position=5,
          lower whisker=2.5, lower quartile=4, median=8.5, upper quartile=12, upper whisker=15},] coordinates {};
    \end{axis}
  \end{tikzpicture}
\end{document}

输出

在此处输入图片描述

相关内容