Matplotlib.pyplot.imshow() 绘制热力图
Python代码:
# 导入第三方包
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
# matplotlib其实是不支持显示中文的 显示中文需要额外设置
# 设置字体类型,宋体:SimSun 华文楷体:STKaiti 微软雅黑:Microsoft YaHei
matplotlib.rcParams['font.family'] = 'STKaiti'
# 设置字体尺寸
matplotlib.rcParams['font.size'] = 12
# 数据(此数据仅供绘图,非真实数据)
data = np.array([
[0.27, 0.18, 0.67, 0.57, 0.19, 1.00],
[0.52, 0.22, 0.16, 0.34, 1.00, 0.19],
[0.81, 0.41, 0.95, 1.00, 0.34, 0.57],
[0.33, 0.54, 1.00, 0.95, 0.16, 0.67],
[0.15, 1.00, 0.54, 0.41, 0.22, 0.18],
[1.00, 0.15, 0.33, 0.81, 0.52, 0.27]
])
# 标签
label = np.array(['Apple', 'Orange', 'Pear', 'Lemon', 'Cherry', 'Banana'])
# 设置画布
plt.figure(num='e_imshow', figsize=(8, 6), dpi=100)
# imshow(X=矩阵数据)
plt.imshow(X=data)
# 加入颜色棒
plt.colorbar()
# 设置X、Y轴刻度及标签
plt.xticks(ticks=np.arange(len(label)), labels=label)
plt.yticks(ticks=np.arange(len(label)), labels=reversed(label))
# 设置坐标(i, j)显示的数值
for i in range(len(label)):
for j in range(len(label)):
# text((x, y)=坐标, s=数值, ha=水平对齐, va=垂直对齐, color=颜色)
plt.text(x=i, y=j, s=data[j][i], ha='center', va='center', color='white')
# 设置图像标题
plt.title(label='常见水果热力图')
# 保存图像
# plt.savefig('e_imshow.png')
# 展示图片
plt.show()
热力图效果: