diff --git a/examples/app/weather/README.md b/examples/app/weather/README.md new file mode 100644 index 00000000000..a5cab8f2104 --- /dev/null +++ b/examples/app/weather/README.md @@ -0,0 +1,7 @@ +This example shows the daily record, average, and actual temperatures for three +cities (Austin, Boston, Seattle) in 2015. The default view includes a discrete +graph of the temperatures, but a smoothed representation can be selected. + +To run the script, execute: + +>> bokeh serve --show weather.py diff --git a/examples/app/weather/data/2015_weather.csv b/examples/app/weather/data/2015_weather.csv new file mode 100644 index 00000000000..aef3c15fa9a --- /dev/null +++ b/examples/app/weather/data/2015_weather.csv @@ -0,0 +1,1099 @@ +airport,date,actual_max_temp,average_max_temp,record_max_temp,actual_min_temp,average_min_temp,record_min_temp +BOS,2015-06-10,82,74,96,62,58,45 +BOS,2015-04-28,64,60,93,42,45,30 +SEA,2015-02-03,50,49,63,42,37,8 +SEA,2015-11-28,45,48,59,27,37,17 +SEA,2015-11-27,49,48,58,29,38,19 +AUS,2015-06-26,92,94,106,74,71,62 +BOS,2015-11-15,54,52,78,37,38,17 +BOS,2015-11-26,59,48,67,38,35,12 +SEA,2015-03-23,52,55,68,42,40,28 +BOS,2015-02-08,29,38,66,13,24,-12 +SEA,2015-06-15,86,70,88,61,52,43 +BOS,2015-05-23,65,68,93,44,52,40 +AUS,2015-06-17,87,93,104,67,70,62 +BOS,2015-02-19,30,40,65,10,25,4 +BOS,2015-11-04,60,55,78,49,41,21 +SEA,2015-08-27,85,75,88,58,55,44 +BOS,2015-05-14,69,65,86,49,49,37 +AUS,2015-04-17,74,80,100,65,55,31 +BOS,2015-02-22,39,40,66,28,26,2 +AUS,2015-04-02,83,77,91,67,51,38 +SEA,2015-08-05,74,77,93,54,57,49 +BOS,2015-07-15,82,82,98,67,66,54 +BOS,2015-03-14,39,45,76,31,30,12 +SEA,2015-05-05,58,63,86,45,45,36 +AUS,2015-07-28,99,96,104,73,72,68 +AUS,2015-02-28,37,68,87,31,42,24 +BOS,2015-07-04,72,81,104,62,64,53 +BOS,2015-03-05,39,42,72,18,28,-4 +SEA,2015-12-24,42,45,62,36,35,16 +AUS,2015-02-17,54,65,92,30,40,22 +AUS,2015-05-29,87,90,98,64,67,54 +BOS,2015-10-16,61,61,88,50,46,30 +AUS,2015-02-02,47,63,85,33,37,8 +SEA,2015-12-22,46,45,57,37,35,14 +BOS,2015-08-05,85,81,100,65,66,54 +SEA,2015-06-18,76,70,94,57,52,43 +BOS,2015-06-17,69,77,95,59,60,48 +AUS,2015-12-19,67,63,84,28,36,24 +AUS,2015-06-04,89,91,99,63,69,58 +BOS,2015-06-20,75,78,98,58,61,47 +SEA,2015-05-14,64,65,87,49,47,36 +SEA,2015-11-15,48,51,62,36,40,6 +SEA,2015-05-23,61,66,90,53,49,37 +AUS,2015-08-26,95,95,103,69,70,60 +SEA,2015-09-03,65,74,92,51,54,45 +SEA,2015-01-27,52,48,58,47,37,11 +SEA,2015-09-16,68,71,91,50,52,44 +SEA,2015-04-14,53,58,83,37,42,33 +BOS,2015-10-15,62,62,86,47,47,31 +AUS,2015-06-10,92,92,100,68,70,57 +BOS,2015-10-04,56,66,86,51,51,34 +AUS,2015-06-01,87,90,100,60,68,56 +AUS,2015-10-23,80,80,92,70,54,38 +SEA,2015-08-15,71,77,96,57,56,47 +SEA,2015-10-28,57,56,66,52,44,30 +AUS,2015-09-09,93,92,100,73,67,54 +AUS,2015-08-23,99,96,105,72,71,63 +SEA,2015-07-23,79,77,99,58,56,47 +SEA,2015-01-11,49,47,59,45,37,12 +AUS,2015-07-21,95,96,102,71,72,66 +AUS,2015-02-23,37,66,94,30,41,24 +SEA,2015-09-25,60,68,85,55,50,36 +BOS,2015-07-03,76,81,102,63,64,51 +AUS,2015-02-18,64,65,89,25,40,25 +SEA,2015-03-06,59,52,68,38,38,26 +AUS,2015-01-19,72,62,86,29,36,14 +AUS,2015-07-07,92,94,104,77,71,64 +AUS,2015-02-09,81,64,87,45,38,23 +SEA,2015-03-13,63,53,70,46,39,28 +BOS,2015-03-22,39,47,83,21,33,8 +BOS,2015-09-14,72,73,92,57,58,40 +AUS,2015-07-12,93,95,106,69,72,64 +BOS,2015-08-02,88,81,102,68,66,54 +BOS,2015-09-05,73,76,93,58,61,48 +BOS,2015-04-01,47,50,76,30,36,13 +AUS,2015-12-10,79,64,83,45,38,18 +SEA,2015-11-29,35,48,59,28,37,18 +SEA,2015-10-06,65,63,78,50,48,37 +AUS,2015-01-28,80,62,80,36,37,18 +SEA,2015-12-09,54,46,61,46,36,18 +BOS,2015-06-30,75,80,95,60,64,52 +SEA,2015-05-24,64,66,89,52,49,37 +BOS,2015-09-27,64,68,86,48,53,37 +SEA,2015-01-20,50,48,64,38,37,16 +AUS,2015-06-20,84,93,103,71,71,63 +BOS,2015-01-25,38,36,59,19,22,-5 +SEA,2015-10-16,68,60,70,48,46,35 +SEA,2015-01-31,45,49,61,38,37,0 +BOS,2015-10-21,61,60,82,53,45,30 +SEA,2015-10-09,67,62,79,54,47,35 +AUS,2015-11-23,64,69,87,27,43,27 +SEA,2015-04-04,55,57,75,39,41,31 +AUS,2015-08-07,99,97,106,74,72,70 +BOS,2015-12-22,60,39,62,48,26,1 +BOS,2015-10-03,54,66,85,49,51,35 +AUS,2015-03-29,82,75,95,53,50,30 +AUS,2015-10-28,81,78,89,51,52,33 +BOS,2015-02-04,38,37,64,14,23,-2 +BOS,2015-12-15,61,41,66,48,28,-2 +BOS,2015-05-07,79,63,95,53,47,37 +AUS,2015-03-30,80,76,91,61,50,31 +AUS,2015-10-31,73,77,90,63,51,36 +SEA,2015-01-09,50,46,56,38,37,13 +BOS,2015-02-15,20,39,61,-2,25,-14 +BOS,2015-11-06,73,55,73,62,41,21 +AUS,2015-03-07,60,69,90,34,44,25 +SEA,2015-01-18,57,48,60,45,37,9 +AUS,2015-07-26,96,96,106,70,72,69 +SEA,2015-02-24,52,51,62,36,37,24 +BOS,2015-01-12,38,36,61,33,22,-10 +AUS,2015-10-29,82,78,88,47,52,33 +BOS,2015-08-25,81,78,96,67,64,46 +BOS,2015-01-07,26,36,63,4,23,-2 +AUS,2015-08-29,94,95,108,65,70,62 +AUS,2015-07-08,90,95,105,76,72,68 +SEA,2015-05-09,80,63,81,49,46,38 +BOS,2015-07-24,81,82,98,66,66,54 +BOS,2015-03-25,49,48,78,28,34,10 +AUS,2015-05-16,88,87,97,66,64,48 +AUS,2015-07-19,96,96,106,74,72,64 +AUS,2015-12-06,69,65,83,38,39,19 +AUS,2015-04-25,91,82,93,66,57,42 +AUS,2015-05-25,84,89,100,66,66,58 +BOS,2015-04-06,42,52,82,36,38,20 +BOS,2015-08-16,90,80,97,67,65,47 +BOS,2015-04-13,69,55,86,41,40,20 +AUS,2015-01-21,56,62,81,48,37,17 +AUS,2015-12-20,68,63,84,46,36,24 +SEA,2015-02-13,60,50,60,44,37,18 +SEA,2015-10-12,65,61,72,51,47,40 +AUS,2015-01-30,58,63,88,44,37,0 +AUS,2015-12-31,55,62,82,36,36,18 +SEA,2015-02-06,58,49,64,50,37,18 +BOS,2015-10-01,59,67,90,54,52,36 +BOS,2015-11-10,53,53,78,44,40,25 +SEA,2015-06-07,88,68,90,60,51,44 +AUS,2015-08-13,102,97,103,75,72,59 +AUS,2015-08-24,98,96,107,72,71,61 +BOS,2015-04-22,67,58,88,43,43,26 +SEA,2015-10-30,63,55,66,53,43,30 +SEA,2015-11-03,51,54,74,41,43,29 +AUS,2015-11-11,87,73,86,64,47,26 +AUS,2015-03-26,69,75,91,47,49,26 +BOS,2015-12-12,61,42,68,49,29,2 +SEA,2015-06-12,68,69,85,53,51,38 +AUS,2015-09-07,99,93,102,70,68,50 +BOS,2015-04-09,37,53,85,33,39,24 +SEA,2015-08-22,80,76,86,54,56,45 +AUS,2015-09-12,90,91,102,63,67,56 +AUS,2015-04-10,71,79,93,55,53,34 +SEA,2015-07-01,90,73,94,63,54,45 +SEA,2015-08-19,89,76,89,61,56,48 +AUS,2015-03-11,59,70,92,54,45,20 +AUS,2015-09-29,93,87,99,65,61,45 +SEA,2015-07-10,70,75,90,62,55,46 +BOS,2015-03-11,57,44,67,37,30,9 +AUS,2015-07-27,97,96,104,73,72,67 +AUS,2015-05-19,87,87,97,73,65,46 +SEA,2015-11-30,42,48,59,25,37,21 +AUS,2015-01-04,51,62,80,29,36,15 +SEA,2015-12-21,42,45,56,37,35,12 +AUS,2015-10-11,95,84,95,59,58,43 +SEA,2015-04-22,60,60,78,41,43,35 +AUS,2015-01-15,58,62,78,35,36,17 +AUS,2015-08-28,96,95,110,64,70,61 +BOS,2015-06-07,67,73,97,53,57,45 +SEA,2015-05-31,77,67,90,53,50,35 +BOS,2015-07-09,69,81,99,63,65,53 +AUS,2015-08-19,97,96,106,76,71,65 +BOS,2015-06-12,79,75,96,65,59,46 +AUS,2015-09-21,94,89,102,69,64,54 +SEA,2015-11-25,45,49,59,32,38,18 +BOS,2015-06-25,81,79,97,64,62,48 +BOS,2015-11-17,45,51,76,33,38,14 +SEA,2015-06-20,77,71,88,55,53,43 +SEA,2015-11-12,52,52,60,41,41,13 +BOS,2015-11-20,61,50,74,44,37,15 +SEA,2015-09-19,70,70,82,58,52,40 +AUS,2015-12-29,50,62,80,35,36,20 +SEA,2015-09-04,65,74,87,50,54,42 +AUS,2015-06-22,87,93,103,71,71,64 +BOS,2015-06-22,77,78,97,61,62,46 +SEA,2015-03-25,58,55,64,45,40,31 +BOS,2015-10-22,73,59,83,52,45,28 +BOS,2015-05-25,81,69,92,58,53,40 +AUS,2015-06-15,89,92,105,70,70,62 +BOS,2015-12-06,59,44,72,36,32,8 +SEA,2015-08-29,72,75,91,56,55,44 +AUS,2015-03-09,54,70,86,48,45,29 +BOS,2015-05-16,71,66,93,55,50,34 +AUS,2015-04-19,89,81,99,55,56,40 +BOS,2015-02-24,19,41,70,2,26,-7 +AUS,2015-03-18,78,72,90,60,47,31 +SEA,2015-01-05,54,46,55,49,36,15 +SEA,2015-08-03,83,77,90,63,57,46 +BOS,2015-01-09,30,36,64,19,22,-4 +BOS,2015-07-13,77,82,97,67,66,56 +SEA,2015-07-24,73,77,95,56,56,43 +SEA,2015-05-07,69,63,81,43,46,33 +AUS,2015-02-26,52,67,88,26,42,23 +SEA,2015-02-28,54,51,68,38,38,24 +BOS,2015-03-07,38,43,69,17,29,2 +AUS,2015-06-19,84,93,103,71,70,58 +AUS,2015-02-15,67,65,83,50,39,23 +SEA,2015-03-03,51,52,69,32,38,20 +BOS,2015-03-30,45,50,81,30,35,10 +AUS,2015-02-04,57,63,84,42,38,20 +BOS,2015-07-27,86,82,98,68,66,52 +BOS,2015-03-29,42,49,86,26,35,4 +BOS,2015-09-11,73,74,99,63,59,40 +BOS,2015-08-07,73,81,98,64,66,55 +AUS,2015-10-16,90,82,92,52,56,41 +AUS,2015-04-29,75,83,93,49,59,42 +BOS,2015-09-08,96,75,96,72,60,48 +SEA,2015-10-18,59,59,70,55,45,32 +AUS,2015-10-08,88,85,96,63,58,44 +SEA,2015-04-30,63,61,85,46,44,32 +SEA,2015-05-12,60,64,81,51,47,38 +SEA,2015-12-02,51,47,57,40,37,25 +AUS,2015-10-03,85,86,96,51,60,49 +SEA,2015-05-21,78,66,93,53,48,39 +BOS,2015-11-29,44,47,69,32,34,8 +SEA,2015-06-26,89,72,90,64,53,46 +AUS,2015-06-08,92,91,99,64,69,58 +AUS,2015-06-30,91,94,100,71,71,63 +SEA,2015-01-25,63,48,63,45,37,7 +BOS,2015-01-28,24,36,63,13,22,-5 +SEA,2015-09-14,62,71,93,51,53,46 +SEA,2015-04-16,64,59,81,39,42,34 +SEA,2015-11-02,52,54,72,45,43,31 +BOS,2015-10-13,72,62,87,55,47,30 +SEA,2015-04-03,52,56,71,41,41,32 +BOS,2015-12-09,46,43,70,37,31,-8 +AUS,2015-08-02,98,97,106,67,72,64 +BOS,2015-10-06,64,65,86,48,50,31 +AUS,2015-06-03,89,90,98,62,68,58 +AUS,2015-10-25,65,80,92,58,53,32 +SEA,2015-08-17,81,76,96,57,56,45 +BOS,2015-05-02,50,62,91,39,46,33 +AUS,2015-08-12,103,97,104,74,72,64 +SEA,2015-01-02,42,46,56,32,36,6 +BOS,2015-10-17,56,61,89,40,46,27 +SEA,2015-01-17,56,47,56,38,37,15 +AUS,2015-07-23,98,96,103,74,72,62 +AUS,2015-02-21,78,66,101,55,41,30 +SEA,2015-09-23,69,68,83,47,51,40 +SEA,2015-02-23,55,51,61,33,37,27 +SEA,2015-03-04,55,52,68,31,38,11 +BOS,2016-01-01,41,37,70,33,24,-3 +AUS,2015-07-05,91,94,105,73,71,64 +SEA,2015-03-15,51,54,65,43,39,30 +BOS,2015-03-20,32,46,79,23,32,10 +BOS,2015-09-16,81,72,96,65,57,42 +AUS,2015-07-14,95,95,105,73,72,67 +AUS,2015-04-20,72,81,93,53,56,33 +BOS,2015-09-03,82,76,97,70,62,47 +BOS,2015-04-03,59,51,77,45,37,21 +BOS,2015-06-03,56,72,98,47,56,44 +AUS,2015-12-16,65,63,80,37,37,18 +SEA,2015-10-04,73,64,76,50,48,38 +BOS,2015-04-16,60,56,87,41,41,28 +AUS,2015-12-25,73,63,91,51,36,11 +SEA,2015-10-15,70,60,77,49,46,35 +AUS,2015-09-23,93,89,101,62,63,45 +SEA,2015-07-28,82,77,97,57,57,47 +BOS,2015-01-27,19,36,63,14,22,-6 +BOS,2015-04-30,55,61,86,44,45,31 +SEA,2015-06-02,64,68,94,55,50,40 +SEA,2015-10-29,59,55,65,54,43,31 +AUS,2015-08-14,99,97,104,74,72,62 +AUS,2015-08-22,97,96,103,74,71,65 +BOS,2015-04-27,57,60,92,45,44,33 +AUS,2015-08-05,99,97,105,77,72,64 +SEA,2015-10-24,59,57,72,48,44,33 +AUS,2015-11-16,76,71,84,66,45,26 +SEA,2015-06-28,83,72,91,65,54,45 +SEA,2015-03-29,60,56,78,48,41,24 +BOS,2015-02-02,31,37,55,10,23,-5 +BOS,2015-12-17,52,41,64,39,28,-4 +BOS,2015-05-05,70,63,89,54,47,35 +BOS,2015-10-24,49,59,80,38,44,30 +BOS,2015-02-17,23,39,61,10,25,-11 +AUS,2015-03-05,46,69,93,26,44,17 +AUS,2015-09-19,93,90,101,67,64,47 +BOS,2015-02-28,31,41,63,12,27,2 +AUS,2015-03-14,77,71,93,48,46,29 +BOS,2015-01-14,25,35,69,14,22,-8 +AUS,2015-07-31,101,97,103,77,72,64 +BOS,2015-11-02,64,56,83,51,42,26 +BOS,2015-01-05,50,36,63,17,23,-4 +AUS,2015-05-05,83,84,101,61,60,44 +SEA,2015-12-19,47,45,56,37,35,17 +BOS,2015-07-22,84,82,103,69,66,55 +AUS,2015-05-14,86,86,96,66,63,45 +AUS,2015-01-01,39,62,84,35,36,24 +AUS,2015-04-27,84,83,94,60,58,45 +AUS,2015-05-23,86,88,99,64,66,50 +BOS,2015-04-08,42,53,85,34,38,21 +BOS,2015-08-14,86,80,101,63,65,52 +BOS,2015-07-29,92,82,97,71,66,55 +BOS,2015-04-11,57,54,78,42,39,25 +AUS,2015-01-27,80,62,84,35,37,21 +SEA,2015-02-11,55,50,62,42,37,23 +BOS,2015-10-20,66,60,79,45,45,32 +BOS,2015-11-07,69,54,77,50,40,25 +BOS,2015-11-12,57,53,76,46,39,25 +BOS,2015-09-22,68,70,94,56,55,35 +BOS,2015-11-25,44,48,70,30,35,13 +AUS,2015-11-28,45,67,88,40,41,25 +BOS,2015-04-20,51,57,89,41,42,21 +SEA,2015-09-09,76,73,89,57,53,40 +AUS,2015-03-20,73,73,92,59,48,24 +BOS,2015-05-31,77,71,96,48,55,39 +AUS,2015-11-02,81,77,87,57,50,29 +SEA,2015-06-10,78,69,83,52,51,44 +BOS,2015-05-20,66,67,91,51,51,40 +SEA,2015-08-24,75,76,88,54,55,45 +AUS,2015-09-10,96,92,100,73,67,52 +AUS,2015-04-12,82,79,92,65,54,38 +BOS,2015-02-21,34,40,63,4,26,-1 +BOS,2015-06-04,58,72,96,49,56,44 +AUS,2015-03-13,76,71,91,50,46,25 +AUS,2015-04-07,86,78,95,65,52,28 +SEA,2015-07-12,79,75,97,62,55,47 +BOS,2015-04-05,49,52,84,32,37,11 +AUS,2015-05-02,81,84,96,50,60,47 +BOS,2015-03-17,51,46,70,28,31,10 +SEA,2015-12-10,53,46,66,43,36,16 +AUS,2015-10-06,88,85,95,57,59,42 +BOS,2015-03-02,37,42,66,26,28,0 +AUS,2015-01-06,68,62,84,31,36,20 +AUS,2015-12-09,75,64,81,43,38,23 +AUS,2015-02-12,60,64,83,40,39,16 +AUS,2015-10-13,93,83,98,55,57,39 +AUS,2015-01-13,42,62,78,36,36,18 +BOS,2015-04-18,60,57,94,43,42,26 +AUS,2015-12-30,56,62,82,38,36,19 +SEA,2015-12-26,40,45,62,32,36,22 +BOS,2015-06-14,74,76,96,62,59,46 +BOS,2015-10-30,61,57,78,42,42,28 +BOS,2015-11-08,56,54,74,44,40,25 +SEA,2015-11-23,44,49,58,32,38,10 +BOS,2015-06-27,68,79,96,57,63,52 +SEA,2015-12-29,45,45,54,33,36,8 +BOS,2015-06-09,78,74,96,64,58,47 +BOS,2015-11-19,55,50,75,43,37,14 +SEA,2015-11-10,52,52,63,39,41,30 +BOS,2015-11-22,49,49,74,36,36,9 +SEA,2015-09-06,61,73,90,53,54,45 +AUS,2015-11-18,72,70,83,38,45,26 +SEA,2015-06-24,78,72,92,61,53,45 +SEA,2015-09-13,69,72,87,55,53,39 +SEA,2015-03-27,65,55,71,48,41,26 +AUS,2015-11-09,75,74,88,50,48,26 +SEA,2016-01-01,46,46,58,28,36,10 +BOS,2015-05-27,85,70,96,65,53,39 +AUS,2015-06-13,94,92,102,73,70,57 +AUS,2015-10-19,85,82,93,44,55,42 +BOS,2015-12-04,48,45,70,38,32,2 +BOS,2015-12-28,38,38,63,29,24,-2 +BOS,2015-05-10,89,64,94,59,48,34 +AUS,2015-06-06,90,91,103,66,69,59 +BOS,2015-02-26,22,41,68,17,27,-1 +SEA,2015-08-10,84,77,98,61,56,46 +SEA,2015-11-09,50,52,64,41,41,27 +BOS,2015-05-09,71,64,95,46,48,35 +BOS,2015-10-26,52,58,84,43,43,25 +SEA,2015-07-19,95,77,95,63,56,48 +SEA,2015-01-07,46,46,59,42,37,19 +SEA,2015-08-01,92,77,92,60,57,50 +BOS,2015-07-11,83,82,100,68,65,54 +BOS,2015-03-18,30,46,74,22,32,5 +SEA,2015-01-12,52,47,59,40,37,13 +AUS,2015-02-24,37,67,86,30,41,24 +SEA,2015-10-31,60,55,71,53,43,30 +BOS,2015-03-09,48,43,72,26,29,5 +SEA,2015-03-01,52,52,62,34,38,23 +BOS,2015-09-28,78,68,90,56,53,37 +AUS,2015-07-02,89,94,104,69,71,63 +AUS,2015-02-06,58,63,79,37,38,21 +SEA,2015-03-10,56,53,68,41,39,20 +SEA,2015-07-27,74,77,95,54,57,46 +BOS,2015-09-13,66,74,93,63,59,45 +BOS,2015-08-01,90,81,98,68,66,54 +BOS,2015-08-23,71,79,96,67,64,49 +BOS,2015-08-18,87,80,95,71,65,53 +BOS,2015-12-07,56,44,76,37,31,4 +SEA,2015-05-10,67,64,80,52,46,38 +SEA,2015-12-04,51,47,57,43,36,21 +SEA,2015-11-19,48,50,60,37,39,25 +SEA,2015-05-27,76,67,89,53,49,37 +SEA,2015-12-31,42,46,56,28,36,13 +SEA,2015-01-23,54,48,56,47,37,16 +SEA,2015-06-30,87,73,96,59,54,43 +BOS,2015-09-20,75,71,97,57,56,42 +SEA,2015-04-10,57,57,74,46,42,30 +SEA,2015-11-11,52,52,65,43,41,15 +SEA,2015-05-29,79,67,85,55,50,35 +BOS,2015-10-11,68,63,82,48,48,32 +SEA,2015-04-01,55,56,82,42,41,29 +BOS,2015-05-19,65,67,90,52,51,38 +AUS,2015-10-27,85,79,94,53,52,37 +BOS,2015-11-03,73,56,76,47,41,27 +BOS,2015-02-07,29,37,56,16,23,-5 +BOS,2015-12-18,52,40,61,39,27,-6 +AUS,2015-04-09,86,78,95,65,53,33 +SEA,2015-08-08,77,77,98,60,56,47 +SEA,2015-01-15,46,47,58,34,37,15 +AUS,2015-07-25,96,96,103,68,72,67 +SEA,2015-09-21,65,69,88,49,51,39 +SEA,2015-02-21,54,51,67,42,37,25 +BOS,2015-01-11,33,36,62,15,22,-4 +SEA,2015-11-07,54,53,62,49,42,31 +SEA,2015-09-30,65,66,82,50,49,36 +BOS,2015-07-30,91,82,98,74,66,52 +SEA,2015-03-17,56,54,65,40,40,27 +BOS,2015-03-26,56,48,79,38,34,13 +AUS,2015-05-13,71,86,94,63,63,48 +AUS,2015-07-16,94,95,106,69,72,62 +AUS,2015-12-05,66,65,86,30,39,19 +AUS,2015-04-22,79,81,94,66,56,39 +BOS,2015-09-01,79,77,96,69,62,50 +SEA,2015-04-28,60,61,76,48,44,31 +BOS,2015-08-13,82,80,100,66,65,53 +AUS,2015-12-14,74,64,83,40,37,22 +SEA,2015-10-02,60,65,79,50,49,35 +BOS,2015-04-14,65,55,81,52,40,26 +AUS,2015-12-23,82,63,82,46,36,6 +SEA,2015-02-16,59,50,59,42,37,13 +SEA,2015-05-28,82,67,92,54,50,38 +BOS,2015-06-18,76,77,94,57,60,47 +BOS,2015-01-30,34,36,63,19,22,-5 +BOS,2015-01-21,34,35,68,22,22,0 +SEA,2015-04-19,70,59,74,47,42,33 +AUS,2015-08-16,97,97,104,70,72,59 +AUS,2015-11-27,77,67,87,42,41,22 +SEA,2015-04-08,63,57,70,43,41,29 +BOS,2015-12-26,55,38,61,41,25,-4 +AUS,2015-11-14,67,72,88,55,46,25 +AUS,2015-03-25,80,74,88,61,49,28 +AUS,2015-06-28,90,94,105,73,71,61 +AUS,2015-08-30,92,95,104,70,70,62 +BOS,2015-12-11,58,43,68,43,30,-2 +AUS,2015-11-05,87,75,90,73,49,27 +AUS,2015-09-02,93,94,106,65,69,63 +SEA,2015-11-22,50,49,58,35,39,14 +BOS,2015-02-11,25,38,62,14,24,-4 +BOS,2015-08-28,75,78,99,64,63,47 +AUS,2015-03-03,59,68,85,41,43,19 +AUS,2015-09-17,94,90,105,73,65,50 +SEA,2015-07-04,92,74,91,59,54,43 +AUS,2015-03-16,75,72,85,47,47,32 +BOS,2015-01-16,38,35,64,15,22,-7 +SEA,2015-07-15,79,76,92,58,56,49 +BOS,2015-01-03,37,37,64,22,23,-1 +AUS,2015-05-07,84,85,102,72,61,44 +AUS,2015-10-01,93,86,98,65,61,45 +SEA,2015-12-17,44,45,57,39,35,11 +BOS,2015-07-20,92,82,99,70,66,54 +BOS,2015-06-19,86,77,96,63,61,47 +AUS,2015-01-03,60,62,86,34,36,17 +AUS,2015-12-02,68,66,85,40,40,25 +SEA,2015-10-23,55,57,73,45,45,32 +AUS,2015-05-21,75,88,97,62,65,46 +SEA,2015-04-27,77,61,81,51,44,31 +AUS,2015-01-16,63,62,82,27,36,19 +AUS,2015-05-30,87,90,100,68,68,53 +BOS,2015-06-02,49,72,96,46,55,42 +AUS,2015-01-25,72,62,89,32,37,19 +AUS,2015-08-21,90,96,104,70,71,66 +SEA,2015-02-02,52,49,64,41,37,8 +SEA,2015-11-26,49,48,61,30,38,25 +BOS,2015-06-28,59,80,97,52,63,52 +BOS,2015-11-14,47,52,71,37,39,16 +BOS,2015-08-26,85,78,99,69,63,50 +BOS,2015-11-27,64,48,72,48,35,8 +BOS,2015-12-05,53,45,66,39,32,4 +AUS,2015-03-22,77,74,98,52,48,30 +BOS,2015-09-26,63,69,95,50,54,34 +SEA,2015-03-20,57,54,69,48,40,26 +BOS,2015-02-09,25,38,61,14,24,-18 +SEA,2015-06-16,73,70,88,52,52,42 +BOS,2015-05-22,76,68,93,52,52,39 +SEA,2015-03-31,55,56,75,43,41,30 +BOS,2015-02-18,29,39,66,17,25,-4 +BOS,2015-12-03,52,46,69,41,33,0 +SEA,2015-08-26,83,75,91,57,55,46 +BOS,2015-05-15,67,66,93,48,50,36 +AUS,2015-04-14,77,80,95,55,54,30 +BOS,2015-02-23,33,40,65,4,26,-3 +AUS,2015-04-05,66,77,89,58,52,36 +SEA,2015-08-04,79,77,95,58,57,44 +BOS,2015-07-16,68,82,99,59,66,54 +BOS,2015-03-15,41,45,72,27,31,12 +SEA,2015-05-02,65,62,74,46,45,33 +AUS,2015-07-29,99,96,105,71,72,68 +AUS,2015-10-04,86,86,95,53,60,45 +BOS,2015-03-04,43,42,70,33,28,2 +AUS,2015-01-08,37,62,81,21,36,13 +SEA,2015-12-25,41,45,60,36,35,24 +AUS,2015-02-10,80,64,89,38,38,19 +BOS,2015-09-19,79,71,92,62,56,42 +AUS,2015-10-15,93,83,93,54,56,38 +AUS,2015-09-24,92,88,101,62,63,50 +AUS,2015-01-11,49,62,85,35,36,14 +AUS,2015-11-19,77,70,87,41,44,26 +AUS,2015-02-01,73,63,83,44,37,13 +AUS,2015-11-21,65,69,86,38,43,28 +SEA,2015-02-18,54,50,62,40,37,20 +BOS,2015-06-16,71,76,96,56,60,48 +SEA,2015-02-09,56,49,62,47,37,26 +AUS,2015-12-18,57,63,81,30,37,25 +SEA,2015-11-21,48,50,62,33,39,21 +BOS,2015-06-21,76,78,96,60,61,48 +SEA,2015-05-17,67,65,90,51,48,39 +AUS,2015-06-27,90,94,104,75,71,60 +SEA,2015-12-01,50,47,57,39,37,20 +SEA,2015-11-16,48,51,68,35,40,21 +AUS,2015-09-26,93,88,107,64,62,47 +BOS,2015-10-28,65,57,81,42,43,28 +SEA,2015-06-22,77,71,92,55,53,45 +SEA,2015-01-28,54,48,57,41,37,7 +SEA,2015-09-11,81,72,93,59,53,40 +SEA,2015-04-15,57,58,74,38,42,33 +BOS,2015-05-29,72,70,94,55,54,39 +AUS,2015-06-11,92,92,99,70,70,58 +AUS,2015-12-27,75,62,80,38,36,20 +BOS,2015-05-12,87,65,88,48,49,33 +BOS,2015-10-19,48,60,84,31,45,28 +AUS,2015-10-20,87,81,92,48,55,36 +SEA,2015-08-12,83,77,96,62,56,49 +SEA,2015-01-01,42,46,58,26,36,10 +SEA,2015-07-20,80,77,100,62,56,50 +SEA,2015-01-10,46,47,59,43,37,12 +AUS,2015-02-22,56,66,98,37,41,25 +SEA,2015-09-26,65,67,78,50,50,39 +BOS,2015-07-02,80,80,98,64,64,51 +SEA,2015-07-31,94,77,94,64,57,47 +SEA,2015-12-27,40,45,58,35,36,20 +AUS,2015-02-19,70,66,92,29,40,23 +SEA,2015-03-07,62,52,66,39,38,26 +AUS,2015-01-18,70,62,83,32,36,19 +SEA,2015-11-01,54,55,67,48,43,30 +AUS,2015-02-08,75,64,85,50,38,21 +SEA,2015-03-12,64,53,68,49,39,25 +BOS,2015-09-15,84,73,94,62,58,41 +AUS,2015-07-11,93,95,104,65,72,64 +BOS,2015-08-03,90,81,98,68,66,55 +SEA,2015-10-21,61,58,72,47,45,32 +BOS,2015-09-04,72,76,94,62,61,43 +AUS,2015-12-13,77,64,81,48,37,12 +AUS,2015-06-05,88,91,98,62,69,56 +SEA,2015-10-07,61,63,75,57,48,37 +AUS,2015-01-29,76,63,85,44,37,17 +SEA,2015-12-06,55,46,57,45,36,19 +SEA,2015-07-09,84,75,93,58,55,48 +SEA,2015-05-25,60,66,84,52,49,37 +AUS,2015-08-27,96,95,108,67,70,64 +SEA,2015-01-21,45,48,62,31,37,13 +BOS,2015-01-24,34,36,62,31,22,-13 +SEA,2015-04-12,56,58,79,42,42,33 +SEA,2015-01-30,47,49,59,34,37,7 +BOS,2015-12-30,37,37,63,25,24,-15 +AUS,2015-11-22,56,69,87,31,43,31 +SEA,2015-04-07,58,57,78,44,41,29 +AUS,2015-08-06,100,97,104,73,72,68 +BOS,2015-12-21,53,39,62,32,26,-5 +BOS,2015-10-02,54,66,88,50,51,34 +BOS,2015-09-24,74,70,90,58,54,39 +BOS,2015-02-05,36,37,65,7,23,-10 +BOS,2015-05-06,73,63,90,52,47,33 +AUS,2015-10-30,75,78,88,66,51,32 +BOS,2015-02-14,30,39,59,3,25,-3 +BOS,2015-07-18,78,82,98,64,66,54 +SEA,2015-07-06,85,74,94,60,55,45 +SEA,2015-02-27,50,51,70,44,37,20 +BOS,2015-01-13,35,36,63,15,22,-9 +SEA,2015-03-08,63,53,67,39,38,28 +BOS,2015-01-06,18,36,69,15,23,-10 +AUS,2015-05-08,83,85,97,70,61,48 +AUS,2015-07-09,93,95,104,68,72,67 +SEA,2015-03-19,60,54,63,47,40,27 +BOS,2015-03-24,35,48,72,20,33,6 +AUS,2015-05-11,77,86,98,67,62,44 +AUS,2015-07-18,96,95,103,74,72,67 +BOS,2015-08-08,76,81,96,61,66,52 +AUS,2015-12-07,69,65,81,35,39,17 +AUS,2015-04-24,84,82,94,68,57,41 +AUS,2015-05-26,88,89,96,64,67,58 +BOS,2015-04-07,42,53,90,36,38,16 +BOS,2015-08-11,72,80,99,64,65,54 +SEA,2015-05-19,71,65,88,53,48,38 +BOS,2015-04-12,68,54,85,39,40,20 +AUS,2015-01-22,53,62,83,40,37,20 +AUS,2015-12-21,74,63,81,50,36,22 +SEA,2015-02-14,58,50,63,44,37,22 +SEA,2015-10-11,64,61,83,51,47,37 +BOS,2015-04-29,54,61,85,48,45,31 +SEA,2015-02-05,56,49,62,47,37,14 +AUS,2015-06-21,87,93,102,71,71,58 +BOS,2015-01-23,37,36,68,24,22,-6 +SEA,2015-06-06,85,68,90,56,51,42 +AUS,2015-08-10,103,97,107,71,72,63 +SEA,2015-10-08,66,63,80,56,47,39 +AUS,2015-11-25,77,68,85,59,42,23 +BOS,2015-04-23,51,58,86,38,43,29 +AUS,2015-08-09,101,97,106,74,72,66 +AUS,2015-11-12,71,73,87,56,47,26 +AUS,2015-03-27,80,75,96,49,50,30 +BOS,2015-04-24,50,59,84,37,43,28 +BOS,2015-12-13,53,42,63,46,29,4 +SEA,2015-08-30,68,75,88,55,55,45 +SEA,2015-06-13,75,69,94,49,52,42 +AUS,2015-09-04,96,93,110,73,69,58 +BOS,2015-02-13,22,38,66,7,24,-3 +BOS,2015-11-05,76,55,79,50,41,17 +SEA,2015-08-21,72,76,88,58,56,46 +AUS,2015-03-01,43,68,88,35,43,25 +AUS,2015-09-15,92,91,99,69,66,56 +AUS,2015-04-11,70,79,92,59,53,42 +SEA,2015-07-02,93,73,92,64,54,43 +SEA,2015-09-28,70,67,84,49,50,38 +AUS,2015-03-10,64,70,93,47,45,28 +BOS,2015-01-18,51,35,63,20,22,-3 +SEA,2015-07-17,82,76,96,57,56,48 +BOS,2015-08-24,75,79,96,68,64,50 +BOS,2015-01-01,33,37,70,22,24,-3 +AUS,2015-05-01,83,83,95,48,59,42 +BOS,2015-03-12,43,44,71,25,30,7 +SEA,2015-10-19,63,58,72,54,45,28 +SEA,2015-12-15,44,45,63,34,35,19 +AUS,2015-05-18,88,87,95,71,64,51 +AUS,2015-01-05,51,62,78,24,36,14 +SEA,2015-06-27,92,72,92,63,53,45 +AUS,2015-10-10,89,84,93,65,58,43 +SEA,2015-04-21,63,59,76,44,43,29 +AUS,2015-01-14,41,62,79,38,36,11 +SEA,2015-05-30,73,67,87,50,50,36 +SEA,2015-06-19,75,70,92,56,52,43 +BOS,2015-06-11,88,75,98,64,58,46 +BOS,2015-10-09,72,64,87,52,49,32 +SEA,2015-11-24,44,49,59,37,38,14 +SEA,2015-11-06,60,53,65,47,42,30 +BOS,2015-11-16,61,51,76,39,38,12 +SEA,2015-11-13,56,51,62,49,41,14 +AUS,2015-09-30,93,87,97,66,61,46 +BOS,2015-11-21,48,50,74,38,37,10 +AUS,2015-08-25,99,95,104,71,71,61 +SEA,2015-09-05,69,74,88,48,54,44 +BOS,2015-11-30,38,47,69,28,34,-2 +SEA,2015-03-22,53,55,68,43,40,28 +SEA,2015-06-14,82,70,86,53,52,43 +BOS,2015-05-24,83,69,93,51,52,36 +AUS,2015-06-16,81,92,102,72,70,57 +SEA,2015-04-25,56,60,77,42,43,34 +BOS,2015-12-01,45,46,71,32,33,0 +SEA,2015-08-28,74,75,95,60,55,46 +BOS,2015-05-17,67,66,92,52,50,39 +AUS,2015-04-16,79,80,95,63,55,32 +BOS,2015-02-25,35,41,65,14,27,-6 +AUS,2015-09-25,92,88,108,67,63,50 +AUS,2015-04-03,85,77,89,66,51,35 +BOS,2015-10-27,54,58,85,38,43,25 +SEA,2015-08-02,87,77,89,61,57,46 +BOS,2015-01-08,19,36,67,-1,22,-6 +BOS,2015-07-14,82,82,100,65,66,55 +SEA,2015-07-25,70,77,94,58,56,47 +SEA,2015-05-04,63,62,85,45,45,33 +BOS,2015-07-05,83,81,101,61,65,52 +BOS,2015-03-06,24,43,70,9,28,-8 +AUS,2015-02-16,66,65,83,37,40,20 +AUS,2015-05-28,88,89,100,73,67,56 +BOS,2015-03-31,50,50,89,37,36,15 +AUS,2015-02-03,43,63,80,38,38,16 +BOS,2015-03-28,40,49,85,30,35,11 +BOS,2015-08-04,89,81,96,66,66,52 +BOS,2015-08-27,82,78,100,65,63,47 +AUS,2015-04-28,64,83,93,51,58,43 +AUS,2015-09-20,94,89,103,62,64,52 +BOS,2015-06-23,88,78,96,60,62,47 +SEA,2015-05-15,68,65,85,49,47,38 +SEA,2015-06-21,78,71,89,57,53,45 +SEA,2015-11-14,49,51,65,43,40,9 +SEA,2015-05-22,62,66,86,53,49,37 +SEA,2015-09-02,67,74,98,52,55,41 +SEA,2015-01-26,61,48,61,43,37,9 +AUS,2015-06-23,91,93,103,71,71,63 +SEA,2015-09-17,65,70,85,55,52,42 +SEA,2015-04-17,66,59,74,43,42,33 +BOS,2015-10-23,59,59,84,40,44,29 +BOS,2015-10-14,68,62,81,51,47,31 +SEA,2015-04-02,56,56,76,42,41,30 +BOS,2015-10-29,75,57,79,57,43,26 +BOS,2015-12-08,44,44,65,37,31,-4 +BOS,2015-10-05,61,65,87,48,50,28 +AUS,2015-06-02,88,90,100,64,68,56 +AUS,2015-10-22,85,81,92,70,54,41 +BOS,2015-12-20,41,40,63,31,27,-11 +SEA,2015-08-14,65,77,95,59,56,44 +AUS,2015-09-08,97,92,103,74,68,56 +SEA,2015-01-03,41,46,58,35,36,6 +SEA,2015-07-22,75,77,96,57,56,49 +SEA,2015-01-16,53,47,55,42,37,13 +AUS,2015-07-20,96,96,103,68,72,66 +AUS,2015-02-20,73,66,94,52,40,29 +SEA,2015-09-24,72,68,89,52,50,38 +SEA,2015-02-22,53,51,64,38,37,30 +AUS,2015-06-18,88,93,105,72,70,63 +SEA,2015-03-05,56,52,66,37,38,13 +AUS,2015-06-25,91,93,107,68,71,62 +AUS,2015-07-06,92,94,103,76,71,63 +SEA,2015-03-14,57,53,64,49,39,26 +BOS,2015-03-23,33,47,78,18,33,6 +BOS,2015-09-17,89,72,91,64,57,44 +AUS,2015-07-13,95,95,104,72,72,68 +AUS,2015-10-17,87,82,96,54,56,35 +BOS,2015-09-02,91,77,100,66,62,49 +AUS,2015-12-11,81,64,83,47,38,24 +SEA,2015-10-05,74,64,82,49,48,38 +SEA,2015-12-08,60,46,59,50,36,13 +SEA,2015-10-14,59,60,80,50,46,36 +AUS,2015-11-07,63,75,88,57,49,30 +AUS,2015-06-09,94,92,99,68,69,64 +BOS,2015-01-26,29,36,72,11,22,0 +SEA,2015-06-01,61,67,94,53,50,40 +AUS,2015-08-15,97,97,104,74,72,62 +AUS,2015-11-20,77,70,85,42,44,30 +SEA,2015-04-05,62,57,73,37,41,29 +AUS,2015-08-04,98,97,105,71,72,66 +BOS,2015-12-23,56,39,67,45,26,-12 +AUS,2015-11-17,76,71,89,42,45,26 +AUS,2015-03-28,81,75,97,39,50,28 +BOS,2015-02-03,22,37,59,6,23,-5 +BOS,2015-12-14,58,42,66,46,29,0 +BOS,2015-05-04,84,62,90,49,46,33 +AUS,2015-03-31,79,76,89,66,51,33 +AUS,2015-09-01,93,94,107,69,69,63 +SEA,2015-01-08,46,46,54,35,37,18 +BOS,2015-02-16,19,39,60,-3,25,-9 +AUS,2015-03-06,54,69,98,21,44,21 +AUS,2015-09-18,95,90,99,72,65,48 +SEA,2015-01-19,50,48,62,43,37,18 +SEA,2015-07-07,81,74,90,57,55,47 +SEA,2015-02-25,50,51,64,44,37,20 +BOS,2015-01-15,31,35,66,25,22,-12 +AUS,2015-07-30,100,96,105,69,72,67 +BOS,2015-01-04,52,36,64,35,23,-4 +SEA,2015-05-08,75,63,84,47,46,36 +SEA,2015-12-18,48,45,54,40,35,18 +BOS,2015-07-25,69,82,96,62,66,53 +AUS,2015-05-17,83,87,93,65,64,50 +AUS,2015-12-01,57,66,84,47,40,23 +AUS,2015-04-26,84,82,96,69,58,44 +AUS,2015-05-24,82,89,99,62,66,58 +SEA,2015-04-24,54,60,76,43,43,30 +BOS,2015-08-17,91,80,97,71,65,51 +BOS,2015-12-02,51,46,65,39,33,4 +BOS,2015-04-10,55,54,85,36,39,26 +AUS,2015-01-20,80,62,82,33,36,15 +BOS,2015-07-08,88,81,99,69,65,55 +SEA,2015-02-12,62,50,66,49,37,21 +SEA,2015-10-13,62,61,75,49,46,35 +AUS,2015-01-31,62,63,82,43,37,-5 +AUS,2015-09-22,94,89,103,65,63,47 +SEA,2015-02-07,54,49,66,49,37,20 +BOS,2015-11-11,50,53,69,46,39,24 +SEA,2015-06-23,79,71,92,53,53,40 +AUS,2015-08-31,96,94,106,67,70,62 +SEA,2015-07-08,86,75,95,58,55,47 +SEA,2015-09-18,67,70,85,55,52,41 +BOS,2015-04-21,65,58,88,46,42,21 +SEA,2015-10-17,67,59,74,53,46,34 +AUS,2015-11-10,75,73,90,54,48,31 +AUS,2015-03-21,61,73,90,56,48,26 +AUS,2015-11-01,75,77,88,59,51,36 +SEA,2015-06-11,76,69,84,52,51,40 +AUS,2015-09-06,98,93,101,72,68,52 +BOS,2015-12-24,69,39,69,48,26,0 +SEA,2015-08-23,82,76,91,57,56,46 +AUS,2015-09-13,90,91,102,59,66,59 +AUS,2015-04-13,84,79,94,62,54,31 +SEA,2015-08-18,86,76,88,59,56,47 +AUS,2015-03-12,70,71,89,52,46,19 +AUS,2015-09-28,87,87,105,65,62,46 +AUS,2015-04-06,84,78,91,63,52,38 +SEA,2015-07-11,72,75,98,62,55,49 +AUS,2016-01-01,50,62,84,44,36,24 +BOS,2015-11-01,62,56,77,48,42,26 +AUS,2015-05-03,83,84,94,48,60,42 +BOS,2015-03-10,48,44,71,31,29,6 +SEA,2015-05-01,65,62,85,48,44,28 +SEA,2015-12-13,46,46,59,43,35,19 +AUS,2015-10-07,91,85,96,58,59,42 +BOS,2015-03-01,30,42,63,12,27,-1 +AUS,2015-01-07,51,62,80,30,36,12 +SEA,2015-12-20,46,45,57,40,35,14 +AUS,2015-02-13,67,64,83,35,39,23 +BOS,2015-08-20,78,79,98,68,64,52 +SEA,2015-04-23,54,60,72,44,43,31 +AUS,2015-01-12,47,62,80,42,36,12 +BOS,2015-07-26,79,82,96,63,66,56 +BOS,2015-06-06,67,73,100,52,57,45 +BOS,2015-06-13,85,75,98,64,59,46 +BOS,2015-10-31,52,57,81,38,42,27 +BOS,2015-11-09,60,54,74,41,40,24 +AUS,2015-10-09,87,84,93,67,58,39 +BOS,2015-06-24,84,79,95,67,62,46 +BOS,2015-11-18,48,51,73,31,37,14 +BOS,2015-04-25,56,59,83,36,44,27 +BOS,2015-11-23,42,49,77,30,36,11 +SEA,2015-09-07,70,73,94,56,54,45 +BOS,2015-08-31,90,77,97,71,62,47 +SEA,2015-09-12,80,72,85,58,53,44 +SEA,2015-03-24,55,55,68,43,40,30 +AUS,2015-11-08,69,74,90,53,48,33 +BOS,2015-05-26,87,69,97,64,53,39 +AUS,2015-06-14,88,92,109,71,70,60 +SEA,2015-06-05,80,68,92,55,51,41 +AUS,2015-03-08,53,70,88,48,44,26 +BOS,2015-05-11,80,64,91,50,48,33 +AUS,2015-04-18,76,80,99,56,55,35 +BOS,2015-02-27,27,41,64,15,27,-4 +SEA,2015-08-11,86,77,96,62,56,46 +AUS,2015-03-19,80,73,90,57,48,29 +BOS,2015-05-08,71,64,87,46,48,34 +AUS,2015-04-01,81,76,92,66,51,36 +SEA,2015-07-18,92,76,93,64,56,47 +SEA,2015-01-04,51,46,61,38,36,14 +SEA,2015-04-29,61,61,80,45,44,31 +BOS,2015-07-12,89,82,97,72,65,54 +BOS,2015-03-19,34,46,74,19,32,5 +SEA,2015-05-06,62,63,87,45,45,36 +AUS,2015-02-27,37,67,89,31,42,13 +BOS,2015-07-07,84,81,99,65,65,52 +BOS,2015-03-08,42,43,68,24,29,7 +AUS,2015-02-14,77,65,84,40,39,24 +BOS,2015-10-08,62,64,88,51,49,35 +SEA,2015-03-02,52,52,64,40,38,22 +AUS,2015-07-03,90,94,102,73,71,60 +AUS,2015-02-05,52,63,83,39,38,17 +SEA,2015-11-05,53,53,65,46,42,31 +BOS,2015-09-23,68,70,96,54,55,35 +SEA,2015-07-26,72,77,92,57,56,49 +BOS,2015-09-10,77,74,95,64,60,41 +BOS,2015-08-06,82,81,97,65,66,52 +SEA,2015-08-06,77,77,91,59,57,50 +BOS,2015-09-09,93,75,93,72,60,45 +SEA,2015-10-01,70,65,89,49,49,35 +SEA,2015-05-13,54,64,84,50,47,37 +BOS,2015-06-08,76,74,97,53,57,42 +SEA,2015-12-05,50,47,55,43,36,23 +SEA,2015-05-20,74,66,92,51,48,40 +SEA,2015-12-30,42,45,56,30,36,6 +BOS,2015-11-28,60,47,74,41,34,11 +SEA,2015-01-24,58,48,58,52,37,10 +SEA,2015-07-29,90,77,103,58,57,45 +BOS,2015-01-29,32,36,65,10,22,-6 +SEA,2015-06-25,87,72,88,60,53,45 +SEA,2015-09-15,64,71,93,50,52,42 +SEA,2015-04-11,53,58,80,42,42,35 +BOS,2015-10-12,76,63,90,51,48,31 +AUS,2015-08-03,97,97,105,68,72,65 +BOS,2015-10-07,72,65,90,52,49,30 +AUS,2015-10-24,77,80,93,60,53,37 +SEA,2015-08-16,77,77,98,58,56,50 +BOS,2015-12-19,40,40,64,33,27,-10 +BOS,2015-05-03,67,62,92,45,46,31 +AUS,2015-04-08,78,78,92,68,53,34 +SEA,2015-01-14,43,47,59,33,37,8 +AUS,2015-07-22,96,96,102,75,72,66 +SEA,2015-09-22,66,69,92,46,51,37 +SEA,2015-02-20,52,50,62,45,37,25 +BOS,2015-07-31,89,81,98,73,66,54 +BOS,2015-09-30,78,67,87,57,52,36 +AUS,2015-07-04,91,94,103,73,71,63 +SEA,2015-03-16,57,54,66,43,39,29 +BOS,2015-03-21,41,47,83,28,32,7 +AUS,2015-05-12,68,86,97,66,63,48 +AUS,2015-07-15,95,95,105,70,72,66 +AUS,2015-04-21,79,81,92,47,56,44 +BOS,2015-08-22,73,79,93,67,64,47 +BOS,2015-04-02,61,51,75,30,36,19 +BOS,2015-08-12,85,80,101,68,65,53 +AUS,2015-12-17,66,63,85,33,37,21 +BOS,2015-07-28,86,82,99,70,66,54 +BOS,2015-04-17,65,56,93,47,41,26 +AUS,2015-12-24,73,63,82,44,36,14 +SEA,2015-02-17,61,50,58,40,37,23 +AUS,2015-04-30,80,83,93,44,59,44 +BOS,2015-10-25,63,58,80,48,44,26 +BOS,2015-01-31,21,36,62,11,23,-8 +BOS,2015-01-20,39,35,60,27,22,-3 +BOS,2015-09-21,66,71,94,53,56,40 +SEA,2015-06-03,68,68,89,53,50,42 +AUS,2015-08-17,95,96,105,69,72,61 +AUS,2015-11-26,75,68,85,69,42,27 +BOS,2015-04-26,56,59,87,43,44,28 +BOS,2015-12-25,62,38,65,49,25,-8 +AUS,2015-11-15,73,71,89,51,46,28 +SEA,2015-06-29,84,73,93,63,54,45 +SEA,2015-03-28,60,56,73,49,41,26 +BOS,2015-02-01,30,36,66,12,23,-7 +BOS,2015-12-16,48,41,64,38,28,1 +AUS,2015-11-04,80,76,89,55,50,26 +AUS,2015-09-03,92,94,107,68,69,61 +BOS,2015-02-10,30,38,60,14,24,-5 +AUS,2015-03-04,70,69,91,35,43,17 +AUS,2015-09-16,93,90,99,73,65,54 +SEA,2015-07-05,91,74,91,62,55,47 +BOS,2015-06-05,59,73,96,50,56,45 +AUS,2015-03-15,68,72,87,44,46,30 +BOS,2015-01-17,22,35,59,9,22,-4 +SEA,2015-07-14,82,76,91,61,56,50 +BOS,2015-01-02,41,37,66,31,23,-3 +AUS,2015-05-04,84,84,98,59,60,37 +SEA,2015-12-16,43,45,57,37,35,10 +BOS,2015-07-23,82,82,100,67,66,54 +AUS,2015-05-15,76,87,96,64,64,42 +AUS,2015-11-24,66,68,87,44,42,26 +AUS,2015-12-03,63,66,86,34,40,27 +AUS,2015-05-22,78,88,97,62,66,47 +SEA,2015-04-26,60,61,78,40,44,32 +BOS,2015-08-15,91,80,98,68,65,52 +SEA,2015-06-08,87,69,87,58,51,42 +AUS,2015-01-26,74,62,86,34,37,24 +SEA,2015-02-10,55,49,65,47,37,24 +SEA,2015-10-03,67,65,80,52,48,39 +SEA,2015-02-01,49,49,63,40,37,1 +BOS,2015-06-29,75,80,99,53,63,49 +BOS,2015-11-13,59,52,69,46,39,14 +AUS,2015-11-30,55,66,83,45,40,20 +BOS,2015-11-24,44,49,72,29,36,11 +AUS,2015-11-29,47,67,85,43,41,20 +SEA,2015-09-08,73,73,85,56,54,43 +AUS,2015-03-23,79,74,90,46,49,30 +BOS,2015-05-30,88,71,96,58,54,35 +SEA,2015-03-21,56,55,69,47,40,29 +AUS,2015-09-27,93,87,105,63,62,45 +AUS,2015-11-03,82,76,87,58,50,26 +SEA,2015-06-17,77,70,91,52,52,43 +BOS,2015-05-21,67,68,93,45,51,41 +SEA,2015-03-30,64,56,72,51,41,27 +SEA,2015-12-12,48,46,60,42,35,22 +SEA,2015-08-25,78,75,87,54,55,45 +AUS,2015-09-11,91,92,102,72,67,56 +AUS,2015-04-15,80,80,92,49,55,34 +BOS,2015-02-20,20,40,68,5,26,0 +AUS,2015-04-04,68,77,92,56,52,36 +SEA,2015-07-13,78,76,93,61,56,50 +SEA,2015-08-07,83,77,95,60,56,48 +BOS,2015-12-10,58,43,64,43,30,-1 +BOS,2015-07-17,75,82,98,60,66,54 +BOS,2015-03-16,45,45,71,26,31,10 +SEA,2015-05-03,69,62,77,46,45,35 +SEA,2015-12-11,49,46,58,40,35,21 +AUS,2015-11-06,75,75,89,61,49,31 +AUS,2015-10-05,85,85,96,62,59,43 +BOS,2015-03-03,33,42,61,20,28,4 +AUS,2015-01-09,39,62,84,34,36,10 +AUS,2015-12-08,75,65,83,33,38,23 +AUS,2015-02-11,76,64,81,37,39,16 +AUS,2015-10-14,95,83,95,52,57,43 +AUS,2015-01-10,37,62,86,32,36,13 +BOS,2015-08-30,88,77,99,69,63,48 +SEA,2015-10-26,54,56,65,50,44,29 +BOS,2015-04-19,50,57,87,41,42,22 +SEA,2015-02-19,51,50,67,47,37,22 +BOS,2015-06-15,63,76,98,54,60,42 +SEA,2015-02-08,59,49,68,47,37,22 +SEA,2015-11-20,47,50,64,33,39,25 +BOS,2015-06-26,72,79,100,59,63,51 +SEA,2015-05-16,60,65,84,52,47,40 +SEA,2015-11-17,56,51,61,44,40,23 +SEA,2015-10-25,67,57,67,48,44,31 +SEA,2015-12-28,41,45,56,35,36,12 +SEA,2015-09-01,67,74,91,57,55,46 +SEA,2015-01-29,54,49,60,38,37,6 +SEA,2015-09-10,77,72,85,58,53,39 +SEA,2015-03-26,69,55,70,50,40,32 +AUS,2015-10-18,84,82,93,47,55,42 +BOS,2015-05-28,86,70,92,64,54,43 +AUS,2015-06-12,93,92,101,72,70,57 +BOS,2015-09-06,82,76,94,61,61,43 +BOS,2015-12-29,40,37,73,24,24,-17 +BOS,2015-05-13,69,65,87,53,49,38 +AUS,2015-06-07,89,91,98,64,69,59 +AUS,2015-10-21,88,81,92,71,54,36 +SEA,2015-08-13,83,77,92,60,56,44 +AUS,2015-08-20,82,96,105,70,71,67 +SEA,2015-01-06,54,46,57,43,37,14 +BOS,2015-07-10,77,81,101,60,65,53 +SEA,2015-07-21,75,77,97,59,56,48 +SEA,2015-01-13,49,47,56,37,37,11 +AUS,2015-02-25,62,67,89,33,42,23 +SEA,2015-09-27,64,67,89,45,50,35 +BOS,2015-07-01,82,80,98,62,64,50 +SEA,2015-07-30,94,77,96,63,57,48 +BOS,2015-09-18,85,72,90,65,57,43 +BOS,2015-09-29,84,68,88,65,52,34 +AUS,2015-07-01,89,94,103,66,71,66 +AUS,2015-02-07,68,64,84,38,38,19 +SEA,2015-03-11,58,53,65,48,39,23 +BOS,2015-09-12,71,74,93,60,59,43 +AUS,2015-07-10,93,95,103,66,72,65 +BOS,2015-09-07,93,75,102,66,60,43 +BOS,2015-08-19,88,79,92,71,65,51 +AUS,2015-12-12,75,64,88,71,37,22 +SEA,2015-05-11,57,64,87,50,46,35 +AUS,2015-06-24,91,93,104,70,71,65 +SEA,2015-12-07,52,46,58,47,36,18 +SEA,2015-11-18,48,50,59,38,40,29 +SEA,2015-05-26,71,67,89,53,49,40 +SEA,2015-06-04,73,68,91,53,50,41 +SEA,2015-01-22,49,48,60,43,37,19 +SEA,2015-04-13,53,58,75,39,42,33 +AUS,2015-08-18,98,96,104,73,71,64 +BOS,2015-12-31,47,37,65,33,24,-8 +BOS,2015-10-10,61,63,87,48,48,32 +SEA,2015-04-06,57,57,78,44,41,31 +AUS,2015-12-26,78,62,81,73,36,18 +AUS,2015-08-01,97,97,105,68,72,65 +SEA,2015-10-27,61,56,67,46,44,31 +BOS,2015-05-18,58,67,91,49,50,37 +BOS,2015-10-18,47,61,82,33,46,31 +AUS,2015-10-26,79,79,98,58,53,33 +BOS,2015-02-06,21,37,57,5,23,-6 +BOS,2015-05-01,49,61,89,39,46,33 +SEA,2015-08-09,83,77,99,59,56,47 +BOS,2015-08-29,82,78,96,63,63,47 +BOS,2015-07-19,90,82,99,71,66,54 +SEA,2015-11-04,50,54,74,38,42,30 +AUS,2015-07-24,98,96,103,73,72,68 +BOS,2015-07-06,80,81,101,68,65,50 +SEA,2015-09-20,73,69,88,54,51,40 +SEA,2015-02-26,53,51,67,46,37,18 +BOS,2015-01-10,24,36,56,17,22,-3 +SEA,2015-03-09,58,53,67,40,39,28 +AUS,2015-10-12,97,84,97,70,57,41 +AUS,2015-05-09,86,85,98,69,62,47 +SEA,2015-03-18,60,54,70,45,40,29 +BOS,2015-03-27,44,49,79,37,34,16 +AUS,2015-05-10,87,85,94,75,62,49 +AUS,2015-07-17,96,95,105,75,72,66 +BOS,2015-08-09,73,81,99,62,66,53 +AUS,2015-12-04,63,65,84,32,39,23 +SEA,2015-10-20,64,58,69,51,45,29 +AUS,2015-04-23,83,82,97,67,57,42 +AUS,2015-05-27,87,89,100,67,67,59 +BOS,2015-04-04,52,51,77,36,37,17 +BOS,2015-08-10,83,81,101,63,65,53 +AUS,2015-12-15,76,63,81,46,37,19 +SEA,2015-05-18,78,65,89,54,48,37 +BOS,2015-04-15,67,55,82,50,41,28 +AUS,2015-01-23,50,62,89,34,37,18 +AUS,2015-12-22,78,63,80,39,36,16 +SEA,2015-02-15,54,50,65,39,37,13 +SEA,2015-10-10,70,62,77,56,47,40 +SEA,2015-06-09,84,69,96,58,51,44 +SEA,2015-02-04,51,49,63,40,37,7 +BOS,2015-01-22,37,36,66,29,22,-3 +SEA,2015-12-03,60,47,60,46,36,27 +SEA,2015-04-18,66,59,77,47,42,34 +AUS,2015-08-11,103,97,105,68,72,67 +SEA,2015-10-22,61,57,70,48,45,34 +SEA,2015-04-09,63,57,73,43,41,34 +AUS,2015-08-08,100,97,108,74,72,68 +BOS,2015-12-27,50,38,61,38,25,0 +AUS,2015-11-13,65,72,90,57,46,28 +AUS,2015-03-24,80,74,88,51,49,30 +BOS,2015-09-25,66,69,89,55,54,38 +AUS,2015-06-29,92,94,107,71,71,63 +SEA,2015-11-08,52,53,64,46,42,27 +BOS,2015-08-21,83,79,97,67,64,52 +SEA,2015-08-31,66,74,92,61,55,46 +AUS,2015-09-05,99,93,112,74,68,55 +BOS,2015-02-12,30,38,58,16,24,-11 +AUS,2015-12-28,48,62,77,35,36,25 +SEA,2015-08-20,73,76,87,58,56,47 +AUS,2015-03-02,45,68,86,38,43,19 +AUS,2015-09-14,89,91,101,58,66,54 +SEA,2015-07-03,92,74,92,64,54,44 +SEA,2015-09-29,71,66,81,48,49,37 +AUS,2015-03-17,76,72,89,63,47,30 +BOS,2015-01-19,46,35,61,32,22,-6 +SEA,2015-07-16,79,76,98,59,56,50 +AUS,2015-05-06,87,85,98,71,61,45 +BOS,2015-03-13,40,44,73,24,30,3 +SEA,2015-12-14,46,45,59,35,35,22 +BOS,2015-07-21,81,82,102,70,66,52 +AUS,2015-10-02,87,86,97,57,60,47 +AUS,2015-01-02,42,62,81,38,36,16 +SEA,2015-12-23,41,45,58,37,35,9 +AUS,2015-05-20,88,88,99,70,65,45 +SEA,2015-04-20,73,59,74,46,43,30 +AUS,2015-01-17,71,62,80,33,36,21 +AUS,2015-05-31,84,90,100,64,68,51 +BOS,2015-06-01,49,71,96,47,55,41 +AUS,2015-01-24,62,62,82,26,37,14 diff --git a/examples/app/weather/main.py b/examples/app/weather/main.py new file mode 100644 index 00000000000..01ddecb873c --- /dev/null +++ b/examples/app/weather/main.py @@ -0,0 +1,94 @@ +from os.path import join, dirname +import numpy as np +import pandas as pd + +from bokeh.io import curdoc +from bokeh.models import ColumnDataSource, DataRange1d, Range1d, VBox, HBox, Select +from bokeh.palettes import Blues4 +from bokeh.plotting import Figure +from scipy.signal import savgol_filter + +STATISTICS = ['record_min_temp', 'actual_min_temp', 'average_min_temp', 'average_max_temp', 'actual_max_temp', 'record_max_temp'] + +# Filter for smoothing data originates from http://stackoverflow.com/questions/20618804/how-to-smooth-a-curve-in-the-right-way +def get_dataset(src, name, distribution): + df = src[src.airport == name].copy() + del df['airport'] + df['date'] = pd.to_datetime(df.date) + df['left'] = df.date - pd.DateOffset(days=0.5) + df['right'] = df.date + pd.DateOffset(days=0.5) + df = df.set_index(['date']) + df.sort_index(inplace=True) + if distribution == 'Smooth': + window, order = 51, 3 + for key in STATISTICS: + df[key] = savgol_filter(df[key], window, order) + + return ColumnDataSource(data=df) + + +def make_plot(source, title): + plot = Figure(x_axis_type="datetime", plot_width=1000, tools="", toolbar_location=None) + plot.title = title + colors = Blues4[0:3] + + plot.quad(top='record_max_temp', bottom='record_min_temp', left='left', right='right', color=colors[2], source=source, legend="Record") + plot.quad(top='average_max_temp', bottom='average_min_temp', left='left', right='right', color=colors[1], source=source, legend="Average") + plot.quad(top='actual_max_temp', bottom='actual_min_temp', left='left', right='right', color=colors[0], alpha=0.5, line_color="black", source=source, legend="Actual") + + # fixed attributes + plot.border_fill_color = "whitesmoke" + plot.xaxis.axis_label = None + plot.yaxis.axis_label = "Temperature (F)" + plot.axis.major_label_text_font_size = "8pt" + plot.axis.axis_label_text_font_size = "8pt" + plot.axis.axis_label_text_font_style = "bold" + plot.x_range = DataRange1d(range_padding=0.0, bounds=None) + plot.grid.grid_line_alpha = 0.3 + plot.grid[0].ticker.desired_num_ticks = 12 + + return plot + + +# set up callbacks +def update_plot(attrname, old, new): + city = city_select.value + plot.title = cities[city]['title'] + + src = get_dataset(df, cities[city]['airport'], distribution_select.value) + for key in STATISTICS + ['left', 'right']: + source.data.update(src.data) + +# set up initial data +city = 'Austin' +distribution = 'Discrete' + +cities = { + 'Austin': { + 'airport': 'AUS', + 'title': 'Austin, TX', + }, + 'Boston': { + 'airport': 'BOS', + 'title': 'Boston, MA', + }, + 'Seattle': { + 'airport': 'SEA', + 'title': 'Seattle, WA', + } +} + +city_select = Select(value=city, title='City', options=sorted(cities.keys())) +distribution_select = Select(value=distribution, title='Distribution', options=['Discrete', 'Smooth']) + +df = pd.read_csv(join(dirname(__file__), 'data/2015_weather.csv')) +source = get_dataset(df, cities[city]['airport'], distribution) +plot = make_plot(source, cities[city]['title']) + +city_select.on_change('value', update_plot) +distribution_select.on_change('value', update_plot) + +controls = VBox(city_select, distribution_select) + +# add to document +curdoc().add_root(HBox(controls, plot))