plt绘图与Axes绘图
程序员文章站
2022-05-19 13:23:48
...
使用matplotlib.pyplot(plt)进行绘图时,有两种方法:
- 直接使用plt里的函数
- 使用面向对象的方法,先产生一个Axes对象,再对此对象进行操作,实现绘图
第二种方法可以实现更多操作,具有更好的定制性
- 使用plt绘图
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 中文字体设置-黑体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
x = np.arange(-2*np.pi, 2*np.pi, 0.01)
y1 = np.sin(x)
y2 = np.cos(x)
plt.figure(figsize=(10, 7))
plt.plot(x, y1, label='$sinx$')
plt.plot(x, y2, label='$cosx$')
plt.legend(loc='upper right')
plt.xlim(-2*np.pi-1, 2*np.pi+3)
plt.xticks([-2*np.pi, -np.pi, 0, np.pi, 2*np.pi], ['$-2\pi$', '$-\pi$', '$0$', '$\pi$', '$2\pi$'])
plt.title('三角-函数')
plt.xlabel('横坐标')
plt.ylabel('纵坐标')
plt.axhline(y=0, c='black')
plt.show()
- 使用Axes绘图
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 中文字体设置-黑体
plt.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题
x = np.arange(-2*np.pi, 2*np.pi, 0.01)
y1 = np.sin(x)
y2 = np.cos(x)
fig, ax = plt.subplots(figsize=(10, 7))
ax.plot(x, y1, label='$sinx$')
ax.plot(x, y2, label='$cosx$')
ax.legend(loc='upper right')
ax.set_xlim(-2 * np.pi - 1, 2 * np.pi + 3)
ax.set_xticks([-2 * np.pi, -np.pi, 0, np.pi, 2 * np.pi])
ax.set_xticklabels(['$-2\pi$', '$-\pi$', '$0$', '$\pi$', '$2\pi$'])
ax.set_title('三角-函数')
ax.set_xlabel('横坐标')
ax.set_ylabel('纵坐标')
ax.axhline(y=0, c='black')
plt.show()