我正在使用Bokeh来尝试制作每个班级使用不同颜色并具有交互式图例的散点图(通过单击将其他班级静音)。 我通过使用映射器成功绘制了不同的颜色:
mapper = linear_cmap(field_name='MDC', palette=Spectral6, low=min(df['MDC']), high=max(df['MDC']))
TOOLS ="box_select,box_zoom,lasso_select,reset"
p = figure(plot_width=1800, plot_height=1000, tools=TOOLS, title="Select a circle")
renderer = p.circle('x', 'y',source= source, size=10,
color=mapper,
legend_group= 'MDC'
)
p.xgrid.grid_line_color = None
p.legend.click_policy = "hide"
但是当我尝试按类别隐藏时,所有圆都被静音(因为我猜它们是在同一p.circle中创建的)。 当我尝试使用以下内容时:
# Create a map between factor and color.
colormap = {i: colors[i] for i in df.MDC.unique()}
# Create a list of colors for each value that we will be looking at.
colors = [colormap[x] for x in df.MDC]
TOOLS ="box_select,box_zoom,lasso_select,reset"
p = figure(plot_width=1800, plot_height=1000, tools=TOOLS, title="Select a circle")
for labels_class, color in zip(np.unique(df['MDC']),colors):
data = df[df['MDC'] == labels_class]
p.circle('x','y',source=data,color=color,legend_label=str(labels_class)
颜色映射出错。 我需要一个解决方案如何同时使用图例和颜色...我不在乎它们采用哪种实现。 希望在您的帮助下找到它。 谢谢!