梅威瑟:

梅威瑟:

domain=min:max在 内使用pgfplots,但除非我明确提供相同的限制gnuplot,否则它们将被忽略并gnuplot继续在范围内绘图[-10,10](我假设这是默认范围)。有什么方法可以gnuplot继承域限制吗?如果没有,有没有办法将它们传递给gnuplot使用\pgfkeysvalueof{<whatever>}

梅威瑟:

\documentclass{article}
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=newest}

\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    domain=-2:2,]

    \addplot3[raw gnuplot,surf,samples=20,]
      gnuplot[surf,] {%
        splot [-2:2] [-2:2] (1-x)^2 + 100*(y-x^2)^2
        % splot (1-x)^2 + 100*(y-x^2)^2 % This defaults in the range [-10,10].
      };
  \end{axis}
\end{tikzpicture}%
\end{document}

答案1

raw gnuplotsamples禁用和的使用domain

您基本上自己找到了解决方案:您可以domain使用以下方式访问设置\pgfkeysvalueof{/pgfplots/domain}

\documentclass{article}
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=newest}

\begin{document}
\begin{tikzpicture}
  \begin{axis}[
    domain=-2:2]

    \addplot3[raw gnuplot, surf,samples=20,]
      gnuplot{%
        splot [\pgfkeysvalueof{/pgfplots/domain}] [\pgfkeysvalueof{/pgfplots/domain}] (1-x)^2 + 100*(y-x^2)^2
      };
  \end{axis}
\end{tikzpicture}%
\end{document}

相关内容