全局坐标系中的局部色彩图

全局坐标系中的局部色彩图

我正在尝试获取带有两个颜色图的表面图。我不想使用完整的 Z 范围,而是想为第一个表面提供自己的颜色图,第二个表面也应该接收自己的颜色图(甚至可能相同)...但是当前版本采用整个 Z 数据范围并计算颜色图。有什么办法吗?

\begin{tikzpicture}
    \begin{axis}[grid = major, colormap={bw}{gray(0cm)=(0); gray(1cm)=(1)}, view={-30}{15}]

 \addplot3[surf]
   table 
   {DATA1.dat};

 \addplot3[surf]
   table 
   {DATA2.dat};

\end{axis}
\end{tikzpicture}

现在看起来是这样的: 在此处输入图片描述

我希望每个表面都单独缩放......只是为了更清楚地看到振幅如何变化:)

有任何想法吗?

谢谢,亚历克斯

答案1

要单独缩放每个图的颜色图,请设置point meta rel=per plot

\documentclass{article}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
    \begin{axis}[
            grid = major,
            colormap={bw}{gray(0cm)=(0); gray(1cm)=(1)},
            view={-30}{15},
            point meta rel=per plot
        ]

 \addplot3 [surf] {x^3};

 \addplot3 [surf] {x^3+300};

\end{axis}
\end{tikzpicture}
\end{document}

要对不同的图使用不同的颜色图,请在以下内容中指定所需的颜色图\addplot options

\documentclass{article}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
    \begin{axis}[
            grid = major,
            colormap={bw}{gray(0cm)=(0); gray(1cm)=(1)},
            view={-30}{15},
            point meta rel=per plot
        ]

 \addplot3 [surf] {x^3};

 \addplot3 [surf, colormap/greenyellow] {x^3+300};

\end{axis}
\end{tikzpicture}
\end{document}

相关内容