p2 = bk_models.Plot(x_range=x_range, y_range=y_range, title='', min_border=
    2, plot_width=250, plot_height=250)
p2.add_glyph(data, bk_models.glyphs.Line(x='x', y='y2', line_color='black',
    line_width=2))
xaxis = bk_models.LinearAxis()
p2.add_layout(xaxis, 'below')
p2.add_layout(bk_models.Grid(dimension=1, ticker=xaxis.ticker))
p2.add_layout(bk_models.Grid(dimension=0, ticker=yaxis.ticker))
p2.add_tools(bk_models.PreviewSaveTool())
gp = bk_plotting.GridPlot(children=[[p1, p2]])
bk_plotting.show(gp)
Bokeh's equivalent to matplotlib subplots