要自定义图例的位置和样式,在Bokeh中可以使用Legend模块来实现。下面是一个简单的示例代码来演示如何自定义图例的位置和样式:
from bokeh.plotting import figure, show
from bokeh.models import Legend
# 创建一个figure对象
p = figure()
# 添加一些数据到图表中
p.line([1, 2, 3], [4, 5, 6], line_color="blue", line_width=2, legend_label="Line 1")
p.circle([1, 2, 3], [4, 5, 6], fill_color="red", size=10, legend_label="Circle 1")
# 创建一个图例对象,并设置位置和样式
legend = Legend(items=[
("Line 1", [p.renderers[0]]),
("Circle 1", [p.renderers[1]])
], location="top_left", label_text_color="green")
# 将图例添加到图表中
p.add_layout(legend, 'right')
# 显示图表
show(p)
在这个示例中,我们首先创建了一个figure对象,并在图表中添加了一条线和一个圆圈。然后我们创建一个Legend对象,并设置图例的项和位置。最后,我们将图例对象添加到图表中,并显示图表。
通过调整Legend对象的属性,可以自定义图例的位置和样式,从而实现更灵活的图例显示效果。