【问题标题】:Why are colors not working in matplotlib for this example?为什么这个例子的颜色在 matplotlib 中不起作用?
【发布时间】:2017-07-18 19:55:15
【问题描述】:

为什么我在这里看不到负值的任何红色?

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 中的一个错误。

【问题讨论】:

  • 你能显示你得到的输出和你期望的输出吗?
  • @Ahmed 更新了问题
  • 我有红色的
  • @tarashypka 我没有。我的全是绿色的。
  • 你用的是什么版本的熊猫?我相信这可能是最新版本中的错误github.com/pandas-dev/pandas/issues/16822您的代码使用版本(0.20.1)产生红色和绿色条

标签: python pandas matplotlib


【解决方案1】:

这是由于@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))

哪个输出

【讨论】:

    猜你喜欢
    • 2015-02-23
    • 1970-01-01
    • 2020-11-11
    • 2012-08-17
    • 2015-03-07
    • 1970-01-01
    • 2023-02-15
    • 2019-04-07
    相关资源
    最近更新 更多