matplotlib 绘制 sin与cos图像

495 阅读1分钟

需求:

  • 实现一张同时出现的 sin 图像与 cos 图像
  • sin图像用实线表示,cos图像用虚线表示
  • 图像中心位于坐标轴原点(0,0)处
  • 左上角显示线条信息

在这里插入图片描述

# 总结
import matplotlib.pyplot as plt
import numpy as np

plt.rcParams['font.sans-serif'] = ['SimHei']    # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False      # 用来正常显示负号

x = np.linspace(-np.pi, np.pi, 256) # -PI 到 PI,间隔为256的等差序列

plt.plot(x, np.sin(x), color='blue', linestyle='-', lw=2, label='sin line') # color和line可以简写为'b-';lw为line_width线宽
plt.plot(x, np.cos(x), 'r--', label='cos line')

plt.xlim(-4, 4)   # 调整坐标范围
plt.ylim(-1.1, 1.1)

# 设置坐标
plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],[r'$-\pi$', r'$-\pi/2$', r'$0$', r'$+\pi/2$', r'$+\pi$'])
plt.yticks([-1, 0, 1])

ax = plt.gca()  # 获取当前图表,get current axis
ax.spines['right'].set_color('none')           # 把右边的边界设置为不可见
ax.spines['top'].set_color('none')             # 把上边的边界设置为不可见
ax.xaxis.set_ticks_position('bottom')   # y轴坐标显示在下边
ax.spines['bottom'].set_position(('data', 0))  # 把下边界移到0点
ax.yaxis.set_ticks_position('left')     # x轴坐标显示在左边
ax.spines['left'].set_position(('data', 0))    # 把右边界移到0点

plt.legend(loc=0)           # 显示线条信息(定义位置)
plt.show()