跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

matplotlib的imshow()函数怎么用?

大家好,我是顺亿,今天我们来聊聊matplotlib中一个很实用的函数——imshow()。这个函数在绘图方面特别有用,尤其是处理二维数据时。接下来,我们就一步步来揭开它的神秘面纱。

一、引入matplotlib函数库

首先,你得有一个matplotlib库。在Windows平台上,你可以直接下载exe文件安装。安装完成后,我们使用import matplotlib.pyplot as plt来引入pyplot模块,这样就可以用plt来代替matplotlib.pyplot了。

二、Figure和Subplot

matplotlib的图像都位于Figure对象中,简单来说,就是创建了一个空的图像窗口。你可以用plt.figure()来创建一个新的Figure。接下来,你需要用add_subplot()来创建一个或多个子subplot绘图区。

三、绘制z = sqrt(x^2+y^2) 的二维函数输出图像

(1)准备数据

我们使用NumPy模块来生成二维数组,对应于所有的(x,y)对。这里有一个例子:

import numpy as np
points = np.arange(-5,5,0.01)   #产生1000个-5到5等间隔的点
xs,ys = np.meshgrid(points,points)   #np.meshgrid()接受两个一维数组产生两个二维矩阵((x,y)对)。
z = np.sqrt(xs**2+ys**2)   #计算z = sqrt(x^2+y^2)的值

(2)绘图

接下来,我们使用imshow()函数来绘制图像。这里有几个例子:

ax = fig.add_subplot(221)   #第一个子图
ax.imshow(z)   #默认配置

ax = fig.add_subplot(222)#第一个子图
ax.imshow(z,cmap = plt.cm.gray)   #第二个子图,使用自定义的colormap(灰度图)

ax = fig.add_subplot(223)#第一个子图
ax.imshow(z,cmap=plt.cm.cool)#第二个子图,使用自定义的colormap

ax = fig.add_subplot(224)#第一个子图
ax.imshow(z,cmap=plt.cm.hot)#第二个子图,使用自定义的colormap

plt.show()   #显示图像

这样,漂亮的图像就出来了。你可能注意到,图的坐标是0-1000。这是因为我们传入的z矩阵是1000×1000的,z的索引其实就是图像的坐标,而其值通过图的颜色表现出来。

小结与拓展

今天我们学习了如何使用matplotlib的imshow()函数来绘制二维数据。这个函数非常强大,可以用于很多场景。如果你对matplotlib的其他功能感兴趣,可以关注我们的网站趣航编程网,了解更多内容。

我是顺亿,我们下期再见!

相关文章