使用 Tikz 进行色彩映射

使用 Tikz 进行色彩映射

到目前为止我尝试过

\documentclass[a4paper]{article}
\usepackage{pgfplots}

\begin{document}
\pagestyle{empty}

\begin{tikzpicture}
 \begin{axis}[view={0}{90},
             colormap={custom}{color(0)=(red) color(1)=(white) color(2)=(green) color(4)=(blue)},
             colorbar,
    ]
  \addplot3[surf,shader=interp] table [row sep=newline] {

0.0000 150.0000 4.578e-10
10.0000 150.0000 4.466e-10
20.0000 150.0000 4.838e-10
30.0000 150.0000 5.657e-10
40.0000 150.0000 6.999e-10
50.0000 150.0000 7.954e-10
60.0000 150.0000 9.443e-10
70.0000 150.0000 1.116e-9
80.0000 150.0000 1.174e-9
90.0000 150.0000 1.162e-9
100.0000 150.0000 1.192e-9
110.0000 150.0000 1.207e-9
120.0000 150.0000 1.259e-9
130.0000 150.0000 1.351e-9
140.0000 150.0000 1.406e-9
150.0000 150.0000 1.432e-9
160.0000 150.0000 1.449e-9
170.0000 150.0000 1.459e-9
180.0000 150.0000 1.465e-9
190.0000 150.0000 1.462e-9
200.0000 150.0000 1.463e-9
210.0000 150.0000 1.462e-9
220.0000 150.0000 1.462e-9
230.0000 150.0000 1.461e-9
240.0000 150.0000 1.457e-9
250.0000 150.0000 1.454e-9
260.0000 150.0000 1.454e-9
270.0000 150.0000 1.456e-9
280.0000 150.0000 1.455e-9
290.0000 150.0000 1.453e-9
0.0000 160.0000 4.617e-10

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

我的结果是这样的:

颜色图

但这不是我想要的。它应该是这样的

示例 1 颜色表

或者至少像这样

示例 2 颜色表

我不知道我做错了什么。我有很多点!九百列三行。行以 开头0 0 9e-10并以 结尾290 290 1.3e-9

希望您能帮忙。

答案1

引自pgfplots.pdf

\addplot3 有一种方法可以决定是否要进行线可视化或网格可视化。

需要进行一些搜索才能找出 pgfplots 在表格输入的情况下如何执行此操作。要指定表面,您必须知道\addplot3哪些点彼此相邻。这些点被假定为矩阵结构,即\addplot3假设您有 m 乘以 n 个数据点,并且您必须指定 m 和 n。显然,有两种可能性:

  1. 您需要直接用mesh/rows或指定 m 或 n mesh/cols
  2. 或者在表格中留空行,以指示行结束的位置。

示例(使用 2. 和复制粘贴数据):

\begin{tikzpicture}
 \begin{axis}[view={0}{90},
             colormap={custom}{color(0)=(red) color(1)=(white) color(2)=(green) color(4)=(blue)},
             colorbar,
    ]
  \addplot3[surf,shader=interp] table [row sep=newline] {
0.0000 150.0000 4.578e-10
10.0000 150.0000 4.466e-10
20.0000 150.0000 4.838e-10
30.0000 150.0000 5.657e-10
40.0000 150.0000 6.999e-10
50.0000 150.0000 7.954e-10
60.0000 150.0000 9.443e-10
70.0000 150.0000 1.116e-9
80.0000 150.0000 1.174e-9
90.0000 150.0000 1.162e-9
100.0000 150.0000 1.192e-9
110.0000 150.0000 1.207e-9
120.0000 150.0000 1.259e-9
130.0000 150.0000 1.351e-9
140.0000 150.0000 1.406e-9
150.0000 150.0000 1.432e-9
160.0000 150.0000 1.449e-9
170.0000 150.0000 1.459e-9
180.0000 150.0000 1.465e-9
190.0000 150.0000 1.462e-9
200.0000 150.0000 1.463e-9
210.0000 150.0000 1.462e-9
220.0000 150.0000 1.462e-9
230.0000 150.0000 1.461e-9
240.0000 150.0000 1.457e-9
250.0000 150.0000 1.454e-9
260.0000 150.0000 1.454e-9
270.0000 150.0000 1.456e-9
280.0000 150.0000 1.455e-9
290.0000 150.0000 1.453e-9

0.0000 160.0000 4.617e-10
10.0000 160.0000 4.466e-10
20.0000 160.0000 4.838e-10
30.0000 160.0000 5.657e-10
40.0000 160.0000 6.999e-10
50.0000 160.0000 7.954e-10
60.0000 160.0000 9.443e-10
70.0000 160.0000 1.116e-9
80.0000 160.0000 1.174e-9
90.0000 160.0000 1.162e-9
100.0000 160.0000 1.192e-9
110.0000 160.0000 1.207e-9
120.0000 160.0000 1.259e-9
130.0000 160.0000 1.351e-9
140.0000 160.0000 1.406e-9
150.0000 160.0000 1.432e-9
160.0000 160.0000 1.449e-9
170.0000 160.0000 1.459e-9
180.0000 160.0000 1.465e-9
190.0000 160.0000 1.462e-9
200.0000 160.0000 1.463e-9
210.0000 160.0000 1.462e-9
220.0000 160.0000 1.462e-9
230.0000 160.0000 1.461e-9
240.0000 160.0000 1.457e-9
250.0000 160.0000 1.454e-9
260.0000 160.0000 1.454e-9
270.0000 160.0000 1.456e-9
280.0000 160.0000 1.455e-9
290.0000 160.0000 1.453e-9

};
\end{axis}
\end{tikzpicture}

最终热图

相关内容