如何在Bokeh生成的HTML图表间添加水平线?
解决Bokeh中添加水平线不显示的问题
问题出在你重复复用了同一个Div实例。Bokeh的组件实例拥有唯一标识,同一个实例被多次添加到布局中时,只会被渲染一次,所以你看不到预期的多条水平线。
解决方案1:每次循环新建Div实例
把horizontal_div的定义放到循环内部,确保每个分隔线都是独立的组件:
tmp_charts = list() for chart in charts: # 每次循环创建新的Div实例 horizontal_div = Div(text="<hr>") tmp_charts.append(horizontal_div) tmp_charts.append(chart) fig = column(tmp_charts)
解决方案2:使用Bokeh原生Divider组件(推荐)
如果你的Bokeh版本在2.0及以上,可以直接用专门的Divider组件,无需手写HTML,更符合Bokeh的组件规范:
from bokeh.models import Divider tmp_charts = list() for chart in charts: tmp_charts.append(Divider()) tmp_charts.append(chart) fig = column(tmp_charts)
内容的提问来源于stack exchange,提问作者muoteck123
相关产品推荐
相关产品推荐

