1. 热力图
imshow` 是 Matplotlib 库中一个函数,主要用于在 Python 中显示图像。它的完整参数列表如下:
matplotlib.pyplot.imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, shape=None, filternorm=True, filterrad=4.0, imlim=None, resample=None, url=None, *, data=None, **kwargs)
下面是一些主要参数的说明:
1. `X`: 要显示的图像或数组。
2. `cmap`: 颜色映射,默认为`None`。可以是特定颜色映射的字符串名称,也可以是
`matplotlib.colors.Colormap` 实例。
3. `norm`:用于将数据值标准化到 0-1 范围内的 `matplotlib.colors.Normalize` 实例,默认为
`None`。
4. `aspect`:表示图像的纵横比,如 'equal', 'auto' 或一个数字,默认为`None`。
5. `interpolation`: 图像显示时使用的插值算法,默认为`None`。常用的插值方法有 'nearest',
'bilinear', 'bicubic', 'spline16' 等。
6. `alpha`:(0-1 之间的数值)图像的透明度,默认为 `None`。
7. `vmin`、`vmax`:标量,用于数据范围缩放。如果提供,图像的数据将被限制在这个范围内。默
认为`None`。
8. `origin` :图片显示的左上角位置,默认为`None`。可以是 'upper' 或 'lower'。
9. `extent`:浮点型数据(left, right, bottom, top),图像在 x 轴和 y 轴上的显示范围,默认为
`None`。
10. `shape`:图像的形状,默认为`None`。
11. `filternorm`:是否对卷积结果进行归一化处理,默认为`True`。
12. `filterrad`:图像滤波器响应的有效范围,默认为 4.0。
13. `imlim`: 图像的显示范围,默认为`None`。
14. `resample`:是否使用高质量下采样过滤器,默认为`None`。
15. `url`: 图像的 URL,默认为`None`。
16. `data`:可选参数,用于替代直接提供数据组的方法,默认为`None`。
17. `**kwargs`:其他可选参数,传递给 `matplotlib.pyplot.imshow()`。
df = pd.read_excel('data/plot.xlsx', sheet_name='imshow')
data = df.drop(columns='省份').values
y = df['省份']
# x = df.columns[1:]
x = df.drop(columns='省份').columns
plt.figure(figsize=(14, 10))
# 热力图
plt.imshow(data, cmap='Blues')
# 设置坐标轴刻度
plt.xticks(range(len(x)), x)
plt.yticks(range(len(y)), y)
# 添加文字
for i in range(len(x)):
for j in range(len(y)):
plt.text(x=i, y=j, s=data[j, i],
ha='center',
va='center',
fontsize=12
)
# 颜色条
plt.colorbar()
plt.show()