单色Matplotlib热图

0 投票
1 回答
9670 浏览
提问于 2025-04-18 13:36

我想生成一个热力图,像这个一样。

我希望热力图只有一种颜色,数值较小的地方是白色,数值较大的地方是其他颜色。

我尝试把颜色设置为一种,但最后的结果还是能看到不同的颜色(比如蓝色、红色等等)。

我该怎么做呢?另外,数值需要在特定的范围内吗?

1 个回答

6

颜色映射 传递给 cmap 参数,使用 imshow 函数。例如:

from matplotlib.pyplot import cm
imshow(A, interpolation='nearest', cmap=cm.Blues)

颜色映射示例:http://matplotlib.org/examples/color/colormaps_reference.html

默认情况下,数据中最低和最高的值会分别对应颜色范围的两端。你可以通过使用 imshowvminvmax(或者 norm)参数来改变这种行为。

撰写回答