Matplotlib画图接口
- 导入matplotlib
- 显示图像
- 画图接口
导入matplotlib
和numpy
,pandas
一样,在导入matplotlib
时我们也可以用一些常用的简写形式:
import matplotlib as mpl
import matplotlib.pyplot as plt
pyplot
是最常用的画图模块接口,功能非常强大。
显示图像
开发环境的不同,显示图像的方式也就不一样,一般有三种开发环境,分别是脚本、IPython shell
、IPython Notebook
。
在脚本中使用matplotlib
进行可视化时显示图像可以使用plt.show()
。
在IPython shell
中使用matplotlib
可视化非常方便,使用%matplotlib
命令启动matplotlib
模式。之后的任何plt命令都会自动打开一个图像窗口,当有新的命令,图像就会更新。但对已经画好的图像不会自动实时更新。对于这种可以使用plt.draw()
强制更新。
在IPython Notebook
中画图和IPthon shell
类似,也需要使用%matplotlib
命令。图像的显示是嵌在IPython Notebook
页面中。有两种展示形式:%matplotlib notebook
交互式图形;%matplotlib inline
静态图形。
matplotlib
还可以直接将图像保存文件,通过plt.savefig("test.jpg")
命令保存文件。
plt.savefig("test.jpg")
画图接口
matplotlib
有两个画图接口:一个是便捷的matlab
风格接口,另一个是功能更强大的面向对象接口。
matplotlib
的matlab
接口许多语法都和MATLAB
类似,所以使用过MATLAB
的朋友们想必很快就能上手matplotlib
。
import matplotlib.pyplot as plt#导入模块
plt.figure(figsize=(10,10))#创建图形,并设置大小为10 x 10
plt.subplot(2,1,1)#创建子图1(行,列,子图编号)
plt.plot([1,2,3,4], [1,2,3,4])
plt.subplot(2,1,2)#创建子图2(行,列,子图编号)
plt.plot([4,3,2,1], [1,2,3,4])
plt.show()
面向对象接口可以适应更加复杂的场景,更好地控制图形,在画比较复杂的图形市,面向对象方法会更方便。通过下面的代码,可以用面向对象接口重新创建之前的图形。
fig,ax=plt.subplots(2)#ax是一个包含2个axes对象的数组
ax[0].plot([1,2,3,4], [1,2,3,4])
ax[1].plot([4,3,2,1], [1,2,3,4])
plt.show()