04.plot - wwj-2017-1117/graph GitHub Wiki

""" 用matplotlib画多个曲线,我们绘制 f(x)=x^{3}+2x^{2}+3x+4 的同时,再绘制其一阶导函数 f'(x)的图像 """ import numpy as np import matplotlib import matplotlib.pyplot as plt import matplotlib.font_manager as fm

matplotlib.rcParams['font.family'] = 'SimHei' # 用来正常显示中文标签 matplotlib.rcParams['axes.unicode_minus'] = False # 用来正常显示负号 plt.figure(1) func = np.poly1d(np.array([1, 2, 3, 4])) func1 = func.deriv(1) # 得到func的一阶导函数 func2 = func.integ() # 得到func的一阶积分函数 x = np.linspace(-10, 10, 30) y0 = func(x) y1 = func1(x) y2 = func2(x)

方法1:在一幅图上画三条曲线

plt.plot(x, y0, color='r', label='函数f(x)') # 红色实线 plt.plot(x, y1, 'g--', label="函数f'(x)") # 绿色虚线 plt.plot(x, y2, 'b-.', label="函数f^2(x)") # 蓝色点划线 plt.legend() # 1.设置图例和显示plot中的label信息 2.用来控制labe信息显示的位置。 plt.show() # 显示图片

方法2:用子图分别画三个曲线 plt.subplot(MNX),把当前图片划分成M行N列,当前是第X副图片

plt.subplot(311) plt.plot(x, y0, 'r') plt.title('f(x)原函数')

plt.subplot(312) plt.plot(x, y1, 'g') plt.title('f(x)的一阶导函数')

plt.subplot(313) plt.plot(x, y2, 'b') plt.title('f(x)的一阶积分函数')

调整每个子图之间的距离

plt.tight_layout()

plt.show()