2015-07-18 3 views
0

У меня есть данные, как это:бар участка с различными цветами в питоне

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) 

Я хочу построить dataframe в виде горизонтальных полос с различными цветами В колонок 'typ'

+0

Возможно, принятый ответ на другой вопрос [matplotlib] (http://stackoverflow.com/questions/25396786/how-to-pick-unique-colors-of-histogram-bars-in-matplotlib) может помочь вам: циклически проходит через отдельные полосы (патчи) и назначает цвет для каждого патча индивидуально. Вам нужно будет принять его за участок с бархатом. – Evert

ответ

4

Вы можете использовать параметр color из barh функции 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) 

# 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

Смежные вопросы