matplotlib 是python最著名的2D绘图库,它提供了一整套和matlab类似的命令API,十分适合交互式地进行制图。并且也能够方便地将它做为绘图控件,嵌入GUI应用程序中。经过简单的绘图语句,就能够绘制出高质量的图了。python
这里咱们就主要讲一下inshow()函数的使用吧。windows
1、引入matplotlib函数库数组
若是你使用的是windows平台,你们能够直接下载对应版本的matplotlib库的exe文件安装便可。函数
使用下面的命令引入matplotlib的pyplot模块:spa
import matplotlib.pyplot as plt3d
为方便起见,这样咱们就能够用plt来代替matplotlib.pyplot使用了。orm
2、Figure和Subplot对象
matplotlib的图像都位于Figure对象中,实际上就是建立了一个空的图像窗口。能够用plt.figure建立一个新的Figure。blog
fig = plt.figure()索引
不能经过空Figure绘图,必须用add_subplot()建立一个或多个子sunplot绘图区才能绘图。
ax = fig.add_subplot(221)
意思是:绘制2×2两行两列共4个subplot图像,当前选中第一个。编号从1开始。
获得以下的图像:
3、绘制z = sqrt(x^2+y^2) 的二维函数输出图像
(1)准备数据
咱们采用二维数组产生两个二维矩阵,对应于全部的(x,y)对。
要使用数组,咱们使用NumPy 模块。
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)绘图
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呢?是这样的,咱们给imshow传入z矩阵是1000×1000的,z的索引其实就是图像的坐标,而其值才是经过图的颜色表现出来的。