使用 output_dir 和 gnuplot 无法找到 .table 文件

使用 output_dir 和 gnuplot 无法找到 .table 文件

我不确定问题出在哪里,但是gnuplot按照下面的 MWE使用时-output-directory=,我得到

包 pgfplots 错误:抱歉,无法打开绘图文件 {TeX-SE_contourtmp0.table}。

因此,如果将 MWE 保存为TeX-SE.tex,以下操作将失败并显示上述错误消息:

mkdir tempfiles
pdflatex -shell-escape -output-directory=tempfiles TeX-SE.tex

但以下工作正常

pdflatex -shell-escape  TeX-SE.tex

代码

\documentclass[border=2pt]{standalone}
\usepackage{pgfplots}

\begin{document}
\pgfmathdeclarefunction{FunctionE}{2}{%
  \pgfmathparse{exp(-#1^2) * sin(deg(#2))}%
}

%% Following based on code from http://tex.stackexchange.com/questions/87674/how-to-coherently-combine-3d-and-contour-plots-with-pgfplots
\begin{tikzpicture}
\begin{axis}[
    domain=-2:2,
    domain y=0:2*pi,
    xlabel=$x$,
    ylabel=$y$,
    zlabel=$z$,
]

    \addplot3[% 
        contour gnuplot={
            output point meta=rawz,
            number=10,
            labels=false,
        },
        samples=41,
        z filter/.code=\def\pgfmathresult{-1.6},
    ]
        {FunctionE(x,y)};

    \addplot3[surf,samples=25] {FunctionE(x,y)};
\end{axis}
\end{tikzpicture}
\end{document}

答案1

您可以尝试添加

  cmd= {cd tempfiles & gnuplot \"\script\"} 

到您的contour gnuplot选项(如果您在 Linux 上,请&用那里用来组合命令的任何内容替换)。

file您也可以尝试使用和密钥找到可行的解决方案prefix,但在我看来,它们会--output-directory互相混淆。

就像大卫卡莱尔在他的评论中所说的那样,我认为最好不要使用--output-directory

相关内容