我遇到了以下问题:我想使用/pgfplots/boxplot
原始数据来计算和显示四分位数(和晶须)。因此,与其使用,boxplot prepare
我更愿意使用如下代码:
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.14}
\usepgfplotslibrary{statistics}
\begin{document}
\begin{tikzpicture}
\begin{axis}[boxplot/draw direction=y,width=1.0\textwidth]
\addplot+[boxplot]
table[row sep=\\,y index=0] {
0.1\\ 0.2\\ 0.1\\ 0.5\\ 0.4\\ 1.0\\
0.7\\ 1.0\\ 0.9\\ 0.8\\ 0.9\\ 0.9\\
};
\addplot+[boxplot]
table[row sep=\\,y index=0] {
0.1\\ 0.2\\ 0.1\\ 0.5\\ 0.4\\ 1.0\\
};
\addplot+[boxplot]
table[row sep=\\,y index=0] {
0.1\\ 0.1\\ 0.5\\ 0.4\\ 0.6\\
};
table[row sep=\\,y index=0] {
0.1\\ 0.2\\ 0.1\\ 0.5\\ 0.4\\ 0.0\\
0.7\\ 1.0\\ 0.9\\ 0.8\\ 0.0\\ 0.4\\
};
table[row sep=\\,y index=0] {
0.1\\ 0.4\\ 0.4\\ 0.5\\ 0.4\\ 1.0\\
0.7\\ 1.0\\ 0.9\\ 0.8\\ 0.9\\ 0.99\\
};
\addplot+[boxplot]
table[row sep=\\,y index=0] {
0.1\\ 0.2\\ 0.1\\ 0.5\\ 0.4\\ 0.6\\
};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
它只绘制了 6 个数据集中的 4 个,这是因为您只告诉它绘制其中的 4 个。如果您将\addplot+[boxplot]
所有 6 个数据集放在前面,它就会正确绘制所有 6 个数据集。
\documentclass{article}
\usepackage{pgfplots}
\usepackage{tikz}
\usepgfplotslibrary{statistics}
\begin{document}
\begin{figure}
\begin{tikzpicture}
\begin{axis}[boxplot/draw direction=y,width=1.0\textwidth]
\addplot+[boxplot]
table[row sep=\\,y index=0] {
0.1\\ 0.2\\ 0.1\\ 0.5\\ 0.4\\ 1.0\\
0.7\\ 1.0\\ 0.9\\ 0.8\\ 0.9\\ 0.9\\
};
\addplot+[boxplot]
table[row sep=\\,y index=0] {
0.1\\ 0.2\\ 0.1\\ 0.5\\ 0.4\\ 1.0\\
};
\addplot+[boxplot]
table[row sep=\\,y index=0] {
0.1\\ 0.1\\ 0.5\\ 0.4\\ 0.6\\
};
\addplot+[boxplot]
table[row sep=\\,y index=0] {
0.1\\ 0.2\\ 0.1\\ 0.5\\ 0.4\\ 0.0\\
0.7\\ 1.0\\ 0.9\\ 0.8\\ 0.0\\ 0.4\\
};
\addplot+[boxplot]
table[row sep=\\,y index=0] {
0.1\\ 0.4\\ 0.4\\ 0.5\\ 0.4\\ 1.0\\
0.7\\ 1.0\\ 0.9\\ 0.8\\ 0.9\\ 0.99\\
};
\addplot+[boxplot]
table[row sep=\\,y index=0] {
0.1\\ 0.2\\ 0.1\\ 0.5\\ 0.4\\ 0.6\\
};
\end{axis}
\end{tikzpicture}
\label{picture}
\caption{Sample box plot}
\end{figure}
\end{document}