Matplotlib之简单绘图

来源:互联网 发布:单片机与pc串口通信 编辑:程序博客网 时间:2024/06/07 15:20

引言


Matplotlib是一个非常有用的Python绘图库。它和Numpy结合得很好,但本身是一个单独的开源项目。可以访问Matplotlib官网的Gallery 查看美妙的示例图片及代码

Matplotlib中有一些功能函数可以从雅虎财经频道下载并处理数据(放到后面研究)

简单绘图


matplotlib.pyplot包中包含了简单绘图功能。需要记住的是,随后调用的函数都会改变当前的绘图。最终,我们会将绘图存入文件或者使用show函数显示出来。不过如果我们用的是运行在Qt或Wx后端的IPython,图形将会交互式地更新,而不需要等待show函数的结果。这类似与屏幕上输出文本的方式,可以源源不断地打印出来。

1 绘制多项式函数的图像
使用Numpy的ploy1d创建多项式函数

import numpy as npimport matplotlib.pyplot as pltfunc = np.poly1d(np.array([1,2,3,4]).astype(float))#以自然数序列作为多项式的系数x = np.linspace(-10,10,30)  #使用linspace函数创建X轴的数值,在-10和10之间产生30个均匀分布的值y = func(x) #计算我们在第一步中创建的多项式的值plt.plot(x,y)#调用plot函数,这并不会立刻显示函数图像plt.xlabel('x')#使用xlable、ylable函数添加标签plt.ylabel('y(x)')plt.show()#调用show函数显示函数图像

这里写图片描述

2 绘制多项式函数及其导函数
tip: plot 函数可以接受任意个数的参数。在上一节中,我们给了两个参数。我们还可以使用可选的格式字符串参数指定线条的颜色和风格,默认为b-即蓝色实线。你可以指定为其他颜色和风格,如红色虚线。
使用derive函数和参数m=1得到的其一阶导函数,并用两种风格不同的曲线来区分两条函数曲线

import numpy as npimport matplotlib.pyplot as pltfunc = np.poly1d(np.array([1,2,3,4]).astype(float))func1 = func.deriv(m=1)x = np.linspace(-10,10,30)  y = func(x) y1 = func1(x)plt.plot(x,y,'ro',x,y1,'g--') #红色圆形和绿色虚线plt.xlabel('x')plt.ylabel('y')plt.show()

这里写图片描述

子图


绘图时可能会遇到图中有太多曲线的情况,这里我们可以使用subplot函数来分组绘制它们。

绘制多项式函数及其多个导函数图像
绘制一个多项式函数及其一阶和二阶导函数,将绘制3张子图

#创建多项式函数及其导函数们import numpy as npimport matplotlib.pyplot as pltfunc = np.poly1d(np.array([1,2,3,4]).astype(float))func1 = func.deriv(m=1)func2 = func.deriv(m=2)x = np.linspace(-10,10,30)  y = func(x) y1 = func1(x)y2 = func2(x)

使用subplot函数创建第一个子图。该函数的第一个参数是子图的行数,第二个参数是子图的列数,第三个参数是一个从1开始的序号。另一种方式是将这3个参数结合成一个数字,如311.这样,子图将被组织成3行1列。设置子图的标题为Polynomial,使用红色实线绘制。

plt.subplot(311)plt.plot(x,y,'r-') #红色实线plt.title('Polynomial')

使用subplot函数创建第二个子图。设置子图的标题为First Derivative,使用蓝色三角形绘制

plt.subplot(312)plt.plot(x,y1,'b^')#蓝色三角形plt.title('First Derivative')

使用subplot函数创建第三个子图。设置子图的标题为Second Derivative,使用绿色圆形绘制

plt.subplot(313)plt.plot(x,y2,'go')#绿色圆形plt.title('Second Derivative')plt.xlabel('x')plt.ylabel('y')plt.show()

这里写图片描述

原创粉丝点击