“nan” 数据、无界坐标和堆栈图之间的交互

“nan” 数据、无界坐标和堆栈图之间的交互

自上次更新我的 Miktex 软件包以来,我注意到一种奇怪的交互,我无法解释。也许有人知道。这是 MWE

\documentclass{article}
\usepackage{tikz,pgfplots}

\begin{document}
    \begin{tikzpicture}
       \begin{axis}[unbounded coords=jump, stack plots=y]
          \addplot[fill=gray, draw=black] table[]{123.tsv}
          \closedcycle;
          \addplot[fill=none, draw=black] table[]{123.tsv}
          \closedcycle;
       \end{axis}
     \end{tikzpicture}
\end{document}

我的数据看起来像这样

1     nan
1.2   0.2
0.9   0.1

运行上述程序会产生错误: Undefined control sequence. [\closedcycle;]

如果我执行以下三件事之一,错误就会消失:

  1. 取出unbounded coords=jump没有任何明显变化,但没有错误

  2. 取出stack plots=y情节明显不同

  3. 取出nan数据中的-line:没有任何明显变化,但没有错误

我不想做这两件事(数据和 tikzpicture 应该由 matlab2tikz 创建,我无法告诉它不要生成这些数据)并且在错误下绘制的图片对我来说看起来不错。

但是,我现在遇到了这个错误(并且仅自从上次更新我的软件包以来)。有人知道为什么会产生这个错误,为什么以前没有产生这个错误,以及如何解决它吗?

我尝试过的:

  • 添加\pgfplotsset{compat=x.x}没有帮助

  • 拿走\closedcycle产生未定义的控制序列\addplot

答案1

这可能是pgfplotsPGF 中的一个错误,而不是 PGF 中的一个错误,现在才由于 PGF 的变化而浮出水面,因为如果我简单地定义未定义的控制序列,它就会按预期工作。

\documentclass{article}
\usepackage{tikz,pgfplots}

\makeatletter
\def\pgfplots@stacked@diff{}
\makeatother
\begin{document}
    \begin{tikzpicture}
       \begin{axis}[unbounded coords=jump, stack plots=y]
          \addplot[fill=gray, draw=black] table[]{123.tsv}
          \closedcycle;
          \addplot[fill=none, draw=black] table[]{123.tsv}
          \closedcycle;
       \end{axis}
     \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容