如何绘制简单的水平箱线图

如何绘制简单的水平箱线图

我正在尝试在 latex 中绘制箱线图。下面是我想要的(只有水平轴;刻度或轴箭头是选项,但我不需要轴边框或任何垂直轴元素)。

期望输出

下面的代码是我目前使用统计包得到的代码:

\documentclass[]{article}
\usepackage[margin=0.5in]{geometry}
\usepackage{pgfplots}
\usepackage{caption}
\usepackage{lscape}
\usetikzlibrary{arrows}
\usepackage{flexisym}
\usepgfplotslibrary{statistics}
\usetikzlibrary{shapes.multipart,shapes.geometric,calc,angles,positioning,intersections,quotes,decorations,babel,patterns,fit}
\usetikzlibrary{decorations.markings}
\newenvironment{tightcenter}{
\setlength\topsep{0pt}
\setlength\parskip{0pt}
\begin{center}}{\end{center}}
\begin{document}
\begin{center}
\begin{tikzpicture}
\begin{axis}
[
ytick=\empty,
xtick={0,10,15,20,25,30,35,40},
%yticklabels={Index 0, Index 1, Index 2},
axis line style={draw=}
]
\addplot[
boxplot prepared={
median=23,
upper quartile=32,
lower whisker=8,
lower quartile=11,
upper whisker=35
},black
] coordinates {};
\end{axis}
\end{tikzpicture}
\end{center}
\end{document}

它生成了下面的箱线图,这不是我想要的。

电流输出

您能否建议如何修改当前代码以实现我的目标?

太感谢了。

答案1

您正在加载很多与您的问题没有直接关系的事情。按照 pgfplots 手册第 498 页上的示例,我建议尝试

\documentclass[]{article}
\usepackage[margin=0.5in]{geometry}
\usepackage{pgfplots}
\usepgfplotslibrary{statistics}
\pgfplotsset{compat=1.16}
\begin{document}
\begin{center}
\begin{tikzpicture}
\begin{axis}
[
ytick=\empty,
xtick={0,10,15,20,25,30,35,40},
axis x line=bottom,
axis line style={latex-latex},
axis y line=none,
enlargelimits=0.05,
]
\addplot[
boxplot prepared={
median=23,
upper quartile=32,
lower whisker=8,
lower quartile=11,
upper whisker=35
},black
] coordinates {};
\end{axis}
\end{tikzpicture}
\end{center}
\end{document}

在此处输入图片描述

我还要说一下,我更喜欢包装里的胡须tikzmarmots。;-)

答案2

您可以像这样修改代码:

\begin{axis}
[
ytick=\empty,
hide y axis,        % hide the y axis
axis x line*=bottom,% only show the bottom x axis line, without an arrow tip
xtick={0,10,15,20,25,30,35,40},
%yticklabels={Index 0, Index 1, Index 2},
axis line style={draw=}
]

看起来像更新了箱线图

相关内容