Skip to content

Instantly share code, notes, and snippets.

@willzjc
Last active February 2, 2018 11:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save willzjc/1e0ceb593235764bdc9819495ef73e74 to your computer and use it in GitHub Desktop.
Save willzjc/1e0ceb593235764bdc9819495ef73e74 to your computer and use it in GitHub Desktop.
Brushable Radial Chart
license: mit
border: no
scrolling: no
height: NaN

A modification of Susie Lu's radial weather plot. This one shows periods of cloudiness, precipitation and freezing temperatures via the bars around the border. It also includes a circular brush that lets you select a band on the radial chart. The selected band is then displayed in a more traditional linear way on the bottom left.

The original readme explains what's going on with the radial chart:

Weather Plot - New York 2015

In the example we're looking at historical weather data for New York provided by intellicast.com and wunderground.com. Inspired by weather-radicals.com.

This example uses scales to roll your own radial projection by mapping out the x, y, and r positions. If you are creating a line or an area you can use d3's convenience functions d3.svg.line.radial and d3.svg.area.radial but this is a method you can use if you want to use different graphical elements in a circular layout.

forked from emeeks's block: Brushable Radial Chart

[
{
"date": "1/1/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "1/2/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "1/3/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "1/4/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "1/5/15",
"freeze": true,
"rain": false,
"cloud": "scattered"
},
{
"date": "1/6/15",
"freeze": true,
"rain": true,
"cloud": "cloudy"
},
{
"date": "1/7/15",
"freeze": true,
"rain": false,
"cloud": "scattered"
},
{
"date": "1/8/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "1/9/15",
"freeze": true,
"rain": true,
"cloud": "cloudy"
},
{
"date": "1/10/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "1/11/15",
"freeze": true,
"rain": false,
"cloud": "scattered"
},
{
"date": "1/12/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "1/13/15",
"freeze": true,
"rain": false,
"cloud": "scattered"
},
{
"date": "1/14/15",
"freeze": true,
"rain": false,
"cloud": "cloudy"
},
{
"date": "1/15/15",
"freeze": true,
"rain": false,
"cloud": "scattered"
},
{
"date": "1/16/15",
"freeze": true,
"rain": false,
"cloud": "scattered"
},
{
"date": "1/17/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "1/18/15",
"freeze": true,
"rain": true,
"cloud": "overcast"
},
{
"date": "1/19/15",
"freeze": false,
"rain": false,
"cloud": "overcast"
},
{
"date": "1/20/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "1/21/15",
"freeze": true,
"rain": false,
"cloud": "cloudy"
},
{
"date": "1/22/15",
"freeze": true,
"rain": false,
"cloud": "cloudy"
},
{
"date": "1/23/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "1/24/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "1/25/15",
"freeze": true,
"rain": false,
"cloud": "scattered"
},
{
"date": "1/26/15",
"freeze": true,
"rain": true,
"cloud": "overcast"
},
{
"date": "1/27/15",
"freeze": true,
"rain": true,
"cloud": "cloudy"
},
{
"date": "1/28/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "1/29/15",
"freeze": true,
"rain": true,
"cloud": "cloudy"
},
{
"date": "1/30/15",
"freeze": true,
"rain": true,
"cloud": "cloudy"
},
{
"date": "1/31/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "2/1/15",
"freeze": true,
"rain": true,
"cloud": "cloudy"
},
{
"date": "2/2/15",
"freeze": true,
"rain": true,
"cloud": "overcast"
},
{
"date": "2/3/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "2/4/15",
"freeze": true,
"rain": false,
"cloud": "cloudy"
},
{
"date": "2/5/15",
"freeze": true,
"rain": false,
"cloud": "scattered"
},
{
"date": "2/6/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "2/7/15",
"freeze": true,
"rain": true,
"cloud": "overcast"
},
{
"date": "2/8/15",
"freeze": true,
"rain": false,
"cloud": "overcast"
},
{
"date": "2/9/15",
"freeze": true,
"rain": true,
"cloud": "overcast"
},
{
"date": "2/10/15",
"freeze": true,
"rain": true,
"cloud": "cloudy"
},
{
"date": "2/11/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "2/12/15",
"freeze": true,
"rain": false,
"cloud": "overcast"
},
{
"date": "2/13/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "2/14/15",
"freeze": true,
"rain": true,
"cloud": "overcast"
},
{
"date": "2/15/15",
"freeze": true,
"rain": false,
"cloud": "cloudy"
},
{
"date": "2/16/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "2/17/15",
"freeze": true,
"rain": true,
"cloud": "cloudy"
},
{
"date": "2/18/15",
"freeze": true,
"rain": false,
"cloud": "scattered"
},
{
"date": "2/19/15",
"freeze": true,
"rain": false,
"cloud": "scattered"
},
{
"date": "2/20/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "2/21/15",
"freeze": true,
"rain": true,
"cloud": "cloudy"
},
{
"date": "2/22/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "2/23/15",
"freeze": true,
"rain": false,
"cloud": "scattered"
},
{
"date": "2/24/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "2/25/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "2/26/15",
"freeze": true,
"rain": false,
"cloud": "cloudy"
},
{
"date": "2/27/15",
"freeze": true,
"rain": false,
"cloud": "scattered"
},
{
"date": "2/28/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "3/1/15",
"freeze": true,
"rain": true,
"cloud": "overcast"
},
{
"date": "3/2/15",
"freeze": true,
"rain": false,
"cloud": "cloudy"
},
{
"date": "3/3/15",
"freeze": true,
"rain": true,
"cloud": "cloudy"
},
{
"date": "3/4/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "3/5/15",
"freeze": true,
"rain": true,
"cloud": "overcast"
},
{
"date": "3/6/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "3/7/15",
"freeze": true,
"rain": false,
"cloud": "scattered"
},
{
"date": "3/8/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "3/9/15",
"freeze": false,
"rain": true,
"cloud": "scattered"
},
{
"date": "3/10/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "3/11/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "3/12/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "3/13/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "3/14/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "3/15/15",
"freeze": false,
"rain": false,
"cloud": "overcast"
},
{
"date": "3/16/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "3/17/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "3/18/15",
"freeze": true,
"rain": false,
"cloud": "scattered"
},
{
"date": "3/19/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "3/20/15",
"freeze": true,
"rain": true,
"cloud": "cloudy"
},
{
"date": "3/21/15",
"freeze": true,
"rain": false,
"cloud": "overcast"
},
{
"date": "3/22/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "3/23/15",
"freeze": true,
"rain": false,
"cloud": "clear"
},
{
"date": "3/24/15",
"freeze": true,
"rain": false,
"cloud": "scattered"
},
{
"date": "3/25/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "3/26/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "3/27/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "3/28/15",
"freeze": true,
"rain": false,
"cloud": "overcast"
},
{
"date": "3/29/15",
"freeze": true,
"rain": false,
"cloud": "scattered"
},
{
"date": "3/30/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "3/31/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "4/1/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "4/2/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "4/3/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "4/4/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "4/5/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "4/6/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "4/7/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "4/8/15",
"freeze": false,
"rain": false,
"cloud": "overcast"
},
{
"date": "4/9/15",
"freeze": false,
"rain": false,
"cloud": "overcast"
},
{
"date": "4/10/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "4/11/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "4/12/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "4/13/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "4/14/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "4/15/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "4/16/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "4/17/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "4/18/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "4/19/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "4/20/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "4/21/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "4/22/15",
"freeze": false,
"rain": true,
"cloud": "scattered"
},
{
"date": "4/23/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "4/24/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "4/25/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "4/26/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "4/27/15",
"freeze": false,
"rain": false,
"cloud": "overcast"
},
{
"date": "4/28/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "4/29/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "4/30/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "5/1/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "5/2/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "5/3/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "5/4/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "5/5/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "5/6/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "5/7/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "5/8/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "5/9/15",
"freeze": false,
"rain": false,
"cloud": "overcast"
},
{
"date": "5/10/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "5/11/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "5/12/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "5/13/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "5/14/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "5/15/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "5/16/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "5/17/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "5/18/15",
"freeze": false,
"rain": false,
"cloud": "overcast"
},
{
"date": "5/19/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "5/20/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "5/21/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "5/22/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "5/23/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "5/24/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "5/25/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "5/26/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "5/27/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "5/28/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "5/29/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "5/30/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "5/31/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "6/1/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "6/2/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "6/3/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "6/4/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "6/5/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "6/6/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "6/7/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "6/8/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "6/9/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "6/10/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "6/11/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "6/12/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "6/13/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "6/14/15",
"freeze": false,
"rain": true,
"cloud": "scattered"
},
{
"date": "6/15/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "6/16/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "6/17/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "6/18/15",
"freeze": false,
"rain": false,
"cloud": "overcast"
},
{
"date": "6/19/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "6/20/15",
"freeze": false,
"rain": false,
"cloud": "overcast"
},
{
"date": "6/21/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "6/22/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "6/23/15",
"freeze": false,
"rain": true,
"cloud": "clear"
},
{
"date": "6/24/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "6/25/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "6/26/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "6/27/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "6/28/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "6/29/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "6/30/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "7/1/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "7/2/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "7/3/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "7/4/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "7/5/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "7/6/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "7/7/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "7/8/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "7/9/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "7/10/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "7/11/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "7/12/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "7/13/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "7/14/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "7/15/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "7/16/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "7/17/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "7/18/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "7/19/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "7/20/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "7/21/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "7/22/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "7/23/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "7/24/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "7/25/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "7/26/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "7/27/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "7/28/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "7/29/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "7/30/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "7/31/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/1/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/2/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/3/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/4/15",
"freeze": false,
"rain": true,
"cloud": "scattered"
},
{
"date": "8/5/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/6/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/7/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/8/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/9/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "8/10/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "8/11/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "8/12/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/13/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/14/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/15/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/16/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/17/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "8/18/15",
"freeze": false,
"rain": true,
"cloud": "scattered"
},
{
"date": "8/19/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "8/20/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "8/21/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "8/22/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/23/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "8/24/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "8/25/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "8/26/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/27/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/28/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/29/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "8/30/15",
"freeze": false,
"rain": true,
"cloud": "scattered"
},
{
"date": "8/31/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/1/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/2/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/3/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/4/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "9/5/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/6/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/7/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/8/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/9/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "9/10/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "9/11/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "9/12/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "9/13/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "9/14/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/15/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/16/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/17/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/18/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/19/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "9/20/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "9/21/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/22/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "9/23/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/24/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/25/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/26/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "9/27/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "9/28/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "9/29/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "9/30/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "10/1/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "10/2/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "10/3/15",
"freeze": false,
"rain": true,
"cloud": "overcast"
},
{
"date": "10/4/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "10/5/15",
"freeze": false,
"rain": false,
"cloud": "cloudy"
},
{
"date": "10/6/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "10/7/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "10/8/15",
"freeze": false,
"rain": false,
"cloud": "scattered"
},
{
"date": "10/9/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
},
{
"date": "10/10/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "10/11/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "10/12/15",
"freeze": false,
"rain": false,
"cloud": "clear"
},
{
"date": "10/13/15",
"freeze": false,
"rain": true,
"cloud": "cloudy"
}
]
d3.svg.circularbrush = function() {
var _extent = [0,Math.PI * 2];
var _circularbrushDispatch = d3.dispatch('brushstart', 'brushend', 'brush');
var _arc = d3.svg.arc().innerRadius(50).outerRadius(100);
var _brushData = [
{startAngle: _extent[0], endAngle: _extent[1], class: "extent"},
{startAngle: _extent[0] - .2, endAngle: _extent[0], class: "resize e"},
{startAngle: _extent[1], endAngle: _extent[1] + .2, class: "resize w"}
];
var _newBrushData = [];
var d3_window = d3.select(window);
var _origin;
var _brushG;
var _handleSize = .2;
var _scale = d3.scale.linear().domain(_extent).range(_extent);
function _circularbrush(_container) {
_brushG = _container
.append("g")
.attr("class", "circularbrush");
_brushG
.selectAll("path.circularbrush")
.data(_brushData)
.enter()
.insert("path", "path.resize")
.attr("d", _arc)
.attr("class", function(d) {return d.class + " circularbrush"})
_brushG.select("path.extent")
.on("mousedown.brush", resizeDown)
_brushG.selectAll("path.resize")
.on("mousedown.brush", resizeDown)
return _circularbrush;
}
_circularbrush.extent = function(_value) {
var _d = _scale.domain();
var _r = _scale.range();
var _actualScale = d3.scale.linear()
.domain([-_d[1],_d[0],_d[0],_d[1]])
.range([_r[0],_r[1],_r[0],_r[1]])
if (!arguments.length) return [_actualScale(_extent[0]),_actualScale(_extent[1])];
_extent = [_scale.invert(_value[0]),_scale.invert(_value[1])];
return this
}
_circularbrush.handleSize = function(_value) {
if (!arguments.length) return _handleSize;
_handleSize = _value;
_brushData = [
{startAngle: _extent[0], endAngle: _extent[1], class: "extent"},
{startAngle: _extent[0] - _handleSize, endAngle: _extent[0], class: "resize e"},
{startAngle: _extent[1], endAngle: _extent[1] + _handleSize, class: "resize w"}
];
return this
}
_circularbrush.innerRadius = function(_value) {
if (!arguments.length) return _arc.innerRadius();
_arc.innerRadius(_value);
return this
}
_circularbrush.outerRadius = function(_value) {
if (!arguments.length) return _arc.outerRadius();
_arc.outerRadius(_value);
return this
}
_circularbrush.range = function(_value) {
if (!arguments.length) return _scale.range();
_scale.range(_value);
return this
}
_circularbrush.arc = function(_value) {
if (!arguments.length) return _arc;
_arc = _value;
return this
}
d3.rebind(_circularbrush, _circularbrushDispatch, "on");
return _circularbrush;
function resizeDown(d) {
var _mouse = d3.mouse(_brushG.node());
_originalBrushData = {startAngle: _brushData[0].startAngle, endAngle: _brushData[0].endAngle};
_origin = _mouse;
if (d.class == "resize e") {
d3_window
.on("mousemove.brush", function() {resizeMove("e")})
.on("mouseup.brush", extentUp);
}
else if (d.class == "resize w") {
d3_window
.on("mousemove.brush", function() {resizeMove("w")})
.on("mouseup.brush", extentUp);
}
else {
d3_window
.on("mousemove.brush", function() {resizeMove("extent")})
.on("mouseup.brush", extentUp);
}
_circularbrushDispatch.brushstart();
}
function resizeMove(_resize) {
var _mouse = d3.mouse(_brushG.node());
var _current = Math.atan2(_mouse[1],_mouse[0]);
var _start = Math.atan2(_origin[1],_origin[0]);
if (_resize == "e") {
var clampedAngle = Math.max(Math.min(_originalBrushData.startAngle + (_current - _start), _originalBrushData.endAngle), _originalBrushData.endAngle - (2 * Math.PI));
if (_originalBrushData.startAngle + (_current - _start) > _originalBrushData.endAngle) {
clampedAngle = _originalBrushData.startAngle + (_current - _start) - (Math.PI * 2);
}
else if (_originalBrushData.startAngle + (_current - _start) < _originalBrushData.endAngle - (Math.PI * 2)) {
clampedAngle = _originalBrushData.startAngle + (_current - _start) + (Math.PI * 2);
}
var _newStartAngle = clampedAngle;
var _newEndAngle = _originalBrushData.endAngle;
}
else if (_resize == "w") {
var clampedAngle = Math.min(Math.max(_originalBrushData.endAngle + (_current - _start), _originalBrushData.startAngle), _originalBrushData.startAngle + (2 * Math.PI))
if (_originalBrushData.endAngle + (_current - _start) < _originalBrushData.startAngle) {
clampedAngle = _originalBrushData.endAngle + (_current - _start) + (Math.PI * 2);
}
else if (_originalBrushData.endAngle + (_current - _start) > _originalBrushData.startAngle + (Math.PI * 2)) {
clampedAngle = _originalBrushData.endAngle + (_current - _start) - (Math.PI * 2);
}
var _newStartAngle = _originalBrushData.startAngle;
var _newEndAngle = clampedAngle;
}
else {
var _newStartAngle = _originalBrushData.startAngle + (_current - _start * 1);
var _newEndAngle = _originalBrushData.endAngle + (_current - _start * 1);
}
_newBrushData = [
{startAngle: _newStartAngle, endAngle: _newEndAngle, class: "extent"},
{startAngle: _newStartAngle - _handleSize, endAngle: _newStartAngle, class: "resize e"},
{startAngle: _newEndAngle, endAngle: _newEndAngle + _handleSize, class: "resize w"}
]
_brushG
.selectAll("path.circularbrush")
.data(_newBrushData)
.attr("d", _arc)
if (_newStartAngle > (Math.PI * 2)) {
_newStartAngle = (_newStartAngle - (Math.PI * 2));
}
else if (_newStartAngle < -(Math.PI * 2)) {
_newStartAngle = (_newStartAngle + (Math.PI * 2));
}
if (_newEndAngle > (Math.PI * 2)) {
_newEndAngle = (_newEndAngle - (Math.PI * 2));
}
else if (_newEndAngle < -(Math.PI * 2)) {
_newEndAngle = (_newEndAngle + (Math.PI * 2));
}
_extent = ([_newStartAngle,_newEndAngle]);
_circularbrushDispatch.brush();
}
function extentUp() {
_brushData = _newBrushData;
d3_window.on("mousemove.brush", null).on("mouseup.brush", null);
_circularbrushDispatch.brushend();
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link href='https://fonts.googleapis.com/css?family=Lato:300' rel='stylesheet' type='text/css'>
<style>
body {
background-color: whitesmoke;
}
.extent {
fill-opacity: .1;
fill: rgb(205,130,42);
cursor: move;
}
.e {
fill: rgb(111,111,111);
cursor: move;
}
.w {
fill: rgb(169,169,169);
cursor: move;
}
.freeze {
fill: #A8DFE4;
}
.rain {
fill: #209CD3;
}
.clear {
fill: white
}
.scattered {
fill: lightgray;
}
.cloudy {
fill: #a1a1a1;
}
.overcast {
fill: #616161;
}
svg {
background-color: white;
font-family: 'Lato';
}
.axis {
stroke: white;
opacity: .8;
}
text {
pointer-events: none;
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
text.title {
font-size: 26px;
}
text.months, text.temp {
text-anchor: middle;
font-size: 12px;
fill: #39837B;
}
circle.axis {
stroke: white;
stroke-width: 1px;
fill: none;
}
circle.axis.record {
stroke: #bae0d6;
stroke-width: 1.2px;
opacity: 1;
}
line.record, line.avg, line.yearLow, line.yearHigh{
stroke-width: 2px;
}
line.record {
stroke: #bae0d6;
}
line.avg {
stroke: #3FA39E;
opacity: .5;
}
line.year {
stroke: #006358;
}
line.yearLow, line.yearHigh{
stroke: #F97F5A;
}
.avg {
stroke: #3FA39E;
fill: #3FA39E;
}
.record {
stroke: #bae0d6;
fill: #bae0d6;
.opacity: .5;
}
.year {
stroke: #F97F5A;
fill: #F97F5A;
}
.beyond {
stroke: #445E5B;
fill: #445E5B;
}
</style>
</head>
<body>
<svg width=960 height=500></svg>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3-legend/1.3.0/d3-legend.min.js"></script>
<script src="d3.svg.circularbrush.js" charset="utf-8" type="text/javascript"></script>
<script>
var width = 960,
margin = 20,
height = 500,
svg = d3.select('svg'),
origin = svg.append('g')
.attr('transform', 'translate(' + width*3/5 + ',' + height/2 + ')'),
rScale = d3.scale.linear()
.domain([-10, 110])
.range([0, height/2 - margin]),
yScale = function (day, temp) {return -Math.cos(angleScale(day)*Math.PI/180)*rScale(parseInt(temp))},
xScale = function (day, temp) {return Math.sin(angleScale(day)*Math.PI/180)*rScale(parseInt(temp))},
angleScale = d3.scale.linear()
.range([0, 360]);
var drawRadial = function(chart, cl, data, low, high){
chart.selectAll('line.' + cl)
.data(data)
.enter().append('line')
.attr('x1', function (d) {return xScale(d.index, d[low])})
.attr('x2', function (d) {return xScale(d.index, d[high])})
.attr('y1', function (d) {return yScale(d.index, d[low])})
.attr('y2', function (d) {return yScale(d.index, d[high])})
.attr('class', cl);
};
d3.json('ny.json', function(err, json){
rawData = json;
angleScale.domain([0, json.values.length - 1]);
var min = d3.min(json.values, function (d) {return parseInt(d.recLow)}),
max = d3.max(json.values, function (d) {return parseInt(d.recHigh)});
var months = [];
//find index for months based on data
json.values.forEach(function (d, i) {
var month = d.date.split('-')[1],
prevDaysMonth = ( i === 0 ) ? undefined : json.values[i - 1].date.split('-')[1];
if (i === 0 || month != prevDaysMonth){
months.push({
month: month,
index: i
});
}
})
//circle axis
origin.selectAll('circle.axis-green')
.data([40, 60, 80, 100])
.enter().append('circle')
.attr('r', function (d) {return rScale(d)})
.attr('class', 'axis record')
//record low and high
drawRadial(origin, 'record', json.values, 'recLow', 'recHigh')
//avg low and high
drawRadial(origin, 'avg', json.values, 'avgLow', 'avgHigh')
//this year's temperature
var thisYear = json.values.filter(function (d) {return d.min });
drawRadial(origin, 'year', thisYear, 'min', 'max')
var lowLower = json.values.filter(function (d) {return d.min && parseInt(d.min) < parseInt(d.avgLow)});
drawRadial(origin, 'yearLow', lowLower, 'min', 'avgLow')
var highHigher = json.values.filter(function (d) {return d.min && parseInt(d.max) > parseInt(d.avgHigh)});
drawRadial(origin, 'yearHigh', highHigher, 'max', 'avgHigh')
var circleAxis = [0, 32, 60, 80, 100]
circleAxis = circleAxis.map( function (d) {return {temp: d, index: 320}})
//temperature axis
origin.selectAll('circle.axis-white')
.data(circleAxis)
.enter().append('circle')
.attr('r', function (d) {return rScale(d.temp)})
.attr('class', 'axis')
//temperature axis labels
origin.selectAll('text.temp')
.data(circleAxis)
.enter().append('text')
.attr('x', function (d) {
return xScale(d.index, d.temp)})
.attr('y', function (d) {return yScale(d.index, d.temp)})
.text(function (d) {return d.temp + '°'})
.attr('class', 'temp');
//axis lines
var axis = origin.append('g');
axis.selectAll('line.axis')
.data(months)
.enter().append('line')
.attr('x2', function (d) {
return xScale(d.index, 120)})
.attr('y2', function (d) {return -yScale(d.index, 120)})
.attr('class', 'axis');
var monthLabels = months.filter( function (d,i) {return i%3 === 0})
//month labels
axis.selectAll('text.months')
.data(monthLabels)
.enter().append('text')
.attr('x', function (d) {
return xScale(d.index, 110)})
.attr('y', function (d) {return yScale(d.index, 110)})
.text(function (d) {return d.month})
.attr('class', 'months');
//center for reference
axis.append('circle')
.attr('r', 3)
.attr('class', 'avg')
//title
svg.append('text')
.attr('x', 30)
.attr('y', 60)
.text(json.name)
.attr('class', 'title')
//subtitle
svg.append('text')
.attr('x', 30)
.attr('y', 100)
.text('Historical Data')
//create legend
var legendScale = d3.scale.ordinal()
.domain(['Record', 'Average', 'This Year - within avg', 'This Year - beyond avg', 'Freezing', 'Precipitation', 'Scattered Clouds', "Cloudy", "Overcast"])
.range(['record', 'avg', 'beyond', 'year', 'freeze', 'rain', 'scattered', 'cloudy', 'overcast'])
//d3-legend
var legend = d3.legend.color()
.shapePadding(5)
.useClass(true)
.scale(legendScale);
svg.append('g')
.attr('transform', 'translate(30,120)')
.call(legend);
d3.json("cloud_rain_freeze.json", loadBars);
});
function loadBars(data) {
freezeBars = [];
rainBars = [];
cloudBars = [];
var freeze = {};
var cloud = {start: data[0].date, category: data[0].cloud};
var rain = {};
var dateScale = d3.time.scale().domain([new Date("01/01/2015"), new Date("12/31/2015")]).range([1,366]);
data.forEach(function (d, i) {
if (d.cloud !== cloud.category) {
cloud.end = d.date;
cloud.endInt = dateScale(new Date(d.date));
cloudBars.push(cloud);
cloud = {start: d.date, startInt: dateScale(new Date(d.date)), category: d.cloud};
}
if (freeze.start && !d.freeze) {
freeze.end = d.date;
freeze.endInt = dateScale(new Date(d.date));
freezeBars.push(freeze);
freeze = {};
}
else if (d.freeze && !freeze.start) {
freeze.start = d.date;
freeze.startInt = dateScale(new Date(d.date));
}
if (rain.start && !d.rain) {
rain.end = d.date;
rain.endInt = dateScale(new Date(d.date));
rainBars.push(rain);
rain = {};
}
else if (d.rain && !rain.start) {
rain.start = d.date;
rain.startInt = dateScale(new Date(d.date));
}
});
drawBars(rainBars, "rain", 205);
drawBars(freezeBars, "freeze", 200);
drawBars(cloudBars, "cloud", 210);
drawBrush();
}
function drawBrush() {
brush = d3.svg.circularbrush()
.range([1,366])
.innerRadius(10)
.outerRadius(218)
.handleSize(0.1)
.on("brush", brush);
d3.select("svg")
.append("g")
.attr("class", "brush")
.attr("transform", "translate(576,250)")
.call(brush);
d3.select("svg").append("g")
.attr("class", "linear")
.attr("transform", "translate(40,350)")
function brush() {
extent = brush.extent();
var yScale = d3.scale.linear().domain([-10,110]).range([100,0]).clamp(true);
var xScale = d3.scale.linear().domain([1,366]).range([0,250]);
var start = extent[0];
var end = extent[1];
var barOffset = 0;
if (start < end) {
filteredData = rawData.values.filter(function (d) {
return d.index >= start && d.index <= end;
});
filteredRainbars = rainBars.filter(function (d) {
var sDate = d.startInt;
var eDate = d.endInt;
return (eDate <= end && eDate >= start) || (sDate <= end && sDate >= start)
})
filteredFreezebars = freezeBars.filter(function (d) {
var sDate = d.startInt;
var eDate = d.endInt;
return (eDate <= end && eDate >= start) || (sDate <= end && sDate >= start)
})
filteredCloudbars = cloudBars.filter(function (d) {
var sDate = d.startInt;
var eDate = d.endInt;
return (eDate <= end && eDate >= start) || (sDate <= end && sDate >= start)
})
}
else {
var janone = 1;
var decthirtyone = 366
var filteredDataEarly = rawData.values.filter(function (d) {
return (d.index >= start && d.index <= decthirtyone);
});
var filteredDataAfter = rawData.values.filter(function (d) {
return (d.index <= end && d.index >= janone);
});
barOffset = filteredDataEarly.length;
earlyMin = d3.min(filteredDataEarly, function (d) {return d.index})
filteredFreezebarsEarly = beforeBars(freezeBars)
filteredFreezebarsAfter = afterBars(freezeBars)
filteredRainbarsEarly = beforeBars(rainBars)
filteredRainbarsAfter = afterBars(rainBars)
filteredCloudbarsEarly = beforeBars(cloudBars);
filteredCloudbarsAfter = afterBars(cloudBars);
filteredData = filteredDataEarly.concat(filteredDataAfter);
filteredFreezebars = filteredFreezebarsEarly.concat(filteredFreezebarsAfter);
filteredRainbars = filteredRainbarsEarly.concat(filteredRainbarsAfter);
filteredCloudbars = filteredCloudbarsEarly.concat(filteredCloudbarsAfter);
function beforeBars(bars) {
return bars.filter(function (d) {
var sDate = d.startInt;
var eDate = d.endInt;
(d.index >= start && d.index <= decthirtyone)
return (eDate >= start && eDate <= decthirtyone) || (sDate >= start && sDate <= decthirtyone)
}).map(function (d) {
return {startInt: d.startInt - earlyMin, endInt: d.endInt - earlyMin, category: d.category}
})
}
function afterBars(bars) {
return bars.filter(function (d) {
var sDate = d.startInt;
var eDate = d.endInt;
(d.index >= start && d.index <= decthirtyone)
return (eDate <= end && eDate >= janone) || (sDate <= end && sDate >= janone)
}).map(function (d) {
return {startInt: d.startInt + barOffset, endInt: d.endInt + barOffset, category: d.category}
})
}
}
var lineWidth = 250 / filteredData.length;
minDate = d3.min(filteredData, function (d) {return d.index})
maxDate = d3.max(filteredData, function (d) {return d.index})
xScale.domain([0, filteredData.length]);
d3.select("g.linear")
.selectAll("g.linearBars")
.remove();
d3.select("g.linear")
.selectAll("rect")
.remove();
d3.select("g.linear")
.selectAll("text")
.remove();
d3.select("g.linear")
.selectAll("rect.rainbars")
.data(filteredRainbars)
.enter()
.append("rect")
.attr("class", "rain")
.attr("y", -10)
.attr("x", function (d) {return xScale((d.startInt - minDate)) })
.attr("width", function (d) {return Math.min(250 - xScale((d.startInt - minDate)), (d.endInt - d.startInt) * lineWidth) })
.attr("height", "5px")
d3.select("g.linear")
.selectAll("rect.freezebars")
.data(filteredFreezebars)
.enter()
.append("rect")
.attr("class", "freeze")
.attr("y", -0)
.attr("x", function (d) {return xScale((d.startInt - minDate)) })
.attr("width", function (d) {return Math.min(250 - xScale((d.startInt - minDate)), (d.endInt - d.startInt) * lineWidth) })
.attr("height", "5px")
d3.select("g.linear")
.selectAll("rect.cloudbars")
.data(filteredCloudbars)
.enter()
.append("rect")
.attr("class", function (d) {return d.category })
.attr("y", -20)
.attr("x", function (d) {return xScale((d.startInt - minDate)) })
.attr("width", function (d) {return Math.min(250 - xScale((d.startInt - minDate)), (d.endInt - d.startInt) * lineWidth) })
.attr("height", "5px")
d3.select("g.linear")
.selectAll("g.linearBars")
.data(filteredData, function (d) {return d.date})
.enter()
.insert("g", "rect")
.attr("class", "linearBars")
.each(function (d, i) {
if (i === 0 || i === filteredData.length - 1) {
d3.select(this).append("text")
.text(d.date)
.attr("y", -30)
.style("text-anchor", "middle");
}
d3.select(this).append("line").style("stroke-width", lineWidth).attr("class", "highlightline")
d3.select(this).append("line").style("stroke-width", lineWidth).attr("class", "record")
d3.select(this).append("line").style("stroke-width", lineWidth).attr("class", "avg")
d3.select(this).append("line").style("stroke-width", lineWidth).attr("class", "yearLow")
d3.select(this).append("line").style("stroke-width", lineWidth).attr("class", "yearHigh")
d3.select(this).append("line").style("stroke-width", lineWidth).attr("class", "year")
d3.select(this).append("line").style("stroke-width", lineWidth).attr("class", "hoverline")
});
d3.selectAll("g.linearBars")
.attr("transform", function (d,i) {return "translate(" + xScale(i) +",0)" });
d3.selectAll("g.linearBars")
.each(function (d) {
var thisG = this;
d3.select(this).select("line.highlightline")
.attr("y1", -30)
.attr("y2", 100)
.style("stroke-width", 1)
.style("stroke", "black")
.style("opacity", 0);
d3.select(this).select("line.hoverline")
.attr("y1", -30)
.attr("y2", 100)
.style("stroke-width", lineWidth)
.style("opacity", 0.0)
.style("stroke", "black")
.on("mouseover", function () {
d3.select(thisG).select("line.highlightline").style("opacity", 1);
})
.on("mouseout", function () {
d3.selectAll("line.highlightline").style("opacity", 0);
})
d3.select(this).select("line.record")
.attr("y1", yScale(parseInt(d.recHigh)))
.attr("y2", yScale(parseInt(d.recLow)));
d3.select(this).select("line.avg")
.attr("y1", yScale(parseInt(d.avgHigh)))
.attr("y2", yScale(parseInt(d.avgLow)));
if (d.max != null) {
if (d.min < parseInt(d.avgLow)) {
d3.select(this).select("line.yearLow")
.attr("y1", yScale(parseInt(d.min)))
.attr("y2", yScale(parseInt(d.avgLow)));
}
if (d.max > parseInt(d.avgHigh)) {
d3.select(this).select("line.yearHigh")
.attr("y1", yScale(parseInt(d.max)))
.attr("y2", yScale(parseInt(d.avgHigh)));
}
if (!(d.min > parseInt(d.avgHigh) || d.max < parseInt(d.avgLow))) {
d3.select(this).select("line.year")
.attr("y1", yScale(Math.max(d.min,parseInt(d.avgLow))))
.attr("y2", yScale(Math.min(d.max,parseInt(d.avgHigh))));
}
}
})
}
}
function drawBars(data, type, offset) {
dateScale = d3.scale.linear()
.domain([1,366])
.range([0,(2 * Math.PI)]);
var arc = d3.svg.arc().innerRadius(offset).outerRadius(offset + 5);
d3.select("svg").append("g")
.attr("class", type + "bars")
.attr("transform", "translate(576,250)")
.selectAll("path")
.data(data)
.enter()
.append("path")
.attr("d", drawArc)
.attr("class", function (d) {return type + " " + d.category})
function drawArc(d) {
projected = {startAngle: dateScale(d.startInt), endAngle: dateScale(d.endInt) };
return arc(projected);
}
}
</script>
</body>
</html>
{
"name": "Google Trend vs Price",
"values": [
{
"date": "1-Jan",
"avgLow": "24°",
"avgHigh": "38°",
"recLow": "10° (1963)",
"recHigh": "59° (1966)",
"index": 0,
"max": 39,
"min": 27,
"random": 27
},
{
"date": "2-Jan",
"avgLow": "24°",
"avgHigh": "38°",
"recLow": "6° (1968)",
"recHigh": "58° (1966)",
"index": 1,
"max": 42,
"min": 35
},
{
"date": "3-Jan",
"avgLow": "24°",
"avgHigh": "37°",
"recLow": "3° (1981)",
"recHigh": "56° (1950)",
"index": 2,
"max": 42,
"min": 33
},
{
"date": "4-Jan",
"avgLow": "24°",
"avgHigh": "37°",
"recLow": "1° (1981)",
"recHigh": "64° (1950)",
"index": 3,
"max": 56,
"min": 41
},
{
"date": "5-Jan",
"avgLow": "24°",
"avgHigh": "37°",
"recLow": "1° (1981)",
"recHigh": "60° (1950)",
"index": 4,
"max": 49,
"min": 21
},
{
"date": "6-Jan",
"avgLow": "24°",
"avgHigh": "37°",
"recLow": "3° (1988)",
"recHigh": "60° (1950)",
"index": 5,
"max": 22,
"min": 19
},
{
"date": "7-Jan",
"avgLow": "23°",
"avgHigh": "37°",
"recLow": "5° (1996)",
"recHigh": "52° (1961)",
"index": 6,
"max": 23,
"min": 9
},
{
"date": "8-Jan",
"avgLow": "23°",
"avgHigh": "37°",
"recLow": "0° (1981)",
"recHigh": "57° (1949)",
"index": 7,
"max": 21,
"min": 8
},
{
"date": "9-Jan",
"avgLow": "23°",
"avgHigh": "36°",
"recLow": "0° (1968)",
"recHigh": "54° (1978)",
"index": 8,
"max": 33,
"min": 19
},
{
"date": "10-Jan",
"avgLow": "23°",
"avgHigh": "36°",
"recLow": "0° (1981)",
"recHigh": "53° (1983)",
"index": 9,
"max": 23,
"min": 16
},
{
"date": "11-Jan",
"avgLow": "23°",
"avgHigh": "36°",
"recLow": "0° (1981)",
"recHigh": "62° (1975)",
"index": 10,
"max": 37,
"min": 18
},
{
"date": "12-Jan",
"avgLow": "23°",
"avgHigh": "36°",
"recLow": "1° (1981)",
"recHigh": "61° (1975)",
"index": 11,
"max": 39,
"min": 35
},
{
"date": "13-Jan",
"avgLow": "23°",
"avgHigh": "36°",
"recLow": "3° (1981)",
"recHigh": "55° (1972)",
"index": 12,
"max": 36,
"min": 17
},
{
"date": "14-Jan",
"avgLow": "23°",
"avgHigh": "36°",
"recLow": "5° (1988)",
"recHigh": "60° (1995)",
"index": 13,
"max": 32,
"min": 16
},
{
"date": "15-Jan",
"avgLow": "23°",
"avgHigh": "36°",
"recLow": "0° (1957)",
"recHigh": "62° (1995)",
"index": 14,
"max": 35,
"min": 25
},
{
"date": "16-Jan",
"avgLow": "23°",
"avgHigh": "36°",
"recLow": "1° (1994)",
"recHigh": "59° (1995)",
"index": 15,
"max": 43,
"min": 20
},
{
"date": "17-Jan",
"avgLow": "22°",
"avgHigh": "36°",
"recLow": "0° (1977)",
"recHigh": "59° (1973)",
"index": 16,
"max": 32,
"min": 17
},
{
"date": "18-Jan",
"avgLow": "22°",
"avgHigh": "36°",
"recLow": "0° (1982)",
"recHigh": "60° (1986)",
"index": 17,
"max": 42,
"min": 31
},
{
"date": "19-Jan",
"avgLow": "22°",
"avgHigh": "36°",
"recLow": "1° (1979)",
"recHigh": "60° (1951)",
"index": 18,
"max": 42,
"min": 36
},
{
"date": "20-Jan",
"avgLow": "22°",
"avgHigh": "36°",
"recLow": "-4° (1994)",
"recHigh": "55° (1996)",
"index": 19,
"max": 40,
"min": 32
},
{
"date": "21-Jan",
"avgLow": "22°",
"avgHigh": "36°",
"recLow": "2° (1984)",
"recHigh": "53° (1951)",
"index": 20,
"max": 36,
"min": 25
},
{
"date": "22-Jan",
"avgLow": "22°",
"avgHigh": "36°",
"recLow": "2° (1985)",
"recHigh": "57° (1958)",
"index": 21,
"max": 40,
"min": 31
},
{
"date": "23-Jan",
"avgLow": "22°",
"avgHigh": "36°",
"recLow": "1° (1976)",
"recHigh": "60° (1967)",
"index": 22,
"max": 39,
"min": 28
},
{
"date": "24-Jan",
"avgLow": "22°",
"avgHigh": "36°",
"recLow": "4° (1963)",
"recHigh": "68° (1967)",
"index": 23,
"max": 39,
"min": 33
},
{
"date": "25-Jan",
"avgLow": "22°",
"avgHigh": "36°",
"recLow": "4° (1961)",
"recHigh": "56° (1967)",
"index": 24,
"max": 42,
"min": 31
},
{
"date": "26-Jan",
"avgLow": "22°",
"avgHigh": "36°",
"recLow": "8° (1961)",
"recHigh": "70° (1950)",
"index": 25,
"max": 31,
"min": 22
},
{
"date": "27-Jan",
"avgLow": "22°",
"avgHigh": "36°",
"recLow": "4° (1994)",
"recHigh": "65° (1974)",
"index": 26,
"max": 30,
"min": 20
},
{
"date": "28-Jan",
"avgLow": "22°",
"avgHigh": "36°",
"recLow": "4° (1994)",
"recHigh": "56° (1974)",
"index": 27,
"max": 34,
"min": 16
},
{
"date": "29-Jan",
"avgLow": "22°",
"avgHigh": "36°",
"recLow": "1° (1977)",
"recHigh": "55° (1975)",
"index": 28,
"max": 36,
"min": 19
},
{
"date": "30-Jan",
"avgLow": "22°",
"avgHigh": "37°",
"recLow": "7° (1952)",
"recHigh": "57° (1974)",
"index": 29,
"max": 38,
"min": 19
},
{
"date": "31-Jan",
"avgLow": "22°",
"avgHigh": "37°",
"recLow": "6° (1981)",
"recHigh": "58° (1974)",
"index": 30,
"max": 26,
"min": 13
},
{
"date": "1-Feb",
"avgLow": "22°",
"avgHigh": "37°",
"recLow": "4° (1980)",
"recHigh": "62° (1989)",
"index": 31,
"max": 36,
"min": 20
},
{
"date": "2-Feb",
"avgLow": "22°",
"avgHigh": "37°",
"recLow": "-2° (1961)",
"recHigh": "58° (1973)",
"index": 32,
"max": 34,
"min": 14
},
{
"date": "3-Feb",
"avgLow": "22°",
"avgHigh": "37°",
"recLow": "1° (1955)",
"recHigh": "56° (1983)",
"index": 33,
"max": 26,
"min": 13
},
{
"date": "4-Feb",
"avgLow": "22°",
"avgHigh": "37°",
"recLow": "4° (1981)",
"recHigh": "50° (1984)",
"index": 34,
"max": 43,
"min": 24
},
{
"date": "5-Feb",
"avgLow": "22°",
"avgHigh": "38°",
"recLow": "2° (1981)",
"recHigh": "52° (1964)",
"index": 35,
"max": 42,
"min": 14
},
{
"date": "6-Feb",
"avgLow": "23°",
"avgHigh": "38°",
"recLow": "3° (1996)",
"recHigh": "53° (1960)",
"index": 36,
"max": 27,
"min": 12
},
{
"date": "7-Feb",
"avgLow": "23°",
"avgHigh": "38°",
"recLow": "5° (1995)",
"recHigh": "50° (1953)",
"index": 37,
"max": 40,
"min": 25
},
{
"date": "8-Feb",
"avgLow": "23°",
"avgHigh": "38°",
"recLow": "2° (1963)",
"recHigh": "61° (1965)",
"index": 38,
"max": 37,
"min": 29
},
{
"date": "9-Feb",
"avgLow": "23°",
"avgHigh": "38°",
"recLow": "4° (1979)",
"recHigh": "58° (1949)",
"index": 39,
"max": 29,
"min": 25
},
{
"date": "10-Feb",
"avgLow": "23°",
"avgHigh": "38°",
"recLow": "0° (1979)",
"recHigh": "55° (1955)",
"index": 40,
"max": 40,
"min": 26
},
{
"date": "11-Feb",
"avgLow": "23°",
"avgHigh": "39°",
"recLow": "-3° (1979)",
"recHigh": "63° (1960)",
"index": 41,
"max": 34,
"min": 22
},
{
"date": "12-Feb",
"avgLow": "23°",
"avgHigh": "39°",
"recLow": "0° (1979)",
"recHigh": "54° (1966)",
"index": 42,
"max": 40,
"min": 16
},
{
"date": "13-Feb",
"avgLow": "23°",
"avgHigh": "39°",
"recLow": "0° (1979)",
"recHigh": "60° (1951)",
"index": 43,
"max": 21,
"min": 8
},
{
"date": "14-Feb",
"avgLow": "24°",
"avgHigh": "39°",
"recLow": "0° (1979)",
"recHigh": "55° (1949)",
"index": 44,
"max": 32,
"min": 16
},
{
"date": "15-Feb",
"avgLow": "24°",
"avgHigh": "39°",
"recLow": "0° (1987)",
"recHigh": "71° (1949)",
"index": 45,
"max": 25,
"min": 4
},
{
"date": "16-Feb",
"avgLow": "24°",
"avgHigh": "40°",
"recLow": "2° (1987)",
"recHigh": "66° (1954)",
"index": 46,
"max": 21,
"min": 3
},
{
"date": "17-Feb",
"avgLow": "24°",
"avgHigh": "40°",
"recLow": "-3° (1979)",
"recHigh": "62° (1976)",
"index": 47,
"max": 27,
"min": 14
},
{
"date": "18-Feb",
"avgLow": "24°",
"avgHigh": "40°",
"recLow": "-1° (1979)",
"recHigh": "55° (1954)",
"index": 48,
"max": 33,
"min": 19
},
{
"date": "19-Feb",
"avgLow": "25°",
"avgHigh": "40°",
"recLow": "10° (1959)",
"recHigh": "58° (1961)",
"index": 49,
"max": 27,
"min": 8
},
{
"date": "20-Feb",
"avgLow": "25°",
"avgHigh": "41°",
"recLow": "5° (1950)",
"recHigh": "65° (1997)",
"index": 50,
"max": 19,
"min": 2
},
{
"date": "21-Feb",
"avgLow": "25°",
"avgHigh": "41°",
"recLow": "5° (1950)",
"recHigh": "60° (1953)",
"index": 51,
"max": 32,
"min": 13
},
{
"date": "22-Feb",
"avgLow": "25°",
"avgHigh": "41°",
"recLow": "8° (1963)",
"recHigh": "64° (1997)",
"index": 52,
"max": 43,
"min": 32
},
{
"date": "23-Feb",
"avgLow": "26°",
"avgHigh": "41°",
"recLow": "10° (1963)",
"recHigh": "71° (1997)",
"index": 53,
"max": 38,
"min": 8
},
{
"date": "24-Feb",
"avgLow": "26°",
"avgHigh": "42°",
"recLow": "16° (1968)",
"recHigh": "72° (1985)",
"index": 54,
"max": 24,
"min": 4
},
{
"date": "25-Feb",
"avgLow": "26°",
"avgHigh": "42°",
"recLow": "13° (1989)",
"recHigh": "65° (1976)",
"index": 55,
"max": 37,
"min": 20
},
{
"date": "26-Feb",
"avgLow": "26°",
"avgHigh": "42°",
"recLow": "10° (1970)",
"recHigh": "63° (1996)",
"index": 56,
"max": 32,
"min": 21
},
{
"date": "27-Feb",
"avgLow": "27°",
"avgHigh": "42°",
"recLow": "9° (1950)",
"recHigh": "65° (1976)",
"index": 57,
"max": 30,
"min": 18
},
{
"date": "28-Feb",
"avgLow": "27°",
"avgHigh": "43°",
"recLow": "11° (1994)",
"recHigh": "72° (1997)",
"index": 58,
"max": 29,
"min": 13
},
{
"date": "29-Feb",
"avgLow": "27°",
"avgHigh": "43°",
"recLow": "7° (1980)",
"recHigh": "65° (1976)",
"index": 59,
"max": null,
"min": null
},
{
"date": "1-Mar",
"avgLow": "27°",
"avgHigh": "43°",
"recLow": "5° (1980)",
"recHigh": "70° (1972)",
"index": 60,
"max": 31,
"min": 24
},
{
"date": "2-Mar",
"avgLow": "27°",
"avgHigh": "43°",
"recLow": "10° (1962)",
"recHigh": "75° (1972)",
"index": 61,
"max": 39,
"min": 27
},
{
"date": "3-Mar",
"avgLow": "28°",
"avgHigh": "44°",
"recLow": "10° (1950)",
"recHigh": "61° (1997)",
"index": 62,
"max": 37,
"min": 22
},
{
"date": "4-Mar",
"avgLow": "28°",
"avgHigh": "44°",
"recLow": "11° (1950)",
"recHigh": "63° (1974)",
"index": 63,
"max": 45,
"min": 35
},
{
"date": "5-Mar",
"avgLow": "28°",
"avgHigh": "44°",
"recLow": "12° (1978)",
"recHigh": "72° (1964)",
"index": 64,
"max": 40,
"min": 19
},
{
"date": "6-Mar",
"avgLow": "29°",
"avgHigh": "44°",
"recLow": "16° (1978)",
"recHigh": "61° (1996)",
"index": 65,
"max": 27,
"min": 12
},
{
"date": "7-Mar",
"avgLow": "29°",
"avgHigh": "45°",
"recLow": "9° (1986)",
"recHigh": "67° (1974)",
"index": 66,
"max": 38,
"min": 18
},
{
"date": "8-Mar",
"avgLow": "29°",
"avgHigh": "45°",
"recLow": "9° (1986)",
"recHigh": "72° (1987)",
"index": 67,
"max": 49,
"min": 37
},
{
"date": "9-Mar",
"avgLow": "30°",
"avgHigh": "45°",
"recLow": "10° (1996)",
"recHigh": "62° (1955)",
"index": 68,
"max": 54,
"min": 40
},
{
"date": "10-Mar",
"avgLow": "30°",
"avgHigh": "46°",
"recLow": "10° (1984)",
"recHigh": "68° (1955)",
"index": 69,
"max": 53,
"min": 39
},
{
"date": "11-Mar",
"avgLow": "30°",
"avgHigh": "46°",
"recLow": "12° (1960)",
"recHigh": "64° (1955)",
"index": 70,
"max": 59,
"min": 44
},
{
"date": "12-Mar",
"avgLow": "31°",
"avgHigh": "46°",
"recLow": "12° (1984)",
"recHigh": "62° (1973)",
"index": 71,
"max": 47,
"min": 36
},
{
"date": "13-Mar",
"avgLow": "31°",
"avgHigh": "47°",
"recLow": "19° (1960)",
"recHigh": "65° (1957)",
"index": 72,
"max": 43,
"min": 31
},
{
"date": "14-Mar",
"avgLow": "31°",
"avgHigh": "47°",
"recLow": "19° (1981)",
"recHigh": "69° (1995)",
"index": 73,
"max": 51,
"min": 40
},
{
"date": "15-Mar",
"avgLow": "32°",
"avgHigh": "47°",
"recLow": "17° (1979)",
"recHigh": "64° (1983)",
"index": 74,
"max": 44,
"min": 36
},
{
"date": "16-Mar",
"avgLow": "32°",
"avgHigh": "48°",
"recLow": "15° (1981)",
"recHigh": "67° (1995)",
"index": 75,
"max": 52,
"min": 35
},
{
"date": "17-Mar",
"avgLow": "32°",
"avgHigh": "48°",
"recLow": "13° (1981)",
"recHigh": "65° (1995)",
"index": 76,
"max": 57,
"min": 34
},
{
"date": "18-Mar",
"avgLow": "33°",
"avgHigh": "48°",
"recLow": "5° (1981)",
"recHigh": "69° (1969)",
"index": 77,
"max": 39,
"min": 29
},
{
"date": "19-Mar",
"avgLow": "33°",
"avgHigh": "48°",
"recLow": "16° (1949)",
"recHigh": "68° (1986)",
"index": 78,
"max": 43,
"min": 29
},
{
"date": "20-Mar",
"avgLow": "33°",
"avgHigh": "49°",
"recLow": "15° (1981)",
"recHigh": "70° (1959)",
"index": 79,
"max": 38,
"min": 29
},
{
"date": "21-Mar",
"avgLow": "34°",
"avgHigh": "49°",
"recLow": "12° (1986)",
"recHigh": "67° (1976)",
"index": 80,
"max": 47,
"min": 29
},
{
"date": "22-Mar",
"avgLow": "34°",
"avgHigh": "49°",
"recLow": "14° (1988)",
"recHigh": "64° (1979)",
"index": 81,
"max": 43,
"min": 28
},
{
"date": "23-Mar",
"avgLow": "34°",
"avgHigh": "50°",
"recLow": "19° (1959)",
"recHigh": "65° (1949)",
"index": 82,
"max": 38,
"min": 23
},
{
"date": "24-Mar",
"avgLow": "35°",
"avgHigh": "50°",
"recLow": "23° (1956)",
"recHigh": "74° (1988)",
"index": 83,
"max": 45,
"min": 26
},
{
"date": "25-Mar",
"avgLow": "35°",
"avgHigh": "50°",
"recLow": "18° (1956)",
"recHigh": "77° (1963)",
"index": 84,
"max": 49,
"min": 34
},
{
"date": "26-Mar",
"avgLow": "35°",
"avgHigh": "51°",
"recLow": "20° (1960)",
"recHigh": "70° (1986)",
"index": 85,
"max": 62,
"min": 42
},
{
"date": "27-Mar",
"avgLow": "36°",
"avgHigh": "51°",
"recLow": "24° (1966)",
"recHigh": "74° (1949)",
"index": 86,
"max": 46,
"min": 39
},
{
"date": "28-Mar",
"avgLow": "36°",
"avgHigh": "52°",
"recLow": "20° (1982)",
"recHigh": "78° (1989)",
"index": 87,
"max": 40,
"min": 26
},
{
"date": "29-Mar",
"avgLow": "36°",
"avgHigh": "52°",
"recLow": "25° (1959)",
"recHigh": "80° (1985)",
"index": 88,
"max": 46,
"min": 25
},
{
"date": "30-Mar",
"avgLow": "37°",
"avgHigh": "52°",
"recLow": "22° (1970)",
"recHigh": "76° (1962)",
"index": 89,
"max": 54,
"min": 36
},
{
"date": "31-Mar",
"avgLow": "37°",
"avgHigh": "53°",
"recLow": "20° (1964)",
"recHigh": "70° (1986)",
"index": 90,
"max": 47,
"min": 35
},
{
"date": "1-Apr",
"avgLow": "37°",
"avgHigh": "53°",
"recLow": "26° (1964)",
"recHigh": "76° (1978)",
"index": 91,
"max": 51,
"min": 32
},
{
"date": "2-Apr",
"avgLow": "38°",
"avgHigh": "53°",
"recLow": "29° (1965)",
"recHigh": "74° (1955)",
"index": 92,
"max": 67,
"min": 41
},
{
"date": "3-Apr",
"avgLow": "38°",
"avgHigh": "54°",
"recLow": "22° (1954)",
"recHigh": "70° (1964)",
"index": 93,
"max": 64,
"min": 59
},
{
"date": "4-Apr",
"avgLow": "38°",
"avgHigh": "54°",
"recLow": "23° (1954)",
"recHigh": "77° (1950)",
"index": 94,
"max": 60,
"min": 42
},
{
"date": "5-Apr",
"avgLow": "39°",
"avgHigh": "54°",
"recLow": "22° (1995)",
"recHigh": "74° (1989)",
"index": 95,
"max": 61,
"min": 42
},
{
"date": "6-Apr",
"avgLow": "39°",
"avgHigh": "55°",
"recLow": "21° (1982)",
"recHigh": "70° (1974)",
"index": 96,
"max": 63,
"min": 42
},
{
"date": "7-Apr",
"avgLow": "39°",
"avgHigh": "55°",
"recLow": "18° (1982)",
"recHigh": "72° (1954)",
"index": 97,
"max": 62,
"min": 42
},
{
"date": "8-Apr",
"avgLow": "40°",
"avgHigh": "55°",
"recLow": "21° (1982)",
"recHigh": "81° (1959)",
"index": 98,
"max": 45,
"min": 37
},
{
"date": "9-Apr",
"avgLow": "40°",
"avgHigh": "56°",
"recLow": "25° (1977)",
"recHigh": "75° (1970)",
"index": 99,
"max": 43,
"min": 37
},
{
"date": "10-Apr",
"avgLow": "40°",
"avgHigh": "56°",
"recLow": "26° (1985)",
"recHigh": "79° (1955)",
"index": 100,
"max": 56,
"min": 39
},
{
"date": "11-Apr",
"avgLow": "41°",
"avgHigh": "56°",
"recLow": "27° (1997)",
"recHigh": "80° (1955)",
"index": 101,
"max": 57,
"min": 44
},
{
"date": "12-Apr",
"avgLow": "41°",
"avgHigh": "57°",
"recLow": "26° (1976)",
"recHigh": "87° (1977)",
"index": 102,
"max": 66,
"min": 43
},
{
"date": "13-Apr",
"avgLow": "41°",
"avgHigh": "57°",
"recLow": "28° (1950)",
"recHigh": "83° (1977)",
"index": 103,
"max": 68,
"min": 50
},
{
"date": "14-Apr",
"avgLow": "42°",
"avgHigh": "57°",
"recLow": "21° (1950)",
"recHigh": "74° (1949)",
"index": 104,
"max": 65,
"min": 55
},
{
"date": "15-Apr",
"avgLow": "42°",
"avgHigh": "58°",
"recLow": "27° (1981)",
"recHigh": "83° (1949)",
"index": 105,
"max": 72,
"min": 51
},
{
"date": "16-Apr",
"avgLow": "42°",
"avgHigh": "58°",
"recLow": "26° (1981)",
"recHigh": "80° (1976)",
"index": 106,
"max": 64,
"min": 52
},
{
"date": "17-Apr",
"avgLow": "43°",
"avgHigh": "59°",
"recLow": "28° (1980)",
"recHigh": "83° (1976)",
"index": 107,
"max": 71,
"min": 55
},
{
"date": "18-Apr",
"avgLow": "43°",
"avgHigh": "59°",
"recLow": "36° (1983)",
"recHigh": "83° (1964)",
"index": 108,
"max": 80,
"min": 59
},
{
"date": "19-Apr",
"avgLow": "43°",
"avgHigh": "59°",
"recLow": "31° (1979)",
"recHigh": "86° (1985)",
"index": 109,
"max": 64,
"min": 48
},
{
"date": "20-Apr",
"avgLow": "44°",
"avgHigh": "60°",
"recLow": "33° (1981)",
"recHigh": "82° (1994)",
"index": 110,
"max": 57,
"min": 46
},
{
"date": "21-Apr",
"avgLow": "44°",
"avgHigh": "60°",
"recLow": "20° (1981)",
"recHigh": "82° (1957)",
"index": 111,
"max": 65,
"min": 52
},
{
"date": "22-Apr",
"avgLow": "44°",
"avgHigh": "60°",
"recLow": "27° (1981)",
"recHigh": "83° (1973)",
"index": 112,
"max": 69,
"min": 48
},
{
"date": "23-Apr",
"avgLow": "45°",
"avgHigh": "61°",
"recLow": "30° (1989)",
"recHigh": "81° (1973)",
"index": 113,
"max": 52,
"min": 41
},
{
"date": "24-Apr",
"avgLow": "45°",
"avgHigh": "61°",
"recLow": "38° (1956)",
"recHigh": "85° (1996)",
"index": 114,
"max": 52,
"min": 39
},
{
"date": "25-Apr",
"avgLow": "45°",
"avgHigh": "61°",
"recLow": "33° (1981)",
"recHigh": "87° (1960)",
"index": 115,
"max": 62,
"min": 38
},
{
"date": "26-Apr",
"avgLow": "46°",
"avgHigh": "62°",
"recLow": "33° (1981)",
"recHigh": "80° (1985)",
"index": 116,
"max": 64,
"min": 46
},
{
"date": "27-Apr",
"avgLow": "46°",
"avgHigh": "62°",
"recLow": "32° (1956)",
"recHigh": "86° (1962)",
"index": 117,
"max": 62,
"min": 49
},
{
"date": "28-Apr",
"avgLow": "47°",
"avgHigh": "62°",
"recLow": "38° (1966)",
"recHigh": "82° (1956)",
"index": 118,
"max": 71,
"min": 50
},
{
"date": "29-Apr",
"avgLow": "47°",
"avgHigh": "63°",
"recLow": "37° (1966)",
"recHigh": "86° (1974)",
"index": 119,
"max": 78,
"min": 50
},
{
"date": "30-Apr",
"avgLow": "47°",
"avgHigh": "63°",
"recLow": "40° (1949)",
"recHigh": "79° (1974)",
"index": 120,
"max": 67,
"min": 48
},
{
"date": "1-May",
"avgLow": "48°",
"avgHigh": "63°",
"recLow": "36° (1963)",
"recHigh": "83° (1957)",
"index": 121,
"max": 63,
"min": 49
},
{
"date": "2-May",
"avgLow": "48°",
"avgHigh": "64°",
"recLow": "34° (1963)",
"recHigh": "80° (1951)",
"index": 122,
"max": 74,
"min": 48
},
{
"date": "3-May",
"avgLow": "48°",
"avgHigh": "64°",
"recLow": "38° (1957)",
"recHigh": "82° (1969)",
"index": 123,
"max": 80,
"min": 51
},
{
"date": "4-May",
"avgLow": "49°",
"avgHigh": "64°",
"recLow": "38° (1986)",
"recHigh": "87° (1965)",
"index": 124,
"max": 85,
"min": 57
},
{
"date": "5-May",
"avgLow": "49°",
"avgHigh": "65°",
"recLow": "40° (1956)",
"recHigh": "86° (1949)",
"index": 125,
"max": 85,
"min": 66
},
{
"date": "6-May",
"avgLow": "49°",
"avgHigh": "65°",
"recLow": "41° (1970)",
"recHigh": "88° (1986)",
"index": 126,
"max": 73,
"min": 59
},
{
"date": "7-May",
"avgLow": "50°",
"avgHigh": "66°",
"recLow": "36° (1981)",
"recHigh": "78° (1949)",
"index": 127,
"max": 80,
"min": 56
},
{
"date": "8-May",
"avgLow": "50°",
"avgHigh": "66°",
"recLow": "36° (1956)",
"recHigh": "87° (1964)",
"index": 128,
"max": 82,
"min": 56
},
{
"date": "9-May",
"avgLow": "50°",
"avgHigh": "66°",
"recLow": "36° (1977)",
"recHigh": "88° (1970)",
"index": 129,
"max": 70,
"min": 57
},
{
"date": "10-May",
"avgLow": "51°",
"avgHigh": "67°",
"recLow": "34° (1966)",
"recHigh": "89° (1970)",
"index": 130,
"max": 83,
"min": 61
},
{
"date": "11-May",
"avgLow": "51°",
"avgHigh": "67°",
"recLow": "40° (1966)",
"recHigh": "85° (1965)",
"index": 131,
"max": 84,
"min": 70
},
{
"date": "12-May",
"avgLow": "51°",
"avgHigh": "67°",
"recLow": "39° (1963)",
"recHigh": "85° (1959)",
"index": 132,
"max": 86,
"min": 64
},
{
"date": "13-May",
"avgLow": "52°",
"avgHigh": "67°",
"recLow": "38° (1981)",
"recHigh": "88° (1956)",
"index": 133,
"max": 70,
"min": 53
},
{
"date": "14-May",
"avgLow": "52°",
"avgHigh": "68°",
"recLow": "41° (1996)",
"recHigh": "81° (1985)",
"index": 134,
"max": 73,
"min": 50
},
{
"date": "15-May",
"avgLow": "52°",
"avgHigh": "68°",
"recLow": "41° (1996)",
"recHigh": "83° (1951)",
"index": 135,
"max": 75,
"min": 55
},
{
"date": "16-May",
"avgLow": "53°",
"avgHigh": "68°",
"recLow": "40° (1983)",
"recHigh": "87° (1951)",
"index": 136,
"max": 75,
"min": 57
},
{
"date": "17-May",
"avgLow": "53°",
"avgHigh": "69°",
"recLow": "38° (1956)",
"recHigh": "90° (1974)",
"index": 137,
"max": 83,
"min": 64
},
{
"date": "18-May",
"avgLow": "53°",
"avgHigh": "69°",
"recLow": "38° (1981)",
"recHigh": "88° (1977)",
"index": 138,
"max": 75,
"min": 60
},
{
"date": "19-May",
"avgLow": "54°",
"avgHigh": "69°",
"recLow": "38° (1976)",
"recHigh": "95° (1962)",
"index": 139,
"max": 80,
"min": 59
},
{
"date": "20-May",
"avgLow": "54°",
"avgHigh": "70°",
"recLow": "41° (1981)",
"recHigh": "88° (1975)",
"index": 140,
"max": 67,
"min": 54
},
{
"date": "21-May",
"avgLow": "55°",
"avgHigh": "70°",
"recLow": "41° (1949)",
"recHigh": "96° (1996)",
"index": 141,
"max": 62,
"min": 52
},
{
"date": "22-May",
"avgLow": "55°",
"avgHigh": "70°",
"recLow": "47° (1950)",
"recHigh": "94° (1996)",
"index": 142,
"max": 74,
"min": 55
},
{
"date": "23-May",
"avgLow": "55°",
"avgHigh": "71°",
"recLow": "44° (1981)",
"recHigh": "93° (1964)",
"index": 143,
"max": 70,
"min": 49
},
{
"date": "24-May",
"avgLow": "56°",
"avgHigh": "71°",
"recLow": "41° (1963)",
"recHigh": "92° (1964)",
"index": 144,
"max": 81,
"min": 56
},
{
"date": "25-May",
"avgLow": "56°",
"avgHigh": "71°",
"recLow": "40° (1956)",
"recHigh": "89° (1994)",
"index": 145,
"max": 85,
"min": 64
},
{
"date": "26-May",
"avgLow": "56°",
"avgHigh": "72°",
"recLow": "44° (1972)",
"recHigh": "92° (1965)",
"index": 146,
"max": 88,
"min": 67
},
{
"date": "27-May",
"avgLow": "57°",
"avgHigh": "72°",
"recLow": "41° (1961)",
"recHigh": "86° (1985)",
"index": 147,
"max": 85,
"min": 70
},
{
"date": "28-May",
"avgLow": "57°",
"avgHigh": "72°",
"recLow": "39° (1961)",
"recHigh": "88° (1977)",
"index": 148,
"max": 85,
"min": 70
},
{
"date": "29-May",
"avgLow": "57°",
"avgHigh": "73°",
"recLow": "46° (1953)",
"recHigh": "97° (1969)",
"index": 149,
"max": 85,
"min": 65
},
{
"date": "30-May",
"avgLow": "58°",
"avgHigh": "73°",
"recLow": "44° (1949)",
"recHigh": "92° (1986)",
"index": 150,
"max": 85,
"min": 67
},
{
"date": "31-May",
"avgLow": "58°",
"avgHigh": "73°",
"recLow": "48° (1961)",
"recHigh": "89° (1986)",
"index": 151,
"max": 87,
"min": 57
},
{
"date": "1-Jun",
"avgLow": "58°",
"avgHigh": "73°",
"recLow": "46° (1984)",
"recHigh": "92° (1989)",
"index": 152,
"max": 58,
"min": 51
},
{
"date": "2-Jun",
"avgLow": "59°",
"avgHigh": "74°",
"recLow": "49° (1981)",
"recHigh": "91° (1989)",
"index": 153,
"max": 55,
"min": 50
},
{
"date": "3-Jun",
"avgLow": "59°",
"avgHigh": "74°",
"recLow": "46° (1986)",
"recHigh": "83° (1989)",
"index": 154,
"max": 70,
"min": 52
},
{
"date": "4-Jun",
"avgLow": "59°",
"avgHigh": "74°",
"recLow": "48° (1988)",
"recHigh": "88° (1971)",
"index": 155,
"max": 65,
"min": 54
},
{
"date": "5-Jun",
"avgLow": "60°",
"avgHigh": "75°",
"recLow": "50° (1964)",
"recHigh": "91° (1966)",
"index": 156,
"max": 70,
"min": 55
},
{
"date": "6-Jun",
"avgLow": "60°",
"avgHigh": "75°",
"recLow": "50° (1958)",
"recHigh": "90° (1953)",
"index": 157,
"max": 76,
"min": 60
},
{
"date": "7-Jun",
"avgLow": "60°",
"avgHigh": "75°",
"recLow": "46° (1958)",
"recHigh": "90° (1971)",
"index": 158,
"max": 74,
"min": 55
},
{
"date": "8-Jun",
"avgLow": "60°",
"avgHigh": "75°",
"recLow": "48° (1981)",
"recHigh": "92° (1984)",
"index": 159,
"max": 79,
"min": 63
},
{
"date": "9-Jun",
"avgLow": "61°",
"avgHigh": "76°",
"recLow": "44° (1980)",
"recHigh": "96° (1984)",
"index": 160,
"max": 83,
"min": 68
},
{
"date": "10-Jun",
"avgLow": "61°",
"avgHigh": "76°",
"recLow": "49° (1957)",
"recHigh": "94° (1974)",
"index": 161,
"max": 82,
"min": 65
},
{
"date": "11-Jun",
"avgLow": "61°",
"avgHigh": "76°",
"recLow": "44° (1972)",
"recHigh": "94° (1973)",
"index": 162,
"max": 89,
"min": 72
},
{
"date": "12-Jun",
"avgLow": "62°",
"avgHigh": "76°",
"recLow": "44° (1979)",
"recHigh": "93° (1973)",
"index": 163,
"max": 88,
"min": 73
},
{
"date": "13-Jun",
"avgLow": "62°",
"avgHigh": "77°",
"recLow": "50° (1979)",
"recHigh": "94° (1983)",
"index": 164,
"max": 86,
"min": 72
},
{
"date": "14-Jun",
"avgLow": "62°",
"avgHigh": "77°",
"recLow": "49° (1978)",
"recHigh": "97° (1956)",
"index": 165,
"max": 88,
"min": 66
},
{
"date": "15-Jun",
"avgLow": "63°",
"avgHigh": "77°",
"recLow": "51° (1951)",
"recHigh": "95° (1956)",
"index": 166,
"max": 83,
"min": 64
},
{
"date": "16-Jun",
"avgLow": "63°",
"avgHigh": "77°",
"recLow": "50° (1961)",
"recHigh": "96° (1994)",
"index": 167,
"max": 79,
"min": 65
},
{
"date": "17-Jun",
"avgLow": "63°",
"avgHigh": "78°",
"recLow": "50° (1959)",
"recHigh": "93° (1952)",
"index": 168,
"max": 82,
"min": 66
},
{
"date": "18-Jun",
"avgLow": "63°",
"avgHigh": "78°",
"recLow": "46° (1950)",
"recHigh": "91° (1962)",
"index": 169,
"max": 71,
"min": 64
},
{
"date": "19-Jun",
"avgLow": "64°",
"avgHigh": "78°",
"recLow": "52° (1956)",
"recHigh": "91° (1994)",
"index": 170,
"max": 87,
"min": 68
},
{
"date": "20-Jun",
"avgLow": "64°",
"avgHigh": "78°",
"recLow": "49° (1959)",
"recHigh": "96° (1994)",
"index": 171,
"max": 75,
"min": 64
},
{
"date": "21-Jun",
"avgLow": "64°",
"avgHigh": "79°",
"recLow": "55° (1980)",
"recHigh": "92° (1949)",
"index": 172,
"max": 88,
"min": 71
},
{
"date": "22-Jun",
"avgLow": "64°",
"avgHigh": "79°",
"recLow": "53° (1963)",
"recHigh": "92° (1988)",
"index": 173,
"max": 87,
"min": 70
},
{
"date": "23-Jun",
"avgLow": "65°",
"avgHigh": "79°",
"recLow": "54° (1958)",
"recHigh": "91° (1965)",
"index": 174,
"max": 90,
"min": 75
},
{
"date": "24-Jun",
"avgLow": "65°",
"avgHigh": "79°",
"recLow": "53° (1979)",
"recHigh": "95° (1975)",
"index": 175,
"max": 84,
"min": 68
},
{
"date": "25-Jun",
"avgLow": "65°",
"avgHigh": "80°",
"recLow": "48° (1979)",
"recHigh": "96° (1952)",
"index": 176,
"max": 83,
"min": 65
},
{
"date": "26-Jun",
"avgLow": "65°",
"avgHigh": "80°",
"recLow": "46° (1981)",
"recHigh": "100° (1952)",
"index": 177,
"max": 81,
"min": 69
},
{
"date": "27-Jun",
"avgLow": "65°",
"avgHigh": "80°",
"recLow": "50° (1985)",
"recHigh": "98° (1966)",
"index": 178,
"max": 71,
"min": 58
},
{
"date": "28-Jun",
"avgLow": "66°",
"avgHigh": "80°",
"recLow": "50° (1985)",
"recHigh": "95° (1969)",
"index": 179,
"max": 73,
"min": 62
},
{
"date": "29-Jun",
"avgLow": "66°",
"avgHigh": "80°",
"recLow": "57° (1979)",
"recHigh": "96° (1959)",
"index": 180,
"max": 76,
"min": 63
},
{
"date": "30-Jun",
"avgLow": "66°",
"avgHigh": "81°",
"recLow": "56° (1988)",
"recHigh": "97° (1964)",
"index": 181,
"max": 82,
"min": 68
},
{
"date": "1-Jul",
"avgLow": "66°",
"avgHigh": "81°",
"recLow": "54° (1988)",
"recHigh": "97° (1963)",
"index": 182,
"max": 82,
"min": 69
},
{
"date": "2-Jul",
"avgLow": "66°",
"avgHigh": "81°",
"recLow": "56° (1988)",
"recHigh": "98° (1966)",
"index": 183,
"max": 80,
"min": 69
},
{
"date": "3-Jul",
"avgLow": "67°",
"avgHigh": "81°",
"recLow": "56° (1957)",
"recHigh": "102° (1966)",
"index": 184,
"max": 82,
"min": 66
},
{
"date": "4-Jul",
"avgLow": "67°",
"avgHigh": "81°",
"recLow": "53° (1979)",
"recHigh": "98° (1966)",
"index": 185,
"max": 75,
"min": 69
},
{
"date": "5-Jul",
"avgLow": "67°",
"avgHigh": "82°",
"recLow": "49° (1979)",
"recHigh": "97° (1955)",
"index": 186,
"max": 83,
"min": 68
},
{
"date": "6-Jul",
"avgLow": "67°",
"avgHigh": "82°",
"recLow": "49° (1979)",
"recHigh": "94° (1986)",
"index": 187,
"max": 83,
"min": 72
},
{
"date": "7-Jul",
"avgLow": "67°",
"avgHigh": "82°",
"recLow": "53° (1979)",
"recHigh": "96° (1986)",
"index": 188,
"max": 88,
"min": 75
},
{
"date": "8-Jul",
"avgLow": "67°",
"avgHigh": "82°",
"recLow": "57° (1979)",
"recHigh": "95° (1971)",
"index": 189,
"max": 88,
"min": 77
},
{
"date": "9-Jul",
"avgLow": "68°",
"avgHigh": "82°",
"recLow": "54° (1963)",
"recHigh": "97° (1974)",
"index": 190,
"max": 79,
"min": 68
},
{
"date": "10-Jul",
"avgLow": "68°",
"avgHigh": "82°",
"recLow": "50° (1953)",
"recHigh": "94° (1974)",
"index": 191,
"max": 84,
"min": 72
},
{
"date": "11-Jul",
"avgLow": "68°",
"avgHigh": "82°",
"recLow": "59° (1957)",
"recHigh": "94° (1987)",
"index": 192,
"max": 88,
"min": 69
},
{
"date": "12-Jul",
"avgLow": "68°",
"avgHigh": "83°",
"recLow": "55° (1978)",
"recHigh": "96° (1966)",
"index": 193,
"max": 89,
"min": 72
},
{
"date": "13-Jul",
"avgLow": "68°",
"avgHigh": "83°",
"recLow": "57° (1980)",
"recHigh": "97° (1966)",
"index": 194,
"max": 88,
"min": 73
},
{
"date": "14-Jul",
"avgLow": "68°",
"avgHigh": "83°",
"recLow": "61° (1960)",
"recHigh": "98° (1954)",
"index": 195,
"max": 82,
"min": 73
},
{
"date": "15-Jul",
"avgLow": "68°",
"avgHigh": "83°",
"recLow": "58° (1950)",
"recHigh": "98° (1983)",
"index": 196,
"max": 81,
"min": 72
},
{
"date": "16-Jul",
"avgLow": "68°",
"avgHigh": "83°",
"recLow": "59° (1957)",
"recHigh": "97° (1983)",
"index": 197,
"max": 80,
"min": 64
},
{
"date": "17-Jul",
"avgLow": "68°",
"avgHigh": "83°",
"recLow": "58° (1954)",
"recHigh": "97° (1955)",
"index": 198,
"max": 81,
"min": 67
},
{
"date": "18-Jul",
"avgLow": "68°",
"avgHigh": "83°",
"recLow": "61° (1956)",
"recHigh": "95° (1983)",
"index": 199,
"max": 85,
"min": 71
},
{
"date": "19-Jul",
"avgLow": "68°",
"avgHigh": "83°",
"recLow": "60° (1954)",
"recHigh": "96° (1977)",
"index": 200,
"max": 93,
"min": 78
},
{
"date": "20-Jul",
"avgLow": "69°",
"avgHigh": "83°",
"recLow": "57° (1951)",
"recHigh": "97° (1957)",
"index": 201,
"max": 94,
"min": 82
},
{
"date": "21-Jul",
"avgLow": "69°",
"avgHigh": "83°",
"recLow": "58° (1950)",
"recHigh": "97° (1977)",
"index": 202,
"max": 89,
"min": 74
},
{
"date": "22-Jul",
"avgLow": "69°",
"avgHigh": "83°",
"recLow": "57° (1956)",
"recHigh": "100° (1957)",
"index": 203,
"max": 85,
"min": 69
},
{
"date": "23-Jul",
"avgLow": "69°",
"avgHigh": "83°",
"recLow": "62° (1950)",
"recHigh": "97° (1955)",
"index": 204,
"max": 86,
"min": 68
},
{
"date": "24-Jul",
"avgLow": "69°",
"avgHigh": "83°",
"recLow": "58° (1950)",
"recHigh": "92° (1972)",
"index": 205,
"max": 87,
"min": 70
},
{
"date": "25-Jul",
"avgLow": "69°",
"avgHigh": "83°",
"recLow": "57° (1953)",
"recHigh": "95° (1987)",
"index": 206,
"max": 88,
"min": 69
},
{
"date": "26-Jul",
"avgLow": "69°",
"avgHigh": "83°",
"recLow": "60° (1953)",
"recHigh": "96° (1989)",
"index": 207,
"max": 90,
"min": 74
},
{
"date": "27-Jul",
"avgLow": "69°",
"avgHigh": "83°",
"recLow": "55° (1977)",
"recHigh": "96° (1963)",
"index": 208,
"max": 86,
"min": 71
},
{
"date": "28-Jul",
"avgLow": "69°",
"avgHigh": "83°",
"recLow": "59° (1977)",
"recHigh": "95° (1949)",
"index": 209,
"max": 95,
"min": 75
},
{
"date": "29-Jul",
"avgLow": "69°",
"avgHigh": "83°",
"recLow": "60° (1984)",
"recHigh": "96° (1949)",
"index": 210,
"max": 96,
"min": 78
},
{
"date": "30-Jul",
"avgLow": "68°",
"avgHigh": "83°",
"recLow": "60° (1956)",
"recHigh": "96° (1988)",
"index": 211,
"max": 87,
"min": 76
},
{
"date": "31-Jul",
"avgLow": "68°",
"avgHigh": "83°",
"recLow": "57° (1956)",
"recHigh": "98° (1954)",
"index": 212,
"max": 89,
"min": 72
},
{
"date": "1-Aug",
"avgLow": "68°",
"avgHigh": "83°",
"recLow": "59° (1978)",
"recHigh": "99° (1955)",
"index": 213,
"max": 89,
"min": 75
},
{
"date": "2-Aug",
"avgLow": "68°",
"avgHigh": "83°",
"recLow": "59° (1951)",
"recHigh": "100° (1955)",
"index": 214,
"max": 89,
"min": 71
},
{
"date": "3-Aug",
"avgLow": "68°",
"avgHigh": "83°",
"recLow": "54° (1959)",
"recHigh": "97° (1975)",
"index": 215,
"max": 90,
"min": 75
},
{
"date": "4-Aug",
"avgLow": "68°",
"avgHigh": "83°",
"recLow": "57° (1964)",
"recHigh": "94° (1955)",
"index": 216,
"max": 89,
"min": 69
},
{
"date": "5-Aug",
"avgLow": "68°",
"avgHigh": "83°",
"recLow": "56° (1951)",
"recHigh": "96° (1995)",
"index": 217,
"max": 87,
"min": 72
},
{
"date": "6-Aug",
"avgLow": "68°",
"avgHigh": "82°",
"recLow": "54° (1957)",
"recHigh": "92° (1989)",
"index": 218,
"max": 83,
"min": 67
},
{
"date": "7-Aug",
"avgLow": "68°",
"avgHigh": "82°",
"recLow": "57° (1957)",
"recHigh": "92° (1955)",
"index": 219,
"max": 84,
"min": 69
},
{
"date": "8-Aug",
"avgLow": "68°",
"avgHigh": "82°",
"recLow": "54° (1989)",
"recHigh": "91° (1949)",
"index": 220,
"max": 82,
"min": 68
},
{
"date": "9-Aug",
"avgLow": "68°",
"avgHigh": "82°",
"recLow": "55° (1989)",
"recHigh": "98° (1949)",
"index": 221,
"max": 85,
"min": 68
},
{
"date": "10-Aug",
"avgLow": "68°",
"avgHigh": "82°",
"recLow": "56° (1964)",
"recHigh": "95° (1949)",
"index": 222,
"max": 84,
"min": 70
},
{
"date": "11-Aug",
"avgLow": "67°",
"avgHigh": "82°",
"recLow": "55° (1962)",
"recHigh": "97° (1949)",
"index": 223,
"max": 81,
"min": 71
},
{
"date": "12-Aug",
"avgLow": "67°",
"avgHigh": "82°",
"recLow": "50° (1979)",
"recHigh": "92° (1988)",
"index": 224,
"max": 85,
"min": 71
},
{
"date": "13-Aug",
"avgLow": "67°",
"avgHigh": "82°",
"recLow": "51° (1979)",
"recHigh": "93° (1970)",
"index": 225,
"max": 83,
"min": 67
},
{
"date": "14-Aug",
"avgLow": "67°",
"avgHigh": "81°",
"recLow": "53° (1961)",
"recHigh": "94° (1988)",
"index": 226,
"max": 88,
"min": 67
},
{
"date": "15-Aug",
"avgLow": "67°",
"avgHigh": "81°",
"recLow": "54° (1979)",
"recHigh": "94° (1985)",
"index": 227,
"max": 92,
"min": 73
},
{
"date": "16-Aug",
"avgLow": "67°",
"avgHigh": "81°",
"recLow": "52° (1979)",
"recHigh": "91° (1959)",
"index": 228,
"max": 93,
"min": 76
},
{
"date": "17-Aug",
"avgLow": "66°",
"avgHigh": "81°",
"recLow": "50° (1979)",
"recHigh": "93° (1995)",
"index": 229,
"max": 95,
"min": 78
},
{
"date": "18-Aug",
"avgLow": "66°",
"avgHigh": "81°",
"recLow": "54° (1979)",
"recHigh": "91° (1995)",
"index": 230,
"max": 90,
"min": 73
},
{
"date": "19-Aug",
"avgLow": "66°",
"avgHigh": "81°",
"recLow": "56° (1963)",
"recHigh": "94° (1966)",
"index": 231,
"max": 87,
"min": 77
},
{
"date": "20-Aug",
"avgLow": "66°",
"avgHigh": "81°",
"recLow": "53° (1949)",
"recHigh": "95° (1955)",
"index": 232,
"max": 86,
"min": 77
},
{
"date": "21-Aug",
"avgLow": "66°",
"avgHigh": "80°",
"recLow": "50° (1982)",
"recHigh": "95° (1955)",
"index": 233,
"max": 87,
"min": 71
},
{
"date": "22-Aug",
"avgLow": "65°",
"avgHigh": "80°",
"recLow": "55° (1950)",
"recHigh": "96° (1995)",
"index": 234,
"max": 86,
"min": 69
},
{
"date": "23-Aug",
"avgLow": "65°",
"avgHigh": "80°",
"recLow": "53° (1952)",
"recHigh": "92° (1989)",
"index": 235,
"max": 85,
"min": 70
},
{
"date": "24-Aug",
"avgLow": "65°",
"avgHigh": "80°",
"recLow": "53° (1952)",
"recHigh": "92° (1969)",
"index": 236,
"max": 87,
"min": 73
},
{
"date": "25-Aug",
"avgLow": "65°",
"avgHigh": "80°",
"recLow": "52° (1963)",
"recHigh": "94° (1969)",
"index": 237,
"max": 90,
"min": 73
},
{
"date": "26-Aug",
"avgLow": "65°",
"avgHigh": "79°",
"recLow": "54° (1952)",
"recHigh": "100° (1948)",
"index": 238,
"max": 85,
"min": 67
},
{
"date": "27-Aug",
"avgLow": "64°",
"avgHigh": "79°",
"recLow": "55° (1969)",
"recHigh": "99° (1948)",
"index": 239,
"max": 82,
"min": 67
},
{
"date": "28-Aug",
"avgLow": "64°",
"avgHigh": "79°",
"recLow": "47° (1982)",
"recHigh": "98° (1953)",
"index": 240,
"max": 82,
"min": 63
},
{
"date": "29-Aug",
"avgLow": "64°",
"avgHigh": "79°",
"recLow": "48° (1965)",
"recHigh": "95° (1953)",
"index": 241,
"max": 87,
"min": 67
},
{
"date": "30-Aug",
"avgLow": "63°",
"avgHigh": "79°",
"recLow": "48° (1986)",
"recHigh": "99° (1973)",
"index": 242,
"max": 90,
"min": 72
},
{
"date": "31-Aug",
"avgLow": "63°",
"avgHigh": "78°",
"recLow": "50° (1965)",
"recHigh": "98° (1953)",
"index": 243,
"max": 91,
"min": 76
},
{
"date": "1-Sep",
"avgLow": "63°",
"avgHigh": "78°",
"recLow": "53° (1948)",
"recHigh": "92° (1969)",
"index": 244,
"max": 90,
"min": 76
},
{
"date": "2-Sep",
"avgLow": "63°",
"avgHigh": "78°",
"recLow": "52° (1949)",
"recHigh": "99° (1953)",
"index": 245,
"max": 91,
"min": 74
},
{
"date": "3-Sep",
"avgLow": "62°",
"avgHigh": "78°",
"recLow": "52° (1958)",
"recHigh": "91° (1953)",
"index": 246,
"max": 93,
"min": 74
},
{
"date": "4-Sep",
"avgLow": "62°",
"avgHigh": "77°",
"recLow": "54° (1994)",
"recHigh": "93° (1961)",
"index": 247,
"max": 85,
"min": 72
},
{
"date": "5-Sep",
"avgLow": "62°",
"avgHigh": "77°",
"recLow": "52° (1950)",
"recHigh": "93° (1985)",
"index": 248,
"max": 83,
"min": 67
},
{
"date": "6-Sep",
"avgLow": "61°",
"avgHigh": "77°",
"recLow": "48° (1984)",
"recHigh": "94° (1983)",
"index": 249,
"max": 87,
"min": 65
},
{
"date": "7-Sep",
"avgLow": "61°",
"avgHigh": "77°",
"recLow": "47° (1962)",
"recHigh": "92° (1983)",
"index": 250,
"max": 92,
"min": 70
},
{
"date": "8-Sep",
"avgLow": "61°",
"avgHigh": "76°",
"recLow": "50° (1984)",
"recHigh": "86° (1985)",
"index": 251,
"max": 97,
"min": 76
},
{
"date": "9-Sep",
"avgLow": "60°",
"avgHigh": "76°",
"recLow": "48° (1986)",
"recHigh": "90° (1959)",
"index": 252,
"max": 90,
"min": 76
},
{
"date": "10-Sep",
"avgLow": "60°",
"avgHigh": "76°",
"recLow": "45° (1956)",
"recHigh": "98° (1983)",
"index": 253,
"max": 79,
"min": 70
},
{
"date": "11-Sep",
"avgLow": "60°",
"avgHigh": "75°",
"recLow": "49° (1995)",
"recHigh": "96° (1983)",
"index": 254,
"max": 81,
"min": 66
},
{
"date": "12-Sep",
"avgLow": "59°",
"avgHigh": "75°",
"recLow": "47° (1958)",
"recHigh": "89° (1961)",
"index": 255,
"max": 79,
"min": 69
},
{
"date": "13-Sep",
"avgLow": "59°",
"avgHigh": "75°",
"recLow": "45° (1985)",
"recHigh": "92° (1952)",
"index": 256,
"max": 80,
"min": 62
},
{
"date": "14-Sep",
"avgLow": "59°",
"avgHigh": "75°",
"recLow": "41° (1953)",
"recHigh": "87° (1956)",
"index": 257,
"max": 77,
"min": 59
},
{
"date": "15-Sep",
"avgLow": "58°",
"avgHigh": "74°",
"recLow": "45° (1964)",
"recHigh": "88° (1994)",
"index": 258,
"max": 84,
"min": 62
},
{
"date": "16-Sep",
"avgLow": "58°",
"avgHigh": "74°",
"recLow": "40° (1984)",
"recHigh": "91° (1970)",
"index": 259,
"max": 88,
"min": 66
},
{
"date": "17-Sep",
"avgLow": "58°",
"avgHigh": "74°",
"recLow": "42° (1986)",
"recHigh": "90° (1972)",
"index": 260,
"max": 89,
"min": 68
},
{
"date": "18-Sep",
"avgLow": "57°",
"avgHigh": "73°",
"recLow": "42° (1959)",
"recHigh": "88° (1965)",
"index": 261,
"max": 87,
"min": 68
},
{
"date": "19-Sep",
"avgLow": "57°",
"avgHigh": "73°",
"recLow": "42° (1956)",
"recHigh": "93° (1983)",
"index": 262,
"max": 83,
"min": 68
},
{
"date": "20-Sep",
"avgLow": "57°",
"avgHigh": "73°",
"recLow": "41° (1956)",
"recHigh": "92° (1983)",
"index": 263,
"max": 79,
"min": 64
},
{
"date": "21-Sep",
"avgLow": "56°",
"avgHigh": "72°",
"recLow": "39° (1956)",
"recHigh": "82° (1965)",
"index": 264,
"max": 73,
"min": 59
},
{
"date": "22-Sep",
"avgLow": "56°",
"avgHigh": "72°",
"recLow": "40° (1962)",
"recHigh": "92° (1970)",
"index": 265,
"max": 71,
"min": 62
},
{
"date": "23-Sep",
"avgLow": "56°",
"avgHigh": "72°",
"recLow": "43° (1963)",
"recHigh": "95° (1970)",
"index": 266,
"max": 80,
"min": 59
},
{
"date": "24-Sep",
"avgLow": "55°",
"avgHigh": "71°",
"recLow": "38° (1963)",
"recHigh": "87° (1959)",
"index": 267,
"max": 82,
"min": 60
},
{
"date": "25-Sep",
"avgLow": "55°",
"avgHigh": "71°",
"recLow": "40° (1950)",
"recHigh": "90° (1970)",
"index": 268,
"max": 76,
"min": 63
},
{
"date": "26-Sep",
"avgLow": "54°",
"avgHigh": "70°",
"recLow": "42° (1978)",
"recHigh": "88° (1958)",
"index": 269,
"max": 72,
"min": 61
},
{
"date": "27-Sep",
"avgLow": "54°",
"avgHigh": "70°",
"recLow": "38° (1980)",
"recHigh": "84° (1972)",
"index": 270,
"max": 71,
"min": 56
},
{
"date": "28-Sep",
"avgLow": "54°",
"avgHigh": "70°",
"recLow": "40° (1957)",
"recHigh": "82° (1954)",
"index": 271,
"max": 78,
"min": 65
},
{
"date": "29-Sep",
"avgLow": "53°",
"avgHigh": "69°",
"recLow": "41° (1978)",
"recHigh": "79° (1953)",
"index": 272,
"max": 83,
"min": 72
},
{
"date": "30-Sep",
"avgLow": "53°",
"avgHigh": "69°",
"recLow": "40° (1951)",
"recHigh": "86° (1986)",
"index": 273,
"max": 79,
"min": 59
},
{
"date": "1-Oct",
"avgLow": "52°",
"avgHigh": "68°",
"recLow": "45° (1966)",
"recHigh": "82° (1954)",
"index": 274,
"max": 64,
"min": 56
},
{
"date": "2-Oct",
"avgLow": "52°",
"avgHigh": "68°",
"recLow": "42° (1958)",
"recHigh": "85° (1954)",
"index": 275,
"max": 57,
"min": 48
},
{
"date": "3-Oct",
"avgLow": "52°",
"avgHigh": "68°",
"recLow": "37° (1974)",
"recHigh": "83° (1995)",
"index": 276,
"max": 55,
"min": 49
},
{
"date": "4-Oct",
"avgLow": "51°",
"avgHigh": "67°",
"recLow": "36° (1974)",
"recHigh": "83° (1959)",
"index": 277,
"max": 63,
"min": 53
},
{
"date": "5-Oct",
"avgLow": "51°",
"avgHigh": "67°",
"recLow": "37° (1996)",
"recHigh": "81° (1973)",
"index": 278,
"max": 67,
"min": 52
},
{
"date": "6-Oct",
"avgLow": "50°",
"avgHigh": "67°",
"recLow": "35° (1958)",
"recHigh": "82° (1959)",
"index": 279,
"max": 73,
"min": 52
},
{
"date": "7-Oct",
"avgLow": "50°",
"avgHigh": "66°",
"recLow": "38° (1954)",
"recHigh": "83° (1963)",
"index": 280,
"max": 73,
"min": 58
},
{
"date": "8-Oct",
"avgLow": "50°",
"avgHigh": "66°",
"recLow": "36° (1954)",
"recHigh": "76° (1982)",
"index": 281,
"max": 72,
"min": 59
},
{
"date": "9-Oct",
"avgLow": "49°",
"avgHigh": "65°",
"recLow": "34° (1988)",
"recHigh": "82° (1959)",
"index": 282,
"max": 78,
"min": 61
},
{
"date": "10-Oct",
"avgLow": "49°",
"avgHigh": "65°",
"recLow": "30° (1979)",
"recHigh": "85° (1949)",
"index": 283,
"max": 65,
"min": 50
},
{
"date": "11-Oct",
"avgLow": "49°",
"avgHigh": "65°",
"recLow": "33° (1979)",
"recHigh": "83° (1954)",
"index": 284,
"max": 69,
"min": 53
},
{
"date": "12-Oct",
"avgLow": "48°",
"avgHigh": "64°",
"recLow": "34° (1956)",
"recHigh": "83° (1962)",
"index": 285,
"max": 77,
"min": 56
},
{
"date": "13-Oct",
"avgLow": "48°",
"avgHigh": "64°",
"recLow": "34° (1980)",
"recHigh": "85° (1954)",
"index": 286,
"max": 72,
"min": 61
},
{
"date": "14-Oct",
"avgLow": "47°",
"avgHigh": "64°",
"recLow": "33° (1980)",
"recHigh": "84° (1975)",
"index": 287,
"max": null,
"min": null
},
{
"date": "15-Oct",
"avgLow": "47°",
"avgHigh": "63°",
"recLow": "38° (1987)",
"recHigh": "82° (1975)",
"index": 288,
"max": null,
"min": null
},
{
"date": "16-Oct",
"avgLow": "47°",
"avgHigh": "63°",
"recLow": "34° (1978)",
"recHigh": "82° (1963)",
"index": 289,
"max": null,
"min": null
},
{
"date": "17-Oct",
"avgLow": "46°",
"avgHigh": "62°",
"recLow": "36° (1978)",
"recHigh": "81° (1963)",
"index": 290,
"max": null,
"min": null
},
{
"date": "18-Oct",
"avgLow": "46°",
"avgHigh": "62°",
"recLow": "32° (1978)",
"recHigh": "78° (1964)",
"index": 291,
"max": null,
"min": null
},
{
"date": "19-Oct",
"avgLow": "46°",
"avgHigh": "62°",
"recLow": "32° (1948)",
"recHigh": "78° (1965)",
"index": 292,
"max": null,
"min": null
},
{
"date": "20-Oct",
"avgLow": "45°",
"avgHigh": "61°",
"recLow": "30° (1974)",
"recHigh": "79° (1969)",
"index": 293,
"max": null,
"min": null
},
{
"date": "21-Oct",
"avgLow": "45°",
"avgHigh": "61°",
"recLow": "30° (1974)",
"recHigh": "80° (1963)",
"index": 294,
"max": null,
"min": null
},
{
"date": "22-Oct",
"avgLow": "45°",
"avgHigh": "61°",
"recLow": "32° (1948)",
"recHigh": "79° (1975)",
"index": 295,
"max": null,
"min": null
},
{
"date": "23-Oct",
"avgLow": "44°",
"avgHigh": "60°",
"recLow": "27° (1988)",
"recHigh": "72° (1968)",
"index": 296,
"max": null,
"min": null
},
{
"date": "24-Oct",
"avgLow": "44°",
"avgHigh": "60°",
"recLow": "29° (1969)",
"recHigh": "75° (1995)",
"index": 297,
"max": null,
"min": null
},
{
"date": "25-Oct",
"avgLow": "44°",
"avgHigh": "60°",
"recLow": "32° (1981)",
"recHigh": "74° (1963)",
"index": 298,
"max": null,
"min": null
},
{
"date": "26-Oct",
"avgLow": "44°",
"avgHigh": "59°",
"recLow": "32° (1980)",
"recHigh": "78° (1964)",
"index": 299,
"max": null,
"min": null
},
{
"date": "27-Oct",
"avgLow": "43°",
"avgHigh": "59°",
"recLow": "29° (1976)",
"recHigh": "80° (1963)",
"index": 300,
"max": null,
"min": null
},
{
"date": "28-Oct",
"avgLow": "43°",
"avgHigh": "58°",
"recLow": "28° (1976)",
"recHigh": "77° (1984)",
"index": 301,
"max": null,
"min": null
},
{
"date": "29-Oct",
"avgLow": "43°",
"avgHigh": "58°",
"recLow": "31° (1965)",
"recHigh": "75° (1971)",
"index": 302,
"max": null,
"min": null
},
{
"date": "30-Oct",
"avgLow": "42°",
"avgHigh": "58°",
"recLow": "29° (1980)",
"recHigh": "76° (1950)",
"index": 303,
"max": null,
"min": null
},
{
"date": "31-Oct",
"avgLow": "42°",
"avgHigh": "57°",
"recLow": "30° (1980)",
"recHigh": "75° (1950)",
"index": 304,
"max": null,
"min": null
},
{
"date": "1-Nov",
"avgLow": "42°",
"avgHigh": "57°",
"recLow": "32° (1951)",
"recHigh": "81° (1974)",
"index": 305,
"max": null,
"min": null
},
{
"date": "2-Nov",
"avgLow": "42°",
"avgHigh": "57°",
"recLow": "30° (1965)",
"recHigh": "80° (1950)",
"index": 306,
"max": null,
"min": null
},
{
"date": "3-Nov",
"avgLow": "41°",
"avgHigh": "57°",
"recLow": "30° (1984)",
"recHigh": "73° (1975)",
"index": 307,
"max": null,
"min": null
},
{
"date": "4-Nov",
"avgLow": "41°",
"avgHigh": "56°",
"recLow": "30° (1951)",
"recHigh": "75° (1974)",
"index": 308,
"max": null,
"min": null
},
{
"date": "5-Nov",
"avgLow": "41°",
"avgHigh": "56°",
"recLow": "29° (1951)",
"recHigh": "73° (1975)",
"index": 309,
"max": null,
"min": null
},
{
"date": "6-Nov",
"avgLow": "40°",
"avgHigh": "56°",
"recLow": "28° (1951)",
"recHigh": "77° (1948)",
"index": 310,
"max": null,
"min": null
},
{
"date": "7-Nov",
"avgLow": "40°",
"avgHigh": "55°",
"recLow": "30° (1962)",
"recHigh": "68° (1994)",
"index": 311,
"max": null,
"min": null
},
{
"date": "8-Nov",
"avgLow": "40°",
"avgHigh": "55°",
"recLow": "28° (1960)",
"recHigh": "75° (1975)",
"index": 312,
"max": null,
"min": null
},
{
"date": "9-Nov",
"avgLow": "40°",
"avgHigh": "54°",
"recLow": "24° (1976)",
"recHigh": "74° (1975)",
"index": 313,
"max": null,
"min": null
},
{
"date": "10-Nov",
"avgLow": "39°",
"avgHigh": "54°",
"recLow": "30° (1954)",
"recHigh": "71° (1985)",
"index": 314,
"max": null,
"min": null
},
{
"date": "11-Nov",
"avgLow": "39°",
"avgHigh": "54°",
"recLow": "23° (1954)",
"recHigh": "72° (1949)",
"index": 315,
"max": null,
"min": null
},
{
"date": "12-Nov",
"avgLow": "39°",
"avgHigh": "53°",
"recLow": "25° (1987)",
"recHigh": "66° (1964)",
"index": 316,
"max": null,
"min": null
},
{
"date": "13-Nov",
"avgLow": "38°",
"avgHigh": "53°",
"recLow": "18° (1986)",
"recHigh": "71° (1964)",
"index": 317,
"max": null,
"min": null
},
{
"date": "14-Nov",
"avgLow": "38°",
"avgHigh": "53°",
"recLow": "18° (1986)",
"recHigh": "70° (1973)",
"index": 318,
"max": null,
"min": null
},
{
"date": "15-Nov",
"avgLow": "38°",
"avgHigh": "52°",
"recLow": "24° (1986)",
"recHigh": "74° (1973)",
"index": 319,
"max": null,
"min": null
},
{
"date": "16-Nov",
"avgLow": "37°",
"avgHigh": "52°",
"recLow": "24° (1996)",
"recHigh": "69° (1956)",
"index": 320,
"max": null,
"min": null
},
{
"date": "17-Nov",
"avgLow": "37°",
"avgHigh": "52°",
"recLow": "24° (1959)",
"recHigh": "70° (1953)",
"index": 321,
"max": null,
"min": null
},
{
"date": "18-Nov",
"avgLow": "37°",
"avgHigh": "51°",
"recLow": "19° (1959)",
"recHigh": "70° (1953)",
"index": 322,
"max": null,
"min": null
},
{
"date": "19-Nov",
"avgLow": "36°",
"avgHigh": "51°",
"recLow": "23° (1949)",
"recHigh": "66° (1953)",
"index": 323,
"max": null,
"min": null
},
{
"date": "20-Nov",
"avgLow": "36°",
"avgHigh": "51°",
"recLow": "20° (1986)",
"recHigh": "75° (1985)",
"index": 324,
"max": null,
"min": null
},
{
"date": "21-Nov",
"avgLow": "36°",
"avgHigh": "50°",
"recLow": "16° (1987)",
"recHigh": "64° (1956)",
"index": 325,
"max": null,
"min": null
},
{
"date": "22-Nov",
"avgLow": "36°",
"avgHigh": "50°",
"recLow": "16° (1987)",
"recHigh": "66° (1973)",
"index": 326,
"max": null,
"min": null
},
{
"date": "23-Nov",
"avgLow": "35°",
"avgHigh": "50°",
"recLow": "22° (1972)",
"recHigh": "65° (1963)",
"index": 327,
"max": null,
"min": null
},
{
"date": "24-Nov",
"avgLow": "35°",
"avgHigh": "49°",
"recLow": "21° (1956)",
"recHigh": "65° (1979)",
"index": 328,
"max": null,
"min": null
},
{
"date": "25-Nov",
"avgLow": "35°",
"avgHigh": "49°",
"recLow": "23° (1970)",
"recHigh": "66° (1979)",
"index": 329,
"max": null,
"min": null
},
{
"date": "26-Nov",
"avgLow": "34°",
"avgHigh": "49°",
"recLow": "16° (1955)",
"recHigh": "60° (1979)",
"index": 330,
"max": null,
"min": null
},
{
"date": "27-Nov",
"avgLow": "34°",
"avgHigh": "48°",
"recLow": "21° (1949)",
"recHigh": "62° (1959)",
"index": 331,
"max": null,
"min": null
},
{
"date": "28-Nov",
"avgLow": "33°",
"avgHigh": "48°",
"recLow": "19° (1951)",
"recHigh": "68° (1973)",
"index": 332,
"max": null,
"min": null
},
{
"date": "29-Nov",
"avgLow": "33°",
"avgHigh": "47°",
"recLow": "14° (1955)",
"recHigh": "66° (1994)",
"index": 333,
"max": null,
"min": null
},
{
"date": "30-Nov",
"avgLow": "33°",
"avgHigh": "47°",
"recLow": "16° (1976)",
"recHigh": "59° (1962)",
"index": 334,
"max": null,
"min": null
},
{
"date": "1-Dec",
"avgLow": "32°",
"avgHigh": "47°",
"recLow": "18° (1989)",
"recHigh": "63° (1962)",
"index": 335,
"max": null,
"min": null
},
{
"date": "2-Dec",
"avgLow": "32°",
"avgHigh": "46°",
"recLow": "15° (1989)",
"recHigh": "65° (1970)",
"index": 336,
"max": null,
"min": null
},
{
"date": "3-Dec",
"avgLow": "32°",
"avgHigh": "46°",
"recLow": "9° (1976)",
"recHigh": "62° (1970)",
"index": 337,
"max": null,
"min": null
},
{
"date": "4-Dec",
"avgLow": "31°",
"avgHigh": "46°",
"recLow": "6° (1989)",
"recHigh": "70° (1982)",
"index": 338,
"max": null,
"min": null
},
{
"date": "5-Dec",
"avgLow": "31°",
"avgHigh": "45°",
"recLow": "14° (1980)",
"recHigh": "65° (1973)",
"index": 339,
"max": null,
"min": null
},
{
"date": "6-Dec",
"avgLow": "31°",
"avgHigh": "45°",
"recLow": "13° (1980)",
"recHigh": "68° (1982)",
"index": 340,
"max": null,
"min": null
},
{
"date": "7-Dec",
"avgLow": "30°",
"avgHigh": "45°",
"recLow": "15° (1954)",
"recHigh": "66° (1956)",
"index": 341,
"max": null,
"min": null
},
{
"date": "8-Dec",
"avgLow": "30°",
"avgHigh": "44°",
"recLow": "15° (1989)",
"recHigh": "63° (1966)",
"index": 342,
"max": null,
"min": null
},
{
"date": "9-Dec",
"avgLow": "30°",
"avgHigh": "44°",
"recLow": "15° (1960)",
"recHigh": "65° (1966)",
"index": 343,
"max": null,
"min": null
},
{
"date": "10-Dec",
"avgLow": "29°",
"avgHigh": "44°",
"recLow": "9° (1968)",
"recHigh": "64° (1966)",
"index": 344,
"max": null,
"min": null
},
{
"date": "11-Dec",
"avgLow": "29°",
"avgHigh": "43°",
"recLow": "10° (1988)",
"recHigh": "65° (1971)",
"index": 345,
"max": null,
"min": null
},
{
"date": "12-Dec",
"avgLow": "29°",
"avgHigh": "43°",
"recLow": "6° (1988)",
"recHigh": "62° (1979)",
"index": 346,
"max": null,
"min": null
},
{
"date": "13-Dec",
"avgLow": "29°",
"avgHigh": "43°",
"recLow": "6° (1960)",
"recHigh": "59° (1949)",
"index": 347,
"max": null,
"min": null
},
{
"date": "14-Dec",
"avgLow": "28°",
"avgHigh": "42°",
"recLow": "10° (1989)",
"recHigh": "58° (1975)",
"index": 348,
"max": null,
"min": null
},
{
"date": "15-Dec",
"avgLow": "28°",
"avgHigh": "42°",
"recLow": "9° (1980)",
"recHigh": "61° (1975)",
"index": 349,
"max": null,
"min": null
},
{
"date": "16-Dec",
"avgLow": "28°",
"avgHigh": "42°",
"recLow": "11° (1961)",
"recHigh": "64° (1971)",
"index": 350,
"max": null,
"min": null
},
{
"date": "17-Dec",
"avgLow": "28°",
"avgHigh": "41°",
"recLow": "10° (1951)",
"recHigh": "58° (1984)",
"index": 351,
"max": null,
"min": null
},
{
"date": "18-Dec",
"avgLow": "27°",
"avgHigh": "41°",
"recLow": "11° (1980)",
"recHigh": "58° (1966)",
"index": 352,
"max": null,
"min": null
},
{
"date": "19-Dec",
"avgLow": "27°",
"avgHigh": "41°",
"recLow": "7° (1980)",
"recHigh": "54° (1996)",
"index": 353,
"max": null,
"min": null
},
{
"date": "20-Dec",
"avgLow": "27°",
"avgHigh": "41°",
"recLow": "4° (1980)",
"recHigh": "56° (1957)",
"index": 354,
"max": null,
"min": null
},
{
"date": "21-Dec",
"avgLow": "27°",
"avgHigh": "40°",
"recLow": "6° (1955)",
"recHigh": "59° (1957)",
"index": 355,
"max": null,
"min": null
},
{
"date": "22-Dec",
"avgLow": "26°",
"avgHigh": "40°",
"recLow": "4° (1989)",
"recHigh": "60° (1949)",
"index": 356,
"max": null,
"min": null
},
{
"date": "23-Dec",
"avgLow": "26°",
"avgHigh": "40°",
"recLow": "0° (1989)",
"recHigh": "59° (1949)",
"index": 357,
"max": null,
"min": null
},
{
"date": "24-Dec",
"avgLow": "26°",
"avgHigh": "40°",
"recLow": "5° (1989)",
"recHigh": "56° (1988)",
"index": 358,
"max": null,
"min": null
},
{
"date": "25-Dec",
"avgLow": "26°",
"avgHigh": "39°",
"recLow": "0° (1983)",
"recHigh": "62° (1982)",
"index": 359,
"max": null,
"min": null
},
{
"date": "26-Dec",
"avgLow": "25°",
"avgHigh": "39°",
"recLow": "1° (1980)",
"recHigh": "62° (1982)",
"index": 360,
"max": null,
"min": null
},
{
"date": "27-Dec",
"avgLow": "25°",
"avgHigh": "39°",
"recLow": "5° (1948)",
"recHigh": "60° (1973)",
"index": 361,
"max": null,
"min": null
},
{
"date": "28-Dec",
"avgLow": "25°",
"avgHigh": "39°",
"recLow": "7° (1950)",
"recHigh": "64° (1982)",
"index": 362,
"max": null,
"min": null
},
{
"date": "29-Dec",
"avgLow": "25°",
"avgHigh": "38°",
"recLow": "8° (1993)",
"recHigh": "67° (1984)",
"index": 363,
"max": null,
"min": null
},
{
"date": "30-Dec",
"avgLow": "25°",
"avgHigh": "38°",
"recLow": "2° (1962)",
"recHigh": "59° (1984)",
"index": 364,
"max": null,
"min": null
},
{
"date": "31-Dec",
"avgLow": "24°",
"avgHigh": "38°",
"recLow": "2° (1962)",
"recHigh": "61° (1965)",
"index": 365,
"max": null,
"min": null
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment