def _update_3d_datalim(ax, obj):
min_bounding_box, max_bounding_box = geom.bounding_box(obj)<EOL>xy_bounds = np.vstack((min_bounding_box[:COLS.Z],<EOL>max_bounding_box[:COLS.Z]))<EOL>ax.xy_dataLim.update_from_data_xy(xy_bounds, ignore=False)<EOL>z_bounds = np.vstack(((min_bounding_box[COLS.Z], min_bounding_box[COLS.Z]),<EOL>(max_bounding_box[COLS.Z], max_bounding_box[COLS.Z])))<EOL>ax.zz_dataLim.update_from_data_xy(z_bounds, ignore=False)<EOL>
unlike w/ 2d Axes, the dataLim isn't set by collections, so it has to be updated manually