matplotlib 是python最著名的2D绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。通过简单的绘图语句,就可以绘制出高质量的图了。
这里我们就主要讲一下inshow()函数的使用吧。
一、引入matplotlib函数库
如果你使用的是windows平台,大家可以直接下载对应版本的matplotlib库的exe文件安装即可。
使用下面的命令引入matplotlib的pyplot模块:
import matplotlib.pyplot as plt
文章图片
为方便起见,这样我们就可以用plt来代替matplotlib.pyplot使用了。
二、Figure和Subplot
matplotlib的图像都位于Figure对象中,实际上就是创建了一个空的图像窗口。可以用plt.figure创建一个新的Figure。
fig = plt.figure()
文章图片
不能通过空Figure绘图,必须用add_subplot()创建一个或多个子sunplot绘图区才能绘图。
ax = fig.add_subplot(221)
意思是:绘制2×2两行两列共4个subplot图像,当前选中第一个。编号从1开始。
文章图片
得到如下的图像:
文章图片
三、绘制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的索引其实就是图像的坐标,而其值才是通过图的颜色表现出来的。
【利用matplotlib中imshow()函数绘图】
推荐阅读
- Python专栏|数据分析的常规流程
- 学生作品|tina - 鸢尾花预测
- 大数据|【新书速递】流量运营教科书
- R语言从入门到机器学习|R语言rename重命名dataframe的列名实战:rename重命名dataframe的列名(写错的列名不会被重命名)
- Pyecharts|Pyecharts 猎聘招聘数据可视化
- python|上瘾了,最近又给公司撸了一个可视化大屏(附源码)
- python|深度盘点(一文详解数据分析中100个常用指标和术语)
- #|学习笔记 | Ch05 Pandas数据清洗 —— 缺失值、重复值、异常值
- python|requests库请求获取不到数据怎么办(不妨试试看这种妙法)
- 亿信华辰:怎样去断定一份数据的质量高低(数据质量如何评估?)