2017-07-18 1 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

私は赤であることを、負の値を期待しています!

以下の説明では、これはpandas 0.20.2の最新バージョンのバグです。

+3

を出力し、あなたが取得している出力と、あなたが期待している出力を表示することができますか? – Ahmed

+0

@Ahmedが質問を更新 –

+0

私はそれらを赤色にしました – tarashypka

答えて

2

これは、@ johnchaseで述べたようにbugが原因です。それが解決されるまで

つの回避策:

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

関連する問題