在散景中使用半透明调色板

时间:2018-06-16 10:15:56

标签: python data-visualization bokeh

我想在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)

1 个答案:

答案 0 :(得分:0)

截至Bokeh 0.13.0,这似乎是一个错误。 Seq(Color)的{​​{1}}属性应该接受RGBA元组的列表,例如LinearColorMap它确实接受了它们而没有验证错误,但是没有生成正确的输出。这就是答案,没有其他信息可以添加,或者此时提供变通方法(CSS颜色字符串不能使用,而十六进制颜色代码不能有alpha)。

我建议您使用此信息在GitHub上提交错误报告,以便为所有用户修复错误:

https://github.com/bokeh/bokeh/issues