[英]Plotly bar chart - change color based on positive/negative value - python
[英]Bar Chart: How to choose color if value is positive vs value is negative
我会为观察值是否大于 0 创建一个虚拟列。
In [39]: data['positive'] = data['values'] > 0
In [40]: data
Out[40]:
values positive
a -15.0 False
b 10.0 True
c 8.0 True
d -4.5 False
[4 rows x 2 columns]
In [41]: data['values'].plot(kind='barh',
color=data.positive.map({True: 'g', False: 'r'}))
此外,您可能需要注意不要让列名与 DataFrame 属性重叠。 DataFrame.values
提供DataFrame.values
的底层 numpy 数组。 名称重叠可防止您使用df.<column name>
语法。
借鉴@Max Ghenis 的答案(这对我不起作用,但似乎是软件包中的一个小变化):
tseries = data['values']
color = (tseries > 0).apply(lambda x: 'g' if x else 'r')
splot = tseries.plot.barh(color=color)
给出:
.. 你期望看到的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.