如何更改 pgfplots 上 3D 表面的颜色?

如何更改 pgfplots 上 3D 表面的颜色?

我想像图片一样(精确地)更改 3D 表面的颜色。 怎么可能? 在此处输入图片描述

  \documentclass[border=5mm]{standalone}

    \usepackage{pgfplots}
    \pgfplotsset{compat=1.6}

    \begin{document}
    \begin{tikzpicture}
    \begin{axis}[
        domain=-180:180,
        colorbar,
        colorbar style={
            title=Color key,
            ylabel=Z-value,
            ytick={-1,-0.75,...,1},
            yticklabel style={
                text width=2.5em,
                align=right,
                /pgf/number format/.cd,
                    fixed,
                    fixed zerofill
            }
        }
    ]
    \addplot3 [surf] {sin(x) * sin(y)};
    \end{axis}
    \end{tikzpicture}
    \end{document}

答案1

右图中的颜色图是来自 ColorBrewer 网站的 PuYG 色彩图。PGFPlots 包含一个提供来自网站的颜色图的库。

要使用颜色图,请放入\usepgfplotslibrary{colorbrewer}前导码并使用以下命令激活所需的颜色图colormap/PuYG

在此处输入图片描述

\documentclass[border=5mm]{standalone}

\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\usepgfplotslibrary{colorbrewer}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
domain=-180:180,
samples=50,
colormap/PiYG,
colorbar,
colorbar style={
    title=Color key,
    ylabel=Z-value,
    ytick={-1,-0.75,...,1},
    yticklabel style={
        text width=2.5em,
        align=right,
        /pgf/number format/.cd,
            fixed,
            fixed zerofill
        }
    }
]
\addplot3 [surf] {sin(x) * sin(y)};
\end{axis}
\end{tikzpicture}
\end{document}

相关内容