如何在Bokeh中独立于散点图的填充透明度设置图例颜色的透明度?

3
对于一个包含20k+数据点的复杂散点图,我需要将散点的fill_alpha设置为较低的值,比如0.2。
我该如何在图例中将填充颜色设置为完全不透明(即不透明)?

enter image description here

示例代码:
from bokeh.plotting import figure, output_file, show
from bokeh.models import ColumnDataSource

p = figure(plot_width=640, plot_height=320)

x = [10]
y = [10]
color = ["blue"]
category = ["Lorem Ipsum"]

source = ColumnDataSource(dict(x = x, y = y, color=color, legsrc=category))

p.scatter(x="x", y="x", fill_alpha=.2, size=100, color="color",
         line_color=None, marker="circle", source=source, legend="legsrc")

show(p)
2个回答

1
截至Bokeh 1.0.2,这是不可能的。图例项始终完全反映它们所代表的图形的视觉属性,包括alpha值。如果您想讨论添加一些机制来覆盖图例图形属性的可能性,则下一步是创建一个详细的GitHub特性请求问题

谢谢!我会考虑发出请求。 - petezurich

1
当然,我已经没有时间了,但也许仍然可以帮助别人。我通过制作两个不同的图表来解决这个问题:第一个使用颜色映射且没有图例,第二个使用单一颜色,有图例选项并且大小为0(因此不会显示)。在你的情况下:
p.scatter(x="x", y="x", fill_alpha=.2, size=100, color="color",
         line_color=None, marker="circle", source=source)

p.scatter(x="x", y="x", size=0, color="lightgrey",
         line_color=None, marker="circle", source=source, legend="legsrc")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接