Modificar a legenda do gráfico da barra de pandas
Fico sempre incomodado quando faço um enredo de bar com pandas e quero mudar os nomes dos rótulos da lenda. Considere, por exemplo, a saída deste código:
import pandas as pd
from matplotlib.pyplot import *
df = pd.DataFrame({'A':26, 'B':20}, index=['N'])
df.plot(kind='bar')
Agora, se eu quiser mudar o nome na lenda, eu normalmente tentaria fazer:
legend(['AAA', 'BBB'])
mas acabo com isto:
de facto, a primeira linha tracejada parece corresponder a um remendo adicional.
Por isso, pergunto-me se haverá um truque simples. aqui para mudar os rótulos, ou eu preciso plotar cada uma das colunas de forma independente com matplotlib e definir os rótulos eu mesmo. Obrigado. 21
Author: Martin Evans, 2015-10-15
2 answers
Mudar de rótulo para Pandas df.plot()
:
import pandas as pd
from matplotlib.pyplot import *
fig, ax = subplots()
df = pd.DataFrame({'A':26, 'B':20}, index=['N'])
df.plot(kind='bar', ax=ax)
ax.legend(["AAA", "BBB"]);
Editar:
Uma linha a menos:
df = pd.DataFrame({'A':26, 'B':20}, index=['N'])
ax = df.plot(kind='bar')
ax.legend(["AAA", "BBB"]);
28
Author: Sergey Bushmanov, 2017-08-31 12:33:56
Se precisar de invocar o plot multiply times, também pode usar o argumento "label":
ax = df1.plot(label='df1')
ax = df2.plot(label='df2')
Embora este não seja o caso na pergunta do OP, isto pode ser útil se o DataFrame
estiver em formato longo e você usar groupby
antes de plotar.
0
Author: Jonathan, 2018-08-02 14:54:02