Python—Matplotlib绘图
记录一些使用到的Matplotlib绘图功能
折线图
单边Y轴使用
def plot_single(x, y, x_label, y_label):
plt.plot(x, y, color="b", label=y_label)
#绘制坐标轴标签
plt.xlabel(x_label)
plt.ylabel(y_label)
#显示图例
plt.legend(loc="upper right") # 图例显示在右上方
plt.show()
双边Y轴使用
def plot_twin(x, y1, y2, y1_label, y2_label):
fig, ax1 = plt.subplots()
# 使用左边 Y 轴
color = 'tab:blue'
ax1.set_xlabel('time')
ax1.set_ylabel(y1_label, color=color)
ax1.plot(x, y1, color=color)
ax1.tick_params(axis='y', labelcolor=color)
# 使用右边 Y 轴
ax2 = ax1.twinx() # 创建共用x轴的第二个y轴
color = 'tab:red'
ax2.set_ylabel(y2_label, color=color)
ax2.plot(x, y2, color=color)
ax2.tick_params(axis='y', labelcolor=color)
fig.tight_layout()
plt.show()
添加注释文本
#调用 text()在图像上绘制注释文本
# x1、y1表示文本所处坐标位置,ha参数控制水平对齐方式, va控制垂直对齐方式,str(y1)表示要绘制的文本
for x1, y1 in zip(x, y):
t = str(y1) # 注释文本
plt.text(x1, y1, t, ha='center', va='bottom', fontsize=10)