code: def _merge_ranges(self, plots, xspecs, yspecs):
          
          plot_ranges = {}
          for plot in plots:
              if plot is None:
                  continue
              if hasattr(plot, 'x_range') and plot.x_range.tags and xspecs is not None:
                  if match_dim_specs(plot.x_range.tags[0], xspecs):
                      plot_ranges['x_range'] = plot.x_range
                  if match_dim_specs(plot.x_range.tags[0], yspecs):
                      plot_ranges['y_range'] = plot.x_range
              if hasattr(plot, 'y_range') and plot.y_range.tags and yspecs is not None:
                  if match_dim_specs(plot.y_range.tags[0], yspecs):
                      plot_ranges['y_range'] = plot.y_range
                  if match_dim_specs(plot.y_range.tags[0], xspecs):
                      plot_ranges['x_range'] = plot.y_range
          return plot_ranges
docs: Given a list of other plots return axes that are shared
          with another plot by matching the dimensions specs stored
          as tags on the dimensions.