我正在尝试获取带有两个颜色图的表面图。我不想使用完整的 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}