gpt4 book ai didi

python - Bokeh 在 GridPlot 中叠加多个绘图对象

转载 作者:太空狗 更新时间:2023-10-30 02:19:53 24 4
gpt4 key购买 nike

假设我有一个类,它保存一些数据并实现一个返回 Bokeh 图的函数

import bokeh.plotting as bk
class Data():
def plot(self,**kwargs):
# do something to retrieve data
return bk.line(**kwargs)

现在我可以实例化多个这样的数据对象,例如 expssets 并创建单独的绘图。如果设置了 bk.hold(),它们将以一个数字结束(这基本上是我想要的)。

bk.output_notebook()
bk.figure()
bk.hold()
exps.scatter(arg1)
sets.plot(arg2)
bk.show()

enter image description here

现在我想将这些图聚合成一个 GridPlot() 我可以为非重叠的单个图做这件事

bk.figure()
bk.hold(False)
g=bk.GridPlot(children=[[sets.plot(arg3),sets.plot(arg4)]])
bk.show(g)

enter image description here

但我不知道如何将我之前的散点图叠加为 exps.scatter。

有什么方法可以获取对当前事件图形的引用,例如:

rows=[]
exps.scatter(arg1)
sets.plot(arg2)
af = bk.get_reference_to_figure()
rows.append(af) # append the active figure to rows list
bg.figure() # reset figure

gp = bk.GridPlot(children=[rows])
bk.show(gp)

最佳答案

从 Bokeh 0.7 开始,plotting.py 界面已更改为更加明确,希望这将使此类事情变得更简单、更清晰。基本变化是 figure 现在返回一个对象,因此您可以直接对这些对象进行操作,而不必想知道“当前事件”图是什么:

p1 = figure(...)
p1.line(...)
p1.circle(...)

p2 = figure(...)
p2.rect(...)

gp = gridplot([p1, p2])
show(gp)

几乎所有以前的代码现在都应该可以工作,但是 holdcurplot 等已被弃用(如果您在启用弃用警告的情况下运行 python,则会发出弃用警告)和将在未来的版本中删除。

关于python - Bokeh 在 GridPlot 中叠加多个绘图对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26912632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com