Matplotlib imshow函数
Matplotlib是一个Python的数据可视化库,提供了繁多的绘图函数。其中,imshow函数可以用来展示图像数据,也可以用来展示二维数
阅读更多:Matplotlib 教程
imshow函数的基本用法
imshow函数可以用来展示二维数组数据,给出一个例子:
import matplotlib.pyplot as plt
import numpy as np
# 创建2维数组
data = np.random.rand(10, 10)
# 展示数据
plt.imshow(data, cmap='winter')
plt.colorbar()
plt.show()
上述代码首先导入了matplotlib.pyplot和numpy模块(需要先安装这两个模块),然后创建了一个10×10的二维数组,并使用imshow展示了这个数组。
imshow的基本用法如下:
plt.imshow(data, cmap=None, vmin=None, vmax=None, interpolation=None, aspect=None, origin=None, extent=None, filternorm=1, filterrad=4.0, resample=None, url=None, *, alpha=None, norm=None)
其中data是一个二维数组,cmap是指定colormap颜色映射,vmin和vmax是数据的值域范围,interpolation是插值方式,aspect是宽高比例,origin是图像坐标起点位置。
不同的colormap
colormap(颜色映射)有很多种,各种不同的colormap可以为探索数据提供不同的暗示。Matplotlib库内置了很多种colormap。下面展示几种colormap的效果。
- autumn
img_array = np.arange(10000).reshape((100, 100))
plt.imshow(img_array, cmap='autumn')
plt.colorbar()
plt.show()
- bone
img_array = np.arange(10000).reshape((100, 100))
plt.imshow(img_array, cmap='bone')
plt.colorbar()
plt.show()
- cool
img_array = np.arange(10000).reshape((100, 100))
plt.imshow(img_array, cmap='cool')
plt.colorbar()
plt.show()
将图像保存成文件
Matplotlib可以将生成的图像保存成多种格式的文件,包括png、pdf、svg和eps等格式。下面是将一幅图像保存成png文件的例子:
import numpy as np
import matplotlib.pyplot as plt
# 创建一个图像数据
data = np.random.rand(10, 10)
# 展示图像并保存
fig = plt.figure(figsize=(6, 4))
plt.imshow(data, cmap='summer')
plt.colorbar()
plt.savefig('example.png')
plt.show()
这个例子先创建了一个10×10的随机数组data,然后使用imshow展示了它,最后将生成的图像保存成一个png格式的文件。
注意,保存图像的命令savefig必须在show之前执行,否则将只保存一个空图像。如果需要更改生成图像的大小,可以使用figure函数,比如figsize=(6, 4)可以生成一个宽6英寸、高4英寸的图像。
总结
本文介绍了Matplotlib库中的imshow函数,包括imshow函数的基本用法、不同的colormap、将图像保存成文件等功能。在使用imshow函数绘图时需要注意设置colormap、调整数据范围以及保存图像等方面的问题。祝各位在数据可视化方面取得更好的结果!
极客教程