为什么 pgfplots 手册中的这个例子无法编译?

为什么 pgfplots 手册中的这个例子无法编译?

我从第 134 页复制了这个例子pgfplots手动的(版本 1.12.1):

\documentclass{article}

\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=1.12}
\usepgfplotslibrary{patchplots}

\begin{document}

\begin{tikzpicture}
    \begin{axis}[small,view={0}{90}]
    \addplot3[surf,shader=interp,patch type=bilinear,
        mesh/color input=explicit]
    coordinates {
        (0,0,0) [color=blue] (1,0,0) [color=green]
        (0,1,0) [color=yellow] (1,1,1) [color=red]
    };
    \end{axis}
\end{tikzpicture}

\end{document}

但是当我尝试编译它时,出现了以下错误信息:

Package pgfplots Error: CRITICAL: shader=interp: got unsupported
pdf shading type '0'. This may corrupt your pdf!.

See the pgfplots package documentation for explanation.

不管怎样,我在编译同一节(二维/三维绘图类型)中的其他几个示例时出现了这个错误。

我正在使用 MacTeX-2015,但 TeX Live Utility 显示没有可用的更新。

答案1

手册示例中的代码运行正常。但您的代码失败了,因为您丢失了一个空行:

\documentclass[tikz,border=10pt,multi]{standalone}
\usepackage{pgfplots}
\pgfplotsset{width=7cm,compat=1.12}
\usepgfplotslibrary{patchplots}

\begin{document}
\begin{tikzpicture}% 134
    \begin{axis}[small,view={0}{90}]
    \addplot3[surf,shader=interp,patch type=bilinear,
        mesh/color input=explicit]
    coordinates {
        (0,0,0) [color=blue] (1,0,0) [color=green]

        (0,1,0) [color=yellow] (1,1,1) [color=red]
    };
    \end{axis}
\end{tikzpicture}
\end{document}

阴谋

相关内容