如何使用Python绘图之matplotlib快速绘图
人气:0matplotlib是Python最常用的绘图库,她拥有Matlab的语法、python语言、latex的画图质量(还可以使用内嵌的latex引擎绘制的数学公式)。Matplotlib最早是为了可视化癫痫病人的脑皮层电图相关的信号而研发,因为在函数的设计上参考了MATLAB,所以叫做Matplotlib,首次发表于2007年,在开源和社区的推动下,现在在基于Python的各个科学计算领域都得到了广泛应用。其原作者John D. Hunter博士是一名神经生物学家,2012年不幸因癌症去世,感谢他创建了这样一个伟大的库,造福众多Coder。下面我来为大家演示如何使用matplotlib来快速绘制图形:
操作方法
- 01
首先,在进入正题之前,我们先做一些准备工作,如果你已配置好本机的Python环境。使用管理员权限打开命令提示符(win10Widows+x在弹出的菜单项中选择cmd 管理员)。在打开的命令提示符窗口中输入:pip install maplotlib按Enter确定后,会自动开始下载,如下所示:
- 02
要注意的是,如果没有下载成功可以多尝试几次,直到下载完成。matlpotlib在函数设计上对matlab进行参考,所以在进行函数式绘图即快速绘图是,语法与MATLAB进行绘图时大致相同。不过在开发大型应用时并不适用,此时对象化绘图才是最好的解决方案。
- 03
我们来看一个例子:import numpy as npimport matplotlib.pyplot as plt# 创建画布1plt.figure(1)# 创建画布2plt.figure(2)# 在画布2中创建子图1(有几个子图便是把画布分成几份)ax1 = plt.subplot(211)# 在画布2中创建子图2ax2 = plt.subplot(212)#指定绘图区间为[0,10],区间分为100份(单位为长度为0.1)x = np.linspace(0, 10, 100)for i in range(5):# 选择画布1绘图plt.figure(1)plt.plot(x, np.exp(i*x/3))# 选择画布2的子图1绘图plt.sca(ax1)plt.plot(x, np.sin(i*x))# 选择画布2的子图2绘图plt.sca(ax2)plt.plot(x, np.cos(i*x))#输出已绘制图形plt.show()
- 04
显而易见,函数式绘图的语法与matlab极为相似,由于在代码中已做详细说明,在此不对代码进行说明,有问题可以私信本人,做进一步解答。我们来看一下输出的图形
- 05
matplotlib绘图功能十分强大,在此只进行简单介绍,感兴趣的网友可以多查阅一些资料,进行深入了解。如果想了解matlotlib的面向对象绘图,可以查看我之后更新的另一篇经验:如何使用Python绘图之matplotlib面向对象绘图
加载全部内容