2017-07-18 58 views
2

爲什麼我沒有看到任何紅色這裏負值?爲什麼這個示例中的顏色在matplotlib中不起作用?

df = pd.DataFrame([1, -2, 3, -4]) 
df['positive'] = df[[0]]>0 
df[[0]].plot(kind='bar', color=df.positive.map({True: 'g', False: 'r'})) 

enter image description here

我期待負值是紅色的!

按照我們下面的討論,這是大熊貓0.20.2最新版本的錯誤。

+3

你能告訴你所得到的輸出和你期望的輸出? – Ahmed

+0

@Ahmed更新的問題 –

+0

我有他們的紅色 – tarashypka

回答

2

這是由於bug通過@johnchase提及。

一個解決辦法,直到它得到解決:

print(''.join(df.positive.map({True: 'g', False: 'r'}).values)) # 'grgr' 
df[[0]].plot(kind='bar', color=''.join(df.positive.map({True: 'g', False: 'r'}).values)) 

其輸出

enter image description here

相關問題