![多个箱线图相互叠加](https://linux22.com/image/398562/%E5%A4%9A%E4%B8%AA%E7%AE%B1%E7%BA%BF%E5%9B%BE%E7%9B%B8%E4%BA%92%E5%8F%A0%E5%8A%A0.png)
我有多个箱形图,一个接一个地叠在一起 - 参见“400 次迭代”条目中的两个黑色箱形图 - 应该只有一个(因为我正在循环使用颜色),而“600 次迭代”条目中缺少其中一个黑色图。(此外,还有一个奇怪的问题,即某些晶须无法正确呈现 - 参见“0 次迭代”条目中的红色图)。
这是我的示例。谢谢!
\documentclass[a4paper]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{statistics}
\pgfplotsset{compat=1.8}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
boxplot/draw direction=y,
ylabel={Fitness (\# $t$-sets separated)},
xlabel={\# Iterations},
height=8cm,
boxplot={
%
% Idea:
% place the
% group 1 at 0.3333 and 0.6666
% group 2 at 1.3333 and 1.6666
% group 3 at 2.3333 and 2.6666
% ...
% in a formular:
draw position={1/6 + floor(\plotnumofactualtype/5) + 1/6*mod(\plotnumofactualtype,5)},
%
% that means the box extend must be at most 0.33333 :
box extend=0.16,
},
% ... it also means that 1 unit in x controls the width:
x=3cm,
% ... and it means that we should describe intervals:
xtick={0,1,2,...,30},
x tick label as interval,
xticklabels={%
0,200,400,600,800,1000
},
x tick label style={
text width=3cm,
align=center
},
cycle list={black,red,blue,orange,pink}
]
% 0
\addplot
table[row sep=\\,y index=0] {
data\\
18869\\
19034\\
19037\\
19040\\
19132\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19137\\
19233\\
19234.5\\
19236\\
19327\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19051\\
19145\\
19145.5\\
19146\\
19215\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19030\\
19149\\
19149.5\\
19150\\
19248\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19035\\
19167\\
19167.5\\
19168\\
19236\\
};
% 200
\addplot
table[row sep=\\,y index=0] {
data\\
18869\\
19126\\
19128.5\\
19131\\
19262\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19137\\
19287\\
19288\\
19289\\
19403\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19051\\
19199\\
19202.5\\
19206\\
19295\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19030\\
19217\\
19217.5\\
19218\\
19328\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19070\\
19212\\
19213\\
19214\\
19307\\
};
% 400
\addplot
table[row sep=\\,y index=0] {
data\\
18869\\
19221\\
19223\\
19226\\
19341\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19137\\
19351\\
19351.5\\
19352\\
19412\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19051\\
19252\\
19254\\
19256\\
19324\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19030\\
19266\\
19267\\
19268\\
19347\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19087\\
19257\\
19258.5\\
19260\\
19340\\
};
% 600
\addplot
table[row sep=\\,y index=0] {
data\\
18869\\
19034\\
19037\\
19040\\
19132\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19185\\
19376\\
19377\\
19378\\
19420\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19051\\
19273\\
19273.5\\
19274\\
19353\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19030\\
19307\\
19307\\
19307\\
19350\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19087\\
19307\\
19309\\
19311\\
19384\\
};
% 800
\addplot
table[row sep=\\,y index=0] {
data\\
18932\\
19375\\
19377\\
19379\\
19419\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19185\\
19388\\
19388\\
19388\\
19420\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19051\\
19312\\
19312.5\\
19313\\
19359\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19030\\
19266\\
19267\\
19268\\
19347\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19092\\
19339\\
19339.5\\
19340\\
19400\\
};
% 1000
\addplot
table[row sep=\\,y index=0] {
data\\
18944\\
19405\\
19405\\
19405\\
19432\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19185\\
19394\\
19394.5\\
19395\\
19420\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19051\\
19333\\
19333.5\\
19334\\
19362\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19030\\
19266\\
19267\\
19268\\
19347\\
};
\addplot
table[row sep=\\,y index=0] {
data\\
19135\\
19377\\
19378\\
19379\\
19409\\
};
\end{axis}
\end{tikzpicture}
\end{document}