def modify_doc(doc): p1 = Plot(height=400, width=400, x_range=Range1d(0, 1), y_range=Range1d(0, 1), min_border=10) p2 = Plot(height=400, width=400, x_range=Range1d(0, 1), y_range=Range1d(0, 1), min_border=10) layout = column(p1, button) def cb(event): if p2 not in layout.children: layout.children = [p1, button, p2] button.on_event('button_click', cb) def iw(attr, old, new): data['iw'] = (old, new) def ih(attr, old, new): data['ih'] = (old, new) p2.on_change('inner_width', iw) p2.on_change('inner_height', ih) doc.add_root(layout)