在python中使用不同颜色的条形图

时间:2015-07-18 04:35:41

标签: python-2.7 pandas matplotlib

我有这样的数据:

import pandas as pd
import matplotlib.pyplot as plt
index={'A','B','C','D','E'}
d={'typ':[1,2,2,2,1],'value':[10,25,15,17,13]}
df=pd.DataFrame(d,index=index)

我想在水平条形图中绘制数据框,其中不同的颜色属于列'typ'

1 个答案:

答案 0 :(得分:5)

您可以使用matplotlib的barh函数的color参数:

import pandas as pd
import matplotlib.pyplot as plt
index={'A','B','C','D','E'}
d={'typ':[1,2,2,2,1],'value':[10,25,15,17,13]}
df=pd.DataFrame(d,index=index)

# define the colors for each type
colors = {1:'blue', 2:'red'}

# plot the bars
plt.bar(range(len(df)), df['value'], align='center',
        color=[colors[t] for t in df['typ']])

The resulting figure