docs: def shade_region(self, x, lower, upper, color='lightgray'):
          """Shade a region between upper and lower bounds.
  
          :param x: array containing x-values
          :param lower: array containing y-values of lower bounds
          :param upper: array containing y-values of upper bounds
          :param color: TikZ style to color the region
  
          """
          self.shaded_regions_list.append({'data': list(zip(x, lower, upper)),
                                           'color': color})