如何使布局堆叠bokeh图中的y轴再次与bokeh版本对齐>;=1.1

如何使布局堆叠bokeh图中的y轴再次与bokeh版本对齐>;=1.1,bokeh,Bokeh,我编写了一个基于bokeh的软件包,根据需要使用尽可能多的水平和垂直注释条绘制集群热图 在bokeh版本1.1之前,一切正常。自bokeh版本1.1以来,水平注释栏不再正确对齐。这是我的包裹的一个主要问题 有没有办法通过更新版本的bokeh恢复1.1之前的行为?(最新版本是bokeh 1.4。) 这是一个代码示例来说明我的意思: #库 从bokeh.layouts导入布局 从bokeh.plotting导入图形 从bokeh.io导入显示,导出 #一号酒吧 水果=[“苹果”、“梨”、“油桃

我编写了一个基于bokeh的软件包,根据需要使用尽可能多的水平和垂直注释条绘制集群热图

在bokeh版本1.1之前,一切正常。自bokeh版本1.1以来,水平注释栏不再正确对齐。这是我的包裹的一个主要问题

有没有办法通过更新版本的bokeh恢复1.1之前的行为?(最新版本是bokeh 1.4。)

这是一个代码示例来说明我的意思:

#库
从bokeh.layouts导入布局
从bokeh.plotting导入图形
从bokeh.io导入显示,导出
#一号酒吧
水果=[“苹果”、“梨”、“油桃”、“李子”、“葡萄”、“草莓”]
计数=[5,3,4,2,4,6]
p_bar1=图形(x_范围=水果,y_范围=(0,9),title=“水果”,绘图高度=128)
p_bar1.vbar(x=水果,顶部=计数,宽度=1)
#第二栏
水果=[“苹果”、“梨”、“油桃”、“羽毛”、“葡萄”、“草莓”]
计数=[5000,3000,4000,2000,4000,6000]
p_bar2=图形(x_范围=水果,y_范围=(09000),title=“水果”,绘图高度=128)
p_bar2.vbar(x=水果,顶部=计数,宽度=1)
#叠加图
o_布局=布局([[p_bar1],[p_bar2]])
显示(o_布局)
#导出png(o_布局,filename=“bokeh_plot.png”)
使用bokeh 1.0.4时,输出如下所示:

当bokeh>=1.1时,输出如下所示:

问题是y轴不再对齐
Elmar,我非常乐意接受任何建议。对于新的布局系统,您最好设置一个公共的
min\u border\u left
值,该值足够大,可以容纳任意一个轴

p_bar1.min_border_left = 40
p_bar2.min_border_left = 40
你必须进行实验,以找到一个最适合自己情况的价值观


旧的路线是由于一个复杂的基于约束的布局系统,这在原则上似乎是一个很好的方法,但在实践中被证明是不可维护的不透明和复杂的,并且在布局大小的阈值相对较低后,表现非常非常差(缓慢)。它可能是问题和投诉的最大来源,后来被更简单、更快的东西取代(但在某些情况下,自动化程度较低)

使用新布局系统的最佳选择是设置一个公共的
minu border\u left
值,该值足够大,可以容纳任意一个轴

p_bar1.min_border_left = 40
p_bar2.min_border_left = 40
你必须进行实验,以找到一个最适合自己情况的价值观


旧的路线是由于一个复杂的基于约束的布局系统,这在原则上似乎是一个很好的方法,但在实践中被证明是不可维护的不透明和复杂的,并且在布局大小的阈值相对较低后,表现非常非常差(缓慢)。它可能是问题和投诉的最大来源,后来被更简单、更快的东西取代(但在某些情况下,自动化程度较低)

感谢@bigreddot的及时回复。我刚刚测试了你的代码。它就像一个符咒!感谢您对布局功能更改原因的解释。非常感谢!新版本0.0.4 form bokehheat已经发布,并与最新的bokeh版本1.4顺利配合使用@bigreddot,我将您添加到项目自述文件中的贡献、有用的讨论部分。让我知道,如果这不应该是好的。最好是ElmarThank,谢谢你@bigreddot的及时回复。我刚刚测试了你的代码。它就像一个符咒!感谢您对布局功能更改原因的解释。非常感谢!新版本0.0.4 form bokehheat已经发布,并与最新的bokeh版本1.4顺利配合使用@bigreddot,我将您添加到项目自述文件中的贡献、有用的讨论部分。让我知道,如果这不应该是好的。最好的,埃尔玛