Pgfplots 热图:指定 z 列

Pgfplots 热图:指定 z 列

我的数据文件如下所示:

1.3622 -2 0.0794479 0.00652291
1.36215 -2 0.0685207 0.00482894
1.3621 -2 0.0600571 0.00370146
1.36205 -2 0.0534619 0.00300152
1.362 -2 0.0479574 0.00248143

1.3622 -1.95 0.0797369 0.00674456
1.36215 -1.95 0.0686836 0.00499037
1.3621 -1.95 0.0601782 0.00382963
1.36205 -1.95 0.0535552 0.00310782
1.362 -1.95 0.0480346 0.00257176

.
.
.

ETC。

这是我的热图绘制代码:

\documentclass[tikz]{standalone}    
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}

\begin{document}    
  \begin{tikzpicture}
    \begin{axis}[
      colorbar,
      view={0}{90},]
      \addplot3[surf, shader=interp] file {surfTest.txt};
    \end{axis}
  \end{tikzpicture}    
\end{document}

我想用 \addplot3 将其绘制为热图,但我想要第四列为 z 值。我试过了file[z index = 3],但似乎没有任何效果。

感谢您的帮助!

答案1

让我们做一个快速实验:

\documentclass[tikz]{standalone}    
\usepackage{filecontents}
\begin{filecontents*}{surfTest.txt}
1.3622 -2 0.0794479 0.00652291
1.36215 -2 0.0685207 0.00482894
1.3621 -2 0.0600571 0.00370146
1.36205 -2 0.0534619 0.00300152
1.362 -2 0.0479574 0.00248143

1.3622 -1.95 0.0797369 0.00674456
1.36215 -1.95 0.0686836 0.00499037
1.3621 -1.95 0.0601782 0.00382963
1.36205 -1.95 0.0535552 0.00310782
1.362 -1.95 0.0480346 0.00257176
\end{filecontents*}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}

\begin{document}  
  \begin{tikzpicture}
    \begin{axis}[at={(0,0)},title={table},
      colorbar,
      view={0}{90},]
      \addplot3[surf, shader=flat] table {surfTest.txt};
    \end{axis}
    \begin{axis}[at={(3,0)},title={table[z index=3]},
      colorbar,
      view={0}{90},]
      \addplot3[surf, shader=flat] table[z index = 3] {surfTest.txt};
    \end{axis}
    \begin{axis}[at={(0,-64)},title={file},
      colorbar,
      view={0}{90},]
      \addplot3[surf, shader=flat] file {surfTest.txt};
    \end{axis}
    \begin{axis}[at={(3,-64)},title={file[z index=3]},
      colorbar,
      view={0}{90},]
      \addplot3[surf, shader=flat] file[z index = 3] {surfTest.txt};
    \end{axis}
  \end{tikzpicture}    
\end{document}

在此处输入图片描述

如您所见,除了 之外,输出始终相同table[z index = 3]。我并不确切知道它的file作用是什么,因为我从未使用过它(而且我在手册中也很少遇到这种语法),但恕我直言,这强烈表明您可能想要使用该table语法。

相关内容