三维曲面图上方的二维颜色

三维曲面图上方的二维颜色

我想在函数的表面图上方绘制其二维彩色图。

我尝试复制表面图并进行设置z filter/.code={\def\pgfmathresult{1.4}},但二维图上的所有内容都是相同的颜色。

此外,如果我可以避免二维图上的抗锯齿伪影(每个四边形由两个三角形组成,它们之间有一条小白线),我会很高兴。

下面是表面图,上面是二维图

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.7}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[grid=both]
    \addplot3[
    surf,
    shader=faceted interp,
    samples=10,
    ] {sin(deg(x))*sin(deg(y))};

    \addplot3[
    surf,
    shader=faceted interp,
    samples=10,
    z filter/.code={\def\pgfmathresult{1.4}}
    ] {sin(deg(x))*sin(deg(y))};
  \end{axis}
\end{tikzpicture}
\end{document}

答案1

图的颜色取决于值meta,默认情况下,该值是z3D 图中的值。但是,您可以将其设置为其他值:在这种情况下,您会说point meta={sin(deg(x))*sin(deg(y))}(因此您将使用原始函数作为元值),然后简单地绘制{1.4}而不是函数:

关于工件:这可能是查看器问题。我没有在 Ubuntu Linux 上使用 Adob​​e Reader 或 Evince 看到它们。

\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepackage{pgfplots}
\pgfplotsset{compat=1.7}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[grid=both]
    \addplot3[
    surf,
    shader=faceted interp,
    samples=10,
    ] {sin(deg(x))*sin(deg(y))};

    \addplot3[
    surf,
    shader=faceted interp,
    samples=10,point meta rel=per plot,
    point meta={sin(deg(x))*sin(deg(y))}
    ] {1.4};
  \end{axis}
\end{tikzpicture}
\end{document}

相关内容