如何在Bokeh布局中引用row内的子绘图对象p2?
如何在Bokeh布局中引用p2
嘿,我来帮你搞定这个问题!你之前用layout1.children[0][1]没成功,核心是没理清Bokeh布局组件的层级结构~
咱们先拆解你定义的布局:
layout(row(p1,p2), p3)生成的layout1,它的children属性是一个列表,第一个元素是Row组件(不是直接的绘图对象列表),第二个元素是p3。- 而Row组件本身也有自己的
children属性,里面才是你放进去的p1和p2。
所以正确引用p2的方式应该是:
layout1.children[0].children[1]
给你个完整的验证示例,跑一下就能看到效果:
from bokeh.plotting import figure, show from bokeh.layouts import layout, row # 创建三个示例绘图 p1 = figure(width=200, height=200) p1.circle([1,2,3], [4,5,6]) p2 = figure(width=200, height=200) p2.line([1,2,3], [6,5,4]) p3 = figure(width=400, height=200) p3.square([1,2,3], [5,5,5]) # 构建布局 layout1 = layout(row(p1,p2), p3) # 正确获取p2并修改标题,验证引用生效 target_p2 = layout1.children[0].children[1] target_p2.title.text = "我是被成功找到的p2!" show(layout1)
运行后你会看到p2的标题更新了,说明引用成功啦~
内容的提问来源于stack exchange,提问作者machump
相关产品推荐
相关产品推荐

