Matplotlib是python上一个2D绘图库,可以生成绘图,直方图,柱状图,误差图,散点图等。pylab将pyplot与numpy合并为一个命名空间。这对于交互式工作很方便,但是对于编程来说,建议将名称空间分开。
举个栗子:
import numpy as np
import matplotlib.pyplot as plt
#画出正余弦曲线:
x=np.linspace(-np.pi,np.pi,200)
c,s=np.cos(x),np.sin(x)
plt.plot(x,c)
plt.plot(x,s)
plt.show()
结果如下图:
1.配置属性:
因为是面向对象的绘图库,我们可以为每个对象配置它们的属性,应该说有三个方法,一个是通过对象的方法set_属性名()函数,二是通过对象的set()函数,三是通过pylot模块提供的setp()函数:
注意:plot函数返回的是一个列表,因为可以同时画多条线;setp函数可以对多条线进行设置的;
import numpy as np
import matplotlib.pyplot as plt
plt.figure()
#x,y第一个维度必须一致
lines = plt.plot(range(8),range(8),range(8),range(8,16))
plt.setp(lines, color = 'g',linewidth = 2.0)
plt.show()
import numpy as np
import matplotlib.pyplot as plt
plt.figure()
line = plt.plot(range(5))[0] # plot函数返回的是一个列表,因为可以同时画多条线的哦;
line.set_color('r')
line.set_linewidth(2.0)
plt.show()
plt.figure()
# getp(obj, property=None)查看图像函数
plt.getp(line)
plt.getp(line, 'color')
结果如图:
2.Artist对象创建Figure对象
用Figure对象创建一个或者多个Axes或者Subplot对象
调用Axies等对象的方法创建各种简单类型的Artists
import numpy as np
import matplotlib.pyplot as plt
#创建figure()对象;
fig=plt.figure(1)
#figure对象的add_axes()可以在其中创建一个axes对象,
#add_axes()参数为[left,bottom,width,height]的列表,取值范围在0与1之间;
ax=fig.add_axes([0.1,0.2,0.8,0.8])
#用axes对象set_xlabel函数来设置它的xlabel
ax.set_xlabel('time')
#用axes对象plot()进行绘图,返回一个2D对象;用plot()绘图
line=ax.plot(range(5))[0]
line.set_color('r')
plt.show()
结果如图:
3.figure 容器
在构成图表的各种Artist对象中,最上层的Artist对象是Figure。我们可以调用add_subplot()与add_axes()方法向图表中添加子图,它们分加到figure的axes的属性列表中。add_subplot()与add_axes()返回新创建的axes对象,分别为axesSuubplot与axes, axesSuubplot为 axes的派生类。另外,可以通过delaxes()方法来删除哦;figure对象可以有自己的简单的artist对象。py