为什么我没有看到负值的红色?
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'}))
我期待负值为红色!
根据我们下面的讨论,这是最新版本的pandas 0.20.2中的一个错误。
答案 0 :(得分: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))
输出