matplotlib是python中广泛使用的数据可视化库,它提供了许多种绘图方式,但其本身是一个面向对象的绘图库,可以用面向对象API来绘图.相较于matplotlib.pyplot模块,面向对象的绘图方式会更好的控制和自定义绘图.
首先,导入matplotlib库和其他相关模块:
import matplotlib.pyplot as plt
import numpy as np
其次,创建一个figure画布对象并在此画布对象创建两个子图对象(绘图区域):
fig = plt.figure()
ax1 = fig.add_subplot(121)
ax2 = fig.add_subplot(122)
ax1.set_title("折线图")
ax2.set_title("柱形图")
最后添加基础类对象(plot()折线图,bar柱形图,bath条形图等):
x1 = np.arange(1,6)
y1 = np.array([6,5,5,7,4])
ax1.plot(x1,y1)
x2 = np.arange(5)
y2 = np.array([5,7,7,8,5])
width = 0.5
ax2.bar(x2,y2,width=width)
plt.show()
运行结果图:
附全代码:
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax1 = fig.add_subplot(121)
ax2 = fig.add_subplot(122)
ax1.set_title("折线图")
ax2.set_title("柱形图")
x1 = np.arange(1, 6)
y1 = np.array([6, 5, 5, 7, 4])
ax1.plot(x1, y1)
x2 = np.arange(5)
y2 = np.array([5, 7, 7, 8, 5])
width = 0.5
ax2.bar(x2, y2, width=width)
plt.show()