Создайте одну легенду для двух сюжетов DataFrame - PullRequest
0 голосов
/ 24 сентября 2018

Я создаю сюжет с двумя осями на разных участках.В настоящее время одно перекрывает другое.Проблема состоит в том, чтобы сделать легенду, чтобы она содержала обе метки в стеке.Как я могу это сделать?

d = data.groupby('atemp_rounded').sum().reset_index()
fig = plt.figure()
ax1 = fig.add_subplot(111) # don't know what 111 stands for...
ax2 = ax1.twinx()
d.plot(ax=ax1, y='casual')
d.plot(ax=ax2, y='registered', color='g')
plt.show()

bad legend

1 Ответ

0 голосов
/ 24 сентября 2018

Вы можете отключить легенду отдельных сюжетов и вместо этого создать легенду фигуры.Чтобы поместить его в границы осей, необходимо указать положение в координатах осей.

import matplotlib.pyplot as plt
import pandas as pd

df = pd.DataFrame({"A" : [3,2,1], "B" : [2,2,1]})

fig = plt.figure()
ax1 = fig.add_subplot(111) # don't know what 111 stands for...
ax2 = ax1.twinx()
df.plot(ax=ax1, y='A', legend=False)
df.plot(ax=ax2, y='B', color='g', legend=False)
fig.legend(loc="upper right", bbox_to_anchor=(0,0,1,1), bbox_transform=ax1.transAxes)
plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...