【发布时间】:2020-07-26 23:36:48
【问题描述】:
我正在尝试研究如何在 Pandas 中设置堆叠条形图的样式。
我在 Jupyter 笔记本中编写了一行代码,它会生成如下图。到目前为止很简单:
df.plot(kind = 'bar', stacked=True, color=['green', 'blue'], legend=None)
但是,我想将颜色更改为几乎像十六进制一样,但 API 不会接受。
df.plot(kind = 'bar', stacked=True, color=['green', '#ccc'], legend=None)
返回:
ValueError: Invalid RGBA argument: '#'
然后尝试十六进制到 RGBA 转换器:http://hex2rgba.devoth.com/
但它返回的值不在范围内。什么是最好的,最 Pythonic 的方法来转换为 Matplotlib 似乎想要的 0-1 的 RGBA 值,因为我需要做很多。
【问题讨论】:
-
很确定问题是您使用的是三个字母的十六进制代码速记,而不是标准的 6 个字母代码。使用“#cccccc”对我来说很好。
-
@PaulBrodersen 你是对的。添加它作为答案,我会给你喝彩。在这上面浪费了两个小时。 :)
-
小事情总是会导致最长的错误搜索。仅供参考,我刚刚查看了 matplotlib github 问题页面和it looks like version 3.2 supports hex code short hands。因此,升级可能会解决您的速记问题。不要担心我的观点,我有很多(但谢谢)。
标签: pandas matplotlib visualization