为什么这个 MWE 不能编译(带有轮廓线的热图)?

为什么这个 MWE 不能编译(带有轮廓线的热图)?

我正在尝试绘制一些保存在 csv 文件中的 3D 数据。仅绘制颜色图就可以了,但我还需要添加轮廓线,因此我得到的结果类似于此:

期望结果

我的直觉是,可以简单地\addplot3[...] table {...}向我现有的图中添加另一个块,如下所示:

\begin{tikzpicture}
  \begin{axis}[...]
    \addplot3[surf] table {data.csv}; % <- this is my existing plot, which works
    \addplot3[...] table {data.csv}; % <- this should be okay?!
  \end{axis}
\end{tikzpicture}

这个问题似乎是关于完全相同的问题,所以我尝试将答案改编到我的文档中,但无济于事。

最后我发现即使是这个最小的例子也无法编译(这是所提到的问题的可接受的答案):

\documentclass[border=1 cm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=newest} 
\begin{filecontents}{data_test.dat}
0 0 3
0 2 1
0 3 2

1 0 1
1 2 2
1 3 2

2 0 1
2 2 2
2 3 1
\end{filecontents}
\begin{document}
\begin{tikzpicture}
\begin{axis}%[view={0}{90}]
\addplot3[surf] table {data_test.dat};
\addplot3[contour lua={levels={1,2,3}}] table {data_test.dat};
\end{axis}
\end{tikzpicture}
\end{document}

LuaLaTeX当我尝试使用引擎(使用选项)在我的 TeXworks 安装中编译它时,--shell-escape出现以下错误:

! Package pgfkeys Error: I do not know the key '/tikz/contour lua', to which you
passed 'levels={1,2,3}', and I am going to ignore it. Perhaps you misspelled it.

此错误消息看起来与我原始文档中出现的错误非常相似,但为什么我甚至在 MWE 中也会看到它?

由于提到问题的 OP 与我有完全相同的要求,因此我相信一旦我能够编译上述 MWE,我的问题就解决了。

感谢您的时间!

编辑:我刚刚在 MiKTeX 控制台中检查了更新,并更新了所有建议的软件包 - 没有任何变化。我还在\listfiles文档顶部添加了以下内容,返回:

 *File List*
standalone.cls    2018/03/26 v1.3a Class to compile TeX sub-files standalone
shellesc.sty    2019/11/08 v1.0c unified shell escape interface for LaTeX
ifluatex.sty    2019/10/25 v1.5 ifluatex legacy package. Use iftex instead.
   iftex.sty    2020/03/06 v1.0d TeX engine tests
 xkeyval.sty    2020/11/20 v2.8 package option processing (HA)
 xkeyval.tex    2014/12/03 v2.7a key=value parser (HA)
standalone.cfg    2018/03/26 v1.3a Default configuration file for 'standalone' 
class
 article.cls    2020/04/10 v1.4m Standard LaTeX document class
  size10.clo    2020/04/10 v1.4m Standard LaTeX file (size option)
luatex85.sty    2016/06/15 v1.4 pdftex aliases for luatex
pdftexcmds.sty    2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO)
infwarerr.sty    2019/12/03 v1.5 Providing info/warning/error messages (HO)
 ltxcmds.sty    2020-05-10 v1.25 LaTeX kernel commands for general use (HO)
pgfplots.sty    2020/02/29 v1.17 Data Visualization (1.17)
graphicx.sty    2020/09/09 v1.2b Enhanced LaTeX Graphics (DPC,SPQR)
graphics.sty    2020/08/30 v1.4c Standard LaTeX Graphics (DPC,SPQR)
    trig.sty    2016/01/03 v1.10 sin cos tan (DPC)
graphics.cfg    2016/06/04 v1.11 sample graphics configuration
  luatex.def    2020/10/05 v1.2a Graphics/color driver for luatex
    tikz.sty    2020/12/01 v3.1.7a (3.1.7a)
     pgf.sty    2020/12/01 v3.1.7a (3.1.7a)
  pgfrcs.sty    2020/12/01 v3.1.7a (3.1.7a)
pgfrcs.code.tex
 pgfcore.sty    2020/12/01 v3.1.7a (3.1.7a)
  pgfsys.sty    2020/12/01 v3.1.7a (3.1.7a)
pgfsys.code.tex
pgfsyssoftpath.code.tex    2020/12/01 v3.1.7a (3.1.7a)
pgfsysprotocol.code.tex    2020/12/01 v3.1.7a (3.1.7a)
  xcolor.sty    2016/05/11 v2.12 LaTeX color extensions (UK)
   color.cfg    2016/01/02 v1.6 sample color configuration
pgfcore.code.tex
pgfcomp-version-0-65.sty    2020/12/01 v3.1.7a (3.1.7a)
pgfcomp-version-1-18.sty    2020/12/01 v3.1.7a (3.1.7a)
  pgffor.sty    2020/12/01 v3.1.7a (3.1.7a)
 pgfkeys.sty    
pgfkeys.code.tex
 pgfmath.sty    
pgfmath.code.tex
pgffor.code.tex
tikz.code.tex
l3backend-luatex.def    2020-09-24 L3 backend support: PDF output (LuaTeX)
  ts1cmr.fd    2019/12/16 v2.5j Standard LaTeX font definitions
supp-pdf.mkii
epstopdf-base.sty    2020-01-24 v2.11 Base part for package epstopdf
epstopdf-sys.cfg    2021/03/18 v2.0 Configuration of epstopdf for MiKTeX
 ***********

答案1

这个答案解决了我最初涉及 Gnuplot 的问题,而不是我发布的实际 MWE。

最后,一旦你理解了这一切,答案就很简单了:

Gnuplot 在此上下文中不是指 Latex 包,而是指外部软件 Gnuplot。它必须与 Latex 环境分开安装,Latex 包管理器不会处理它。将 Gnuplot 添加到环境变量 PATH 中至关重要!

安装 Gnuplot(版本 5.5)时默认没有设置相应的复选标记!

安装后,该命令gnuplot必须在 Windows 终端中可执行,否则它未正确添加到 PATH,因此无法被 LuaLaTeX 找到。

相关内容