Python 用不同的图例颜色绘制条形图

Python 用不同的图例颜色绘制条形图,python,pandas,dataframe,plot,Python,Pandas,Dataframe,Plot,我想画一张图表。我可以画一个折线图,可以显示5种不同的颜色和5个图例。我想绘制一个可以显示5种不同颜色的条形图,但我绘制的条形图只有一种颜色,我可以知道我的代码有什么问题吗 这是我的密码: import pandas as pd import matplotlib as plt df = pd.read_csv('df.csv') df.set_index('date',inplace=True) date symbol roe 31/12/2015 NEM -0.9866

我想画一张图表。我可以画一个折线图,可以显示5种不同的颜色和5个图例。我想绘制一个可以显示5种不同颜色的条形图,但我绘制的条形图只有一种颜色,我可以知道我的代码有什么问题吗

这是我的密码:

import pandas as pd
import matplotlib as plt

df = pd.read_csv('df.csv')
df.set_index('date',inplace=True)

date        symbol  roe
31/12/2015  NEM -0.9866
31/12/2016  NEM -6.8385
31/12/2017  NEM -0.6164
31/12/2018  NEM 2.7824
31/12/2019  NEM 13.2141
31/12/2015  MLM 7.1164
31/12/2016  MLM 10.27
31/12/2017  MLM 15.2355
31/12/2018  MLM 9.5042
31/12/2019  MLM 11.4322
30/9/2015   APD 13.0861
30/9/2016   APD 15.5544
30/9/2017   APD 11.3416
30/9/2018   APD 13.3381
30/9/2019   APD 15.8882
31/12/2015  VMC 5.2291
31/12/2016  VMC 9.238
31/12/2017  VMC 11.9421
31/12/2018  VMC 9.9529
31/12/2019  VMC 11.0729
31/12/2015  FMC -11.1408
31/12/2016  FMC 6.558
31/12/2017  FMC -4.9167
31/12/2018  FMC 16.7456
31/12/2019  FMC 21.2189
我可以画一个折线图:-

df.groupby('symbol')['roe'].plot(figsize=(10,8),legend='True')

我可以绘制图表,但我希望图表上每年有5个不同的条形图,颜色不同。我能知道怎么解决这个问题吗

df.groupby('symbol')['roe'].plot(kind='bar', legend='True', figsize = (5,5))

让我们尝试按年份分组并绘制:

for y,d in df.groupby(pd.to_datetime(df['date']).dt.year):
    ax = d.pivot('date','symbol','roe').plot.bar()
    ax.set_title(y)
df.pivot('date','symbol','roe').plot.bar()
您将有五个不同的图,每个图为期一年,如下所示:

如果要将所有图形都打印到一个图形中,请跳过
groupby
,只需旋转并打印:

for y,d in df.groupby(pd.to_datetime(df['date']).dt.year):
    ax = d.pivot('date','symbol','roe').plot.bar()
    ax.set_title(y)
df.pivot('date','symbol','roe').plot.bar()
得到


你想为年份或符号使用不同的颜色吗?您好,我想每年都有5个不同的图表,有5种不同的颜色。提前谢谢。是的,谢谢你的帮助。我可以知道有没有删除日期时间列上的月份和日期的功能?符号APD存在一个问题,即月份和日期与这4个符号不同。如果您的
date
列为datetime类型,请提前感谢x
df['date'].dt.year