要将图例放在图外,可以使用Bokeh的Legend
对象和legend_location
属性来实现。
以下是一个示例代码:
from bokeh.plotting import figure, show
from bokeh.models import Legend
# 创建一个图形对象
p = figure(width=400, height=400)
# 绘制几条曲线
p.line([1, 2, 3], [4, 6, 2], line_color="red", legend_label="Line 1")
p.line([1, 2, 3], [2, 4, 8], line_color="blue", legend_label="Line 2")
# 创建图例对象
legend = Legend(items=[
("Line 1", [p.renderers[0]]),
("Line 2", [p.renderers[1]])
], location="top_left")
# 将图例添加到图形对象中
p.add_layout(legend, "outside")
# 显示图形
show(p)
在这个例子中,我们首先创建了一个图形对象p
,然后使用line
方法绘制了两条曲线,并为每条曲线设置了图例标签。接下来,我们创建了一个Legend
对象,并使用items
参数指定图例的标签和对应的渲染器(即曲线)。然后,我们使用add_layout
方法将图例添加到图形对象中,并通过"outside"
参数将图例放在图形外部。最后,使用show
函数显示图形。
你可以根据需要调整图例的位置(例如,改变location
参数的值)和其他样式。