单色Matplotlib热图
我想生成一个热力图,像这个一样。
我希望热力图只有一种颜色,数值较小的地方是白色,数值较大的地方是其他颜色。
我尝试把颜色设置为一种,但最后的结果还是能看到不同的颜色(比如蓝色、红色等等)。
我该怎么做呢?另外,数值需要在特定的范围内吗?
1 个回答
6
给 颜色映射 传递给 cmap
参数,使用 imshow
函数。例如:
from matplotlib.pyplot import cm
imshow(A, interpolation='nearest', cmap=cm.Blues)
颜色映射示例:http://matplotlib.org/examples/color/colormaps_reference.html
默认情况下,数据中最低和最高的值会分别对应颜色范围的两端。你可以通过使用 imshow
的 vmin
和 vmax
(或者 norm
)参数来改变这种行为。