我想在bokeh中创建一个具有不同alpha值的调色板,因此有些颜色是半透明的。
我尝试将一些RGBA值作为十六进制(#33eedd777
)或CSS颜色(rgba(129, 23, 43, 90)
)作为调色板传递,但散设了一个ValueError
。
这是一个代码示例:
import numpy as np
from bokeh.io import output_file, show
from bokeh.plotting import figure
from bokeh.transform import linear_cmap
from bokeh.util.hex import hexbin
n = 50000
x = np.random.standard_normal(n)
y = np.random.standard_normal(n)
bins = hexbin(x, y, 0.1)
p = figure(tools="wheel_zoom,reset", match_aspect=True, background_fill_color='#440154')
p.grid.visible = False
cm = ['#08459400', '#f7fbffff']
cm = ['rgba(80, 80, 80, 10)', 'rgba(8, 8, 8, 255)', ]
p.hex_tile(q="q", r="r", size=0.1, line_color=None, source=bins,
fill_color=linear_cmap('counts', cm, 0, max(bins.counts)))
show(p)
答案 0 :(得分:0)
截至Bokeh 0.13.0
,这似乎是一个错误。 Seq(Color)
的{{1}}属性应该接受RGBA元组的列表,例如LinearColorMap
它确实接受了它们而没有验证错误,但是没有生成正确的输出。这就是答案,没有其他信息可以添加,或者此时提供变通方法(CSS颜色字符串不能使用,而十六进制颜色代码不能有alpha)。
我建议您使用此信息在GitHub上提交错误报告,以便为所有用户修复错误: