如何在Bokeh中为正负值柱状图设置不同颜色?
Bokeh柱状图正负值分色实现方案
修改思路
- 根据数值列表生成对应颜色列表:正值设为绿色,负值设为红色
- 在
vbar方法中通过color参数传入该颜色列表
完整修改代码
from bokeh.io import show from bokeh.plotting import figure fruits = ['Apples', 'Pears', 'Nectarines', 'Plums', 'Grapes', 'Strawberries'] counts = [-5, 3, 4, -2, -4, 6] # 生成对应颜色列表:正值用绿色,负值用红色 colors = ['green' if count > 0 else 'red' for count in counts] p = figure(x_range=fruits, plot_height=250, title="Fruit Counts", toolbar_location=None, tools="") # 为柱状图指定颜色参数 p.vbar(x=fruits, top=counts, width=0.9, color=colors) p.xgrid.grid_line_color = None show(p)
额外说明
如果需要自定义颜色,直接替换列表推导式中的'green'和'red'为十六进制颜色码即可,例如用'#2ecc71'替换'green'实现更柔和的绿色效果。
内容的提问来源于stack exchange,提问作者cJc
相关产品推荐
相关产品推荐

