如何使用图例和辅助y轴在同一绘图上绘制两只熊猫的时间序列?

我想用相同的x轴和次y轴在同一个图上绘制两个时间序列。我不知怎么做到了这一点,但两个图例重叠,无法为x轴和辅助y轴添加标签。我尝试将两个图例放在左上角和右上角,但仍然不起作用

代码:

plt.图(figsize=(12,5))
#每10分钟的请求数
log\u 10min\u count\u Series=log\u df['IP']。重新采样('10min')。计数()
记录\u 10分钟\u计数\u系列。name=“计数”
对数\u 10分钟\u计数\u系列图(颜色=蓝色,网格=真)
plt.图例(位置='左上')
plt.xlabel('每10分钟的请求数')
#每10分钟的响应大小总和
log\u 10min\u sum\u Series=log\u df['Bytes']。重新采样('10min')。sum()
log\u 10分钟\u sum\u Series.name='sum'
对数10分钟求和系列图(颜色为红色,网格为真,二次为真)
plt.图例(位置='右上')
plt.show()

提前谢谢

下面的解决方案对我很有效。第一个将两条线放在一个图例中,第二个将两条线拆分为两个图例,类似于上面尝试的内容

这是我的数据框

ts=pd.系列(np.random.randn(1000),index=pd.date\u范围('1/1/2000',句点=1000))
df=pd.DataFrame(np.random.randn(1000,4),index=ts.index,columns=list('ABCD'))

一个传奇解决方案,归功于此StackOverflow post

plt.图(figsize=(12,5))
plt.xlabel('每10分钟的请求数')
ax1=df.A.plot(color='blue',grid=True,label='Count')
ax2=df.B.plot(颜色为红色,网格为真,二次y=真,标签为和)
h1,l1=ax1。获取\u图例\u句柄\u标签()
h2,l2=ax2。获取\u图例\u句柄\u标签()
plt.图例(h1+h2、l1+l2、loc=2)
plt.show()

拆分图例解决方案

plt.图(figsize=(12,5))
plt.xlabel('每10分钟的请求数')
ax1=df.A.plot(color='blue',grid=True,label='Count')
ax2=df.B.plot(颜色为红色,网格为真,二次y=真,标签为和)
ax1.图例(loc=1)
ax2.图例(loc=2)
plt.show()

发表评论