I want to create a plot showing historical annual maximum and minimum temperatures. I've figured out how to get 10 years of historical temperature data from Wolfram|Alpha. The plot below shows the highest, average high, average low, and lowest temperature during the past ten years for Austin, Tx. The problem occurs when I try to use ColorFunction to control the filling color.
The code below returns a relatively small amount of data that can be used to replicate the problem.
max = Map[#*9/5+32.&, WeatherData["KATT","MaxTemperature",{{2011,1,1},{2011,12,31},"Week"}][[All,2]]];
min = Map[#*9/5+32.&, WeatherData["KATT","MinTemperature",{{2011,1,1},{2011,12,31},"Week"}][[All,2]]];
DateListPlot[{max, min},{{2011,1,1},Automatic,"Week"},Joined->True, Filling->{1->{2}}, ColorFunction ->"Rainbow"]
I would like to have simple a vertical color gradient. Instead, the fill color is a more complicated function of the top curve and the y-axis. I can't describe it properly, but hopefully, the problem is apparent. I've tried several approached to controlling the fill color, but none of them do what I want, and most of them don't work at all.
I would ultimately like to use slightly different filling styles between the highest ever and average highest temperature, and between the average lowest and lowest ever - perhaps less opaque, and for the four plot lines to still be visible.

Blendthe two coloursColorData["Rainbow",y_top]andColorData["Rainbow",y_bottom]instead of giving a gradient. Maybe someone else can comment whether that is intended behaviour. – Mike Honeychurch Dec 1 '12 at 2:17ColorFunctiononly looks at the points actually plotted out byDateListPlot, and so, sinceFillingdoesn't actually sample every point between the two list plots, we'd have no way of assigning a y-dependent color value to each point in between the list plot lines. I believe there is no solution to this using theDateListPlotoptions. There is however, hope that we can solve this by extracting thePolygonthat is made byFillingand artificially coloring that... – VF1 Dec 1 '12 at 2:24FillingStyle -> (Sow[#] &)returns aPolygonwith no significant information about where its points are. – VF1 Dec 1 '12 at 2:28