Plot 如何在具有堆叠条的绘图区域外创建图例 你好

Plot 如何在具有堆叠条的绘图区域外创建图例 你好,plot,bokeh,Plot,Bokeh,我对博克图书馆有意见。我需要在绘图区域外制作一个图例框。它适用于圆和面积打印。我找不到堆叠条形图的解决方案。图例下方的解决方案形成了图形的一部分,这是不可接受的(请参见代码下的链接)。我希望在框中添加图例 问候,, SR 我解决这个问题的方法如下(例如hbar堆栈,但解决方案相同) 我像往常一样创建一个“内部图例”,然后复制它,从原始位置删除它,并将其添加为外部布局。这是通过以下三行完成的: new_legend = p.legend[0] p.legend[0].plot = None p.a

我对博克图书馆有意见。我需要在绘图区域外制作一个图例框。它适用于圆和面积打印。我找不到堆叠条形图的解决方案。图例下方的解决方案形成了图形的一部分,这是不可接受的(请参见代码下的链接)。我希望在框中添加图例

问候,, SR


我解决这个问题的方法如下(例如hbar堆栈,但解决方案相同)

我像往常一样创建一个“内部图例”,然后复制它,从原始位置删除它,并将其添加为外部布局。这是通过以下三行完成的:

new_legend = p.legend[0]
p.legend[0].plot = None
p.add_layout(new_legend, 'right')
# make a figure
p = figure(y_range=uniquesubjects, x_range=(0,600), plot_height=900, plot_width=900, title="Subjects In Trouble!",
        toolbar_location=None, tools="")

# add stacked horizontal bars
p.hbar_stack(headers[0:-1], y='subject_name', color=colors, height=1, source=source, legend=[value(x) for x in legendvals])

# add some graph options
p.xgrid.grid_line_color = None
p.axis.minor_tick_line_color = None
p.outline_line_color = None
p.legend.location = "top_right"
p.legend.orientation = "vertical"

new_legend = p.legend[0]
p.legend[0].plot = None
p.add_layout(new_legend, 'right')

show(p)
new_legend = p.legend[0]
p.legend[0].plot = None
p.add_layout(new_legend, 'right')