1+ var w = 960 ,
2+ pw = 14 ,
3+ z = ~ ~ ( ( w - pw * 2 ) / 53 ) ,
4+ ph = z >> 1 ,
5+ h = z * 7 ;
6+
7+ var vis = d3 . select ( "#chart" )
8+ . selectAll ( "svg" )
9+ . data ( d3 . range ( 1993 , 2011 ) )
10+ . enter ( ) . append ( "svg:svg" )
11+ . attr ( "width" , w )
12+ . attr ( "height" , h + ph * 2 )
13+ . attr ( "class" , "RdYlGn" )
14+ . append ( "svg:g" )
15+ . attr ( "transform" , "translate(" + pw + "," + ph + ")" ) ;
16+
17+ vis . append ( "svg:text" )
18+ . attr ( "transform" , "translate(-6," + h / 2 + ")rotate(-90)" )
19+ . text ( function ( d ) { return d ; } ) ;
20+
21+ vis . selectAll ( "rect.day" )
22+ . data ( calendar . dates )
23+ . enter ( ) . append ( "svg:rect" )
24+ . attr ( "x" , function ( d ) { return d . week * z ; } )
25+ . attr ( "y" , function ( d ) { return d . day * z ; } )
26+ . attr ( "class" , "day" )
27+ . attr ( "width" , z )
28+ . attr ( "height" , z ) ;
29+
30+ vis . selectAll ( "path.month" )
31+ . data ( calendar . months )
32+ . enter ( ) . append ( "svg:path" )
33+ . attr ( "class" , "month" )
34+ . attr ( "d" , function ( d ) {
35+ return "M" + ( d . firstWeek + 1 ) * z + "," + d . firstDay * z
36+ + "H" + d . firstWeek * z
37+ + "V" + 7 * z
38+ + "H" + d . lastWeek * z
39+ + "V" + ( d . lastDay + 1 ) * z
40+ + "H" + ( d . lastWeek + 1 ) * z
41+ + "V" + 0
42+ + "H" + ( d . firstWeek + 1 ) * z
43+ + "Z" ;
44+ } ) ;
45+
146d3 . csv ( "vix.csv" , function ( csv ) {
247 var data = d3 . nest ( )
348 . key ( function ( d ) { return d . Date ; } )
@@ -8,50 +53,8 @@ d3.csv("vix.csv", function(csv) {
853 . domain ( d3 . values ( data ) )
954 . range ( d3 . range ( 9 ) . reverse ( ) ) ;
1055
11- var w = 960 ,
12- pw = 14 ,
13- z = ~ ~ ( ( w - pw * 2 ) / 53 ) ,
14- ph = z >> 1 ,
15- h = z * 7 ;
16-
17- var vis = d3 . select ( "#chart" )
18- . selectAll ( "svg" )
19- . data ( d3 . range ( 1993 , 2011 ) )
20- . enter ( ) . append ( "svg:svg" )
21- . attr ( "width" , w )
22- . attr ( "height" , h + ph * 2 )
23- . attr ( "class" , "RdYlGn" )
24- . append ( "svg:g" )
25- . attr ( "transform" , "translate(" + pw + "," + ph + ")" ) ;
26-
27- vis . append ( "svg:text" )
28- . attr ( "transform" , "translate(-6," + h / 2 + ")rotate(-90)" )
29- . text ( function ( d ) { return d ; } ) ;
30-
3156 vis . selectAll ( "rect.day" )
32- . data ( calendar . dates )
33- . enter ( ) . append ( "svg:rect" )
34- . attr ( "x" , function ( d ) { return d . week * z ; } )
35- . attr ( "y" , function ( d ) { return d . day * z ; } )
3657 . attr ( "class" , function ( d ) { return "day q" + color ( data [ d . Date ] ) + "-9" ; } )
37- . attr ( "width" , z )
38- . attr ( "height" , z )
3958 . append ( "svg:title" )
4059 . text ( function ( d ) { return d . Date + ": " + data [ d . Date ] ; } ) ;
41-
42- vis . selectAll ( "path.month" )
43- . data ( calendar . months )
44- . enter ( ) . append ( "svg:path" )
45- . attr ( "class" , "month" )
46- . attr ( "d" , function ( d ) {
47- return "M" + ( d . firstWeek + 1 ) * z + "," + d . firstDay * z
48- + "H" + d . firstWeek * z
49- + "V" + 7 * z
50- + "H" + d . lastWeek * z
51- + "V" + ( d . lastDay + 1 ) * z
52- + "H" + ( d . lastWeek + 1 ) * z
53- + "V" + 0
54- + "H" + ( d . firstWeek + 1 ) * z
55- + "Z" ;
56- } ) ;
5760} ) ;
0 commit comments