首页 > 解决方案 > 显示图例 pandas 绘制多个 Y 轴

问题描述

谁能给我一个关于如何在我的情节中添加图例的提示?我很高兴情节看起来只需要一个传奇:)

# data from pandas df's
zoom_plot = fc1_dataset.loc['2021-8-9'].between_time('5:00', '17:00')
_no_vfd_sig = zoom_plot[['fc1_flag','duct_static','duct_static_setpoint']]
_vfdsig = zoom_plot.vfd_speed


# using subplots() function
fig, ax = plt.subplots(figsize=(25,8))
plt.title('Visually verify FDD is flagging OK')
 
# using the twinx() for creating another
# axes object for secondary y-Axis
ax2 = ax.twinx()
ax.plot(zoom_plot.index, _no_vfd_sig)
ax2.plot(zoom_plot.index, _vfdsig, color = 'r')
 
# giving labels to the axises
ax.set_xlabel('Date')
ax.set_ylabel('Duct Pressure and FDD Flag')

# secondary y-axis label
ax2.set_ylabel('% Fan Speed')

# defining display layout
plt.tight_layout()
 
# show plot
plt.show()

输出: 在此处输入图像描述

标签: pythonpandasmatplotlib

解决方案


和之前的代码一样...

plot1, = ax.plot(zoom_plot.index, _no_vfd_sig)
plot2, = ax2.plot(zoom_plot.index, _vfdsig, color = 'r')

ax.set_xlabel('Date')
ax.set_ylabel('Duct Pressure and FDD Flag')

# secondary y-axis label
ax2.set_ylabel('% Fan Speed')

plt.legend([plot1,plot2],["plot 1", "plot 2"])

# defining display layout
plt.tight_layout()

# show plot
plt.show()

推荐阅读