第一步 6:组合图表#
在 之前的步骤指南 中,您创建了单个图表。
在本节中,您将把多个图表组合成不同类型的布局。
创建行、列和网格#
组合单个图表的 easiest 方式是将它们分配到行或列。
例如
要将多个图表组合成水平行布局,您首先需要导入 row
。然后在调用 show()
时使用 row()
函数
from bokeh.layouts import row
from bokeh.plotting import figure, show
# prepare some data
x = list(range(11))
y0 = x
y1 = [10 - i for i in x]
y2 = [abs(i - 5) for i in x]
# create three plots with one renderer each
s1 = figure(width=250, height=250, background_fill_color="#fafafa")
s1.scatter(x, y0, marker="circle", size=12, color="#53777a", alpha=0.8)
s2 = figure(width=250, height=250, background_fill_color="#fafafa")
s2.scatter(x, y1, marker="triangle", size=12, color="#c02942", alpha=0.8)
s3 = figure(width=250, height=250, background_fill_color="#fafafa")
s3.scatter(x, y2, marker="square", size=12, color="#d95b43", alpha=0.8)
# put the results in a row and show
show(row(s1, s2, s3))
要将多个图表显示在垂直列布局中,请使用 column()
函数代替。
在 Bokeh 中排列元素的更灵活方法是使用 gridplot()
函数。
另请参阅
有关 row()
、column()
和 gridplot()
的更多信息,请参阅用户指南中的 网格和布局。
定义大小行为#
您可以使用函数 row()
、column()
和 gridplot()
以及其他参数来定义 Bokeh 如何缩放单个图表。请参阅 sizing_mode
以获取 Bokeh 支持的所有大小模式的列表。
例如:要使行中的所有图表响应式地填充浏览器窗口的可用宽度,请将 scale_width
分配给 sizing_mode
from bokeh.layouts import row
from bokeh.plotting import figure, show
# prepare some data
x = list(range(11))
y0 = x
y1 = [10 - i for i in x]
y2 = [abs(i - 5) for i in x]
# create three plots with one renderer each
s1 = figure(width=250, height=250, background_fill_color="#fafafa")
s1.scatter(x, y0, marker="circle", size=12, color="#53777a", alpha=0.8)
s2 = figure(width=250, height=250, background_fill_color="#fafafa")
s2.scatter(x, y1, marker="triangle", size=12, color="#c02942", alpha=0.8)
s3 = figure(width=250, height=250, background_fill_color="#fafafa")
s3.scatter(x, y2, marker="square", size=12, color="#d95b43", alpha=0.8)
# put the results in a row that automatically adjusts
# to the browser window's width
show(row(children=[s1, s2, s3], sizing_mode="scale_width"))
另请参阅
有关大小模式的更多信息,请参阅用户指南中的 大小模式。