无法打开绘图文件

无法打开绘图文件

以下代码来自“手册中的示例库 - PGFPlots”。

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=newest}
\pagestyle{empty}
\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        title={$x \exp(-x^2-y^2)$},
        domain=-2:2,enlarge x limits,
        view={0}{90},
    ]
   \addplot3[contour gnuplot={number=14},thick]
          {exp(0-x^2-y^2)*x};
    \end{axis}
\end{tikzpicture}
\end{document}

不幸的是,代码不起作用,我收到以下错误消息:

! Package pgfplots Error: sorry, plot file{example_175_contourtmp0.table} could
 not be opened.

See the pgfplots package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.17           {exp(0-x^2-y^2)*x};

? 
! Emergency stop.
 ...                                              

l.17           {exp(0-x^2-y^2)*x};

End of file on the terminal!

我不知道问题出在哪里。如果有人能提供解决方案就太好了。

答案1

将该代码复制/粘贴到分享LaTeX,编译时没有错误,并生成:

等高线图

你用的是什么版本?顺便提一下,compat=newest一般不推荐。

编辑:

我能够通过仅使用 进行编译来重现您的问题pdflatex filename。由于 LaTeX 需要运行 gnuplot,因此您必须允许 LaTeX 启动第三方可执行文件。为此,您需要一个类似 的参数--shell-escape。如果您使用 编译示例,它会起作用吗pdflatex --shell-escape filename

编辑2:

如果您有文件contours_contourtmp0.scriptcontours_contourtmp0.dat但没有contours_contourtmp0.table,那么很可能 LaTeX 无法执行 gnuplot。您可以使用的存在来contours_contourtmp0.table确认 gnuplot 是否正确执行。此外,用户指南中的示例只有在可执行文件gnuplot存在时才会起作用...我不知道 Windows 版本叫什么,所以 Windows 用户必须确认这一点 - 这也可能是问题所在。

答案2

请访问gnuplot 主页找到 SourceForge 的下载链接。下载 Windows 版 EXE 文件,该文件会自动安装在 Windows 上。它适用于所有版本的 Windows,相同。将其保存在您的计算机上。

以管理员身份运行(右键单击以管理员身份运行)。显示安装选项时,不要忘记勾选“将路径添加到环境变量”复选框。让软件完成此操作,而不是手动完成。

对于终端也使用其默认定义。

安装完成后,当系统询问是否要运行 gnuplot 时,勾选“运行 gnuplot”框,允许它首次运行。然后关闭它。关闭所有内容并重新启动计算机。

现在以管理员身份运行你的 tex 编辑器,比如我的 TexnicCenter,重新编译你的 tex 文件,它应该会消除错误。如果添加--shell 转义其他人建议的。不过,对于 DVI 编译来说,这不是必需的;它可能会从 gnuplot 中产生未解决的警告。在这种情况下使用-启用-write18,而是像 Christian Feuersanger 博士所著的《pgfplots 包手册》第 37 页中所述的那样。

答案3

luatex在 2023 年,我认为推荐的最佳做法是尽可能使用引擎。然后你只需要更改contour gnuplotcontour lua,它就可以正常工作,而无需运行外部问题。

相关内容