tikzpicture boxplot,最小示例,段落结束错误

tikzpicture boxplot,最小示例,段落结束错误

我想在我的文档中添加箱线图。我知道已经有可用的示例,包括在这个网站上,但我很好奇我是否可以得到最简单的示例来运行。我实际上想要添加的图表不应该太复杂;我只需要将多个箱线图并排放置,如果图表太大,可能需要调整大小。

以下是我现在所拥有的:

\documentclass[11pt]{amsart}

\usepackage{tikz}
\usepackage{pgfplots}
\usepgfplotslibrary{statistics}

\begin{document}

\begin{tikzpicture}
\begin{axis}
\addplot [boxplot]
{1,2,3,4,5};
\end{axis}
\end{tikzpicture}

\end{document}

\end{tikzpicture} 之后的行中出现错误:段落在 \pgfflt@readlowlevelfloat 完成之前结束。

我很好奇这个错误意味着什么,以及代码中缺少什么。

编辑:直接引用 pgfplots 手册第 505 页:

数据点可以通过任何支持的输入流给出,尽管最有用的可能是 \addplot 表和 \addplot 坐标。

这让我很好奇支持的输入流是什么,以及为什么没有将简单列表作为其中之一。

无论如何,我尝试了此引文中列出的两个。将行替换{1,2,3,4,5};

coordinates {(1),(2),(3),(4),(5)};

或者

coordinates {(1,1),(2,2),(3,3),(4,4),(5,5)};

(以防万一坐标的长度必须至少为 2)

产生错误消息:抱歉,我无法读取第一个 ',(3),(4),(5)' 附近的绘图坐标,第二个绘图坐标也类似。这些行有什么问题?

另一方面,将其替换为

table [row sep=\\,y index=0] {data\\ 1\\ 2\\ 3\\ 4\\ 5};

产生错误消息:扫描 \pgfplotstableread@loop@next 的使用时文件结束。那么这里还是有问题吗?我对row sep=\\和也很好奇y index=0;似乎删除其中任何一个都会导致不同的错误。

答案1

输入必须按照手册中为不同绘图类型指定的格式给出。您不能指望 PGFPlots、TikZ 或任何其他编程语言能够猜出您的意思。这是一个可行的示例:

\documentclass[tikz, border=1cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot coordinates {(1,1) (2,2) (3,3) (4,4) (5,5)};
\end{axis}
\end{tikzpicture}
\end{document}

手册第 41 页给出了更多示例:

4.3 \addplot 命令:坐标输入

如果需要格式的严格定义,可以在手册第 46 页找到:

4.3.1 坐标列表

相关内容