python绘制热力图

matplotlib绘制热力图 主要是有两种方式
需要矩阵形式的数据,热力图用颜色的山前表示数据对应位置的大小
第一种方式matplotlib.pyplot.imshow()
imshow()主要是用于在坐标轴上展示图片,所以可以用来绘制热力图
用法

matplotlib.pyplot.imshow(X, cmap=None, norm=None, *, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, interpolation_stage=None, filternorm=True, filterrad=4.0, resample=None, url=None, data=None, **kwargs)

这里参数就不全部介绍了,因为不是主要绘制热力图的,
介绍下cmap这个参数
官方网址

  1. 统一的序列颜色映射,(中间对应的颜色值命名)
    python绘制热力图_第1张图片

  2. 顺序颜色序列(以色系名称命名,由低饱和度到高过度)
    python绘制热力图_第2张图片
    第二种是以二进制颜色代码命名,这个需要查下
    python绘制热力图_第3张图片

  3. 发散的颜色 向两端发散
    python绘制热力图_第4张图片

  4. 离散化的色系
    python绘制热力图_第5张图片

  5. 不均一的颜色系列
    python绘制热力图_第6张图片
    案例

import numpy as np
import matplotlib.pyplot as plt

# cmap=cm.hot
x = np.random.rand(100).reshape(10,10)
plt.imshow(x, cmap=plt.cm.hot, vmin=0, vmax=1)
plt.colorbar()
plt.show()

python绘制热力图_第7张图片

离散化色系演示

import numpy as np
import matplotlib.pyplot as plt

# 离散化色系演示
# plt.Set3(np.linsapce(0,1,12)
x = np.random.rand(100).reshape(10,10)
plt.imshow(x, cmap=plt.cm.Set3, vmin=0, vmax=1)
plt.colorbar()
plt.show()

python绘制热力图_第8张图片
python绘制热力图_第9张图片

第二种方法,matplotlib.pyplot.matshow()

import numpy as np
import matplotlib.pyplot as plt

x = np.random.rand(10, 10)
plt.matshow(x, cmap = plt.cm.winter, vmin=0, vmax=1)
plt.colorbar()
plt.show()

python绘制热力图_第10张图片

你可能感兴趣的:(python,matplotlib库详解,python,计算机视觉,opencv)