- 官方文档:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.imshow.html?highlight=imshow#matplotlib.pyplot.imshow
imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, shape=None, filternorm=1, filterrad=4.0, imlim=None, resample=None, url=None, hold=None, data=None, **kwargs)
参数 | 说明 |
---|---|
X | 矩阵或图像 |
cmap | 设置热图的Colormap |
interpolation | 'nearest’是把相邻的相同的颜色连成片 |
alpha | 默认为None,0(透明)~1(不透明)之间的值 |
camp参数:
cmap = plt.cm.gray | 返回线性灰度色图 |
cmap = plt.cm.hot | 从黑平滑过度到红、橙色和黄色的背景色,然后到白色 |
cmap = plt.cm.cool | 包含青绿色和品红色的阴影色,从青绿色平滑变化到品红色 |
cmap = plt.cm.bone | 具有较高的蓝色成分的灰度色图,用于对灰度图添加电子的视图 |
cmap = plt.cm.white | 全白的单色色图 |
cmap = plt.cm.spring | 包含品红和黄的阴影颜色 |
cmap = plt.cm.summer | 包含绿和黄的阴影颜色 |
cmap = plt.cm.autumn | 从红色平滑变化到橙色,然后到黄色 |
cmap = plt.cm.winter | 包含蓝和绿的阴影色 |
示例一:
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as pltpoints = np.arange(-5, 5, 0.01) #1000个间隔相等的点
xs, ys = np.meshgrid(points, points) #生成网格点坐标矩阵
z = np.sqrt(xs**2 + ys**2) #xs*xs + ys*ys = z*zfig = plt.figure() #创建一个新Figure
fig.suptitle("Image plot of r'$\sqrt{x^2+y^2}$' for a grid of values") #设置总标题#第1个子图
ax1 = fig.add_subplot(221)
plt.imshow(z)
#第2个子图
ax2 = fig.add_subplot(222)
plt.imshow(z, cmap = plt.cm.gray)
#第3个子图
ax3 = fig.add_subplot(223)
plt.imshow(z, cmap = plt.cm.cool)
#第4个子图
ax4 = fig.add_subplot(224)
plt.imshow(z, cmap = plt.cm.hot)plt.show()
示例二:
import matplotlib.pyplot as plt
X = [[1,2], [3,4], [5,6]]
plt.imshow(X, cmap = 'Blues')
plt.colorbar(shrink=0.5) #设置Bar为一半高度
plt.show()