我正在尝试将图例添加到图形中,其中包含由multi_line方法创建的两条线.例:
p = figure(plot_width=300, plot_height=300)
p.multi_line(xs=[[4, 2, 5], [1, 3, 4]], ys=[[6, 5, 2], [6, 5, 7]], color=['blue','yellow'], legend="first")
Run Code Online (Sandbox Code Playgroud)
在这种情况下,图例仅适用于第一行.当图例被定义为列表时,会出现错误:
p.multi_line(xs=[[4, 2, 5], [1, 3, 4]], ys=[[6, 5, 2], [6, 5, 7]], color=['blue','yellow'], legend=["first","second"])
Run Code Online (Sandbox Code Playgroud)
可以在很多行中添加图例吗?
小智 12
维护人员注意:将为Bokeh 1.0合并的PR#8218允许直接为多行和补丁创建图例,而无需任何循环.
您始终可以
从bokeh.palettes导入"您的palett"导入颜色的散景调色板
检查此链接:bokeh.palets
colors_list = ['blue', 'yellow']
legends_list = ['first', 'second']
xs=[[4, 2, 5], [1, 3, 4]]
ys=[[6, 5, 2], [6, 5, 7]]
Run Code Online (Sandbox Code Playgroud)
p = figure(plot_width=300, plot_height=300)
Run Code Online (Sandbox Code Playgroud)
for (colr, leg, x, y ) in zip(colors_list, legends_list, xs, ys):
my_plot = p.line(x, y, color= colr, legend= leg)
show(p)
Run Code Online (Sandbox Code Playgroud)
维护者注意:将为Bokeh 1.0合并的PR#8218允许直接为多行和补丁创建图例,而无需任何循环或使用单独的line调用.
multi_line用于概念上单个事物,恰好具有多个子组件.想想德克萨斯州,它是一个合乎逻辑的东西,但它有几个不同的(和不相交的)多边形.您可能会使用Patches"德克萨斯"绘制所有多边形,但您只需要一个整体的图例.传说标志着逻辑事物.如果你想将几行标记为逻辑上不同的东西,你必须单独绘制它们p.line(..., legend="...")
在最近的版本中(我认为从 0.12.15 开始)可以向 multi_line 图中添加图例。您只需将“图例”条目添加到您的数据源。以下是从 Google Groups 论坛中获取的示例:
data = {'xs': [np.arange(5) * 1, np.arange(5) * 2],
'ys': [np.ones(5) * 3, np.ones(5) * 4],
'labels': ['one', 'two']}
source = ColumnDataSource(data)
p = figure(width=600, height=300)
p.multi_line(xs='xs', ys='ys', legend='labels', source=source)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9651 次 |
| 最近记录: |