code: def areaBetween(requestContext, *seriesLists):
      
      if len(seriesLists) == 1:
          [seriesLists] = seriesLists
      assert len(seriesLists) == 2, ("areaBetween series argument must "
                                     "reference *exactly* 2 series")
      lower, upper = seriesLists
      if len(lower) == 1:
          [lower] = lower
      if len(upper) == 1:
          [upper] = upper
      lower.options['stacked'] = True
      lower.options['invisible'] = True
  
      upper.options['stacked'] = True
      lower.name = upper.name = "areaBetween(%s)" % upper.pathExpression
      return [lower, upper]
docs: Draws the vertical area in between the two series in seriesList. Useful for
      visualizing a range such as the minimum and maximum latency for a service.
  
      areaBetween expects **exactly one argument** that results in exactly two
      series (see example below). The order of the lower and higher values
      series does not matter. The visualization only works when used in
      conjunction with ``areaMode=stacked``.
  
      Most likely use case is to provide a band within which another metric
      should move. In such case applying an ``alpha()``, as in the second
      example, gives best visual results.
  
      Example::
  
        &target=areaBetween(service.latency.{min,max})&areaMode=stacked
  
        &target=alpha(areaBetween(service.latency.{min,max}),0.3)&areaMode=stacked
  
      If for instance, you need to build a seriesList, you should use the
      ``group`` function, like so::
  
        &target=areaBetween(group(minSeries(a.*.min),maxSeries(a.*.max)))