Как использовать bokeh.layouts.GridSpe c? - PullRequest
1 голос
/ 05 марта 2020

Глядя на https://github.com/Maluuba/bokeh/blob/master/bokeh/layouts.py Мне трудно понять, как на самом деле показать результат следующего кода:

from bokeh.layouts import GridSpec
from bokeh.plotting import figure, show

fig1 = figure() #... plotting..
fig2 = figure() #... plotting..
fig3 = figure() #... plotting..
fig4 = figure() #... plotting..
fig5 = figure() #... plotting..

gspec = GridSpec(2, 3)
gspec[0, 0:2] = fig1 
gspec[0, 2] = fig2 
gspec[1, 0] = fig3 
gspec[1, 1] = fig4 
gspec[1, 2] = fig5

show(gspec)  # where to use sizing_mode='stretch_both' ??

Моя цель состоит в том, чтобы нарисовать рис1 на промежутке из 2 столбцов в строке 1 и имеющие цифры 2-5 одинакового размера. Все фигуры должны динамически менять размер в зависимости от размера окна. У кого-нибудь есть идея?

Я использую боке 1.4

1 Ответ

0 голосов
/ 05 марта 2020

Я не смог охватить столбцы, используя bokeh.layouts.GridSpec, но вот решение, использующее bokeh.layouts.layout и задающее plot_width при создании фигур. Я использую bokeh-1.4.0

import bokeh
import bokeh.plotting

fig1 = bokeh.plotting.figure(plot_width=400, plot_height=200)
fig1.line([0,1],[0,1])
fig2 = bokeh.plotting.figure(plot_width=200, plot_height=200)
fig2.line([0,1],[1,0])
fig3 = bokeh.plotting.figure(plot_width=200, plot_height=200)
fig3.line([0,1,2],[1,0,1])
fig4 = bokeh.plotting.figure(plot_width=200, plot_height=200)
fig4.line([0,1,2],[0,1,0])
fig5 = bokeh.plotting.figure(plot_width=200, plot_height=200)
fig5.line([0,1,2],[0,0,1])

layout = bokeh.layouts.layout([
    [fig1,fig2],
    [fig3,fig4,fig5]

])
bokeh.io.show(layout)

вывод выглядит так, как показано ниже: enter image description here

...