Slide 1

Slide 1 text

DATA-DRIVEN DOCUMENTS VISUALIZING LIBRARY DATA WITH D3.JS Bret Davidson | NCSU Libraries

Slide 2

Slide 2 text

D3.js

Slide 3

Slide 3 text

AGENDA Example Why D3? Data Join API Highlights D3 @ NCSU Resources

Slide 4

Slide 4 text

Trulia Trends

Slide 5

Slide 5 text

WHY D3? Web Standards Capability Community

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

WHY NOT D3? Learning Curve Lower Level Simpler Needs

Slide 8

Slide 8 text

EXAMPLE v a r d a t a s e t = [ 2 0 , 5 , 1 0 , 0 , 5 0 ] ; d 3 . s e l e c t ( ' b o d y ' ) . s e l e c t A l l ( ' p ' ) / / s e l e c t i o n . d a t a ( d a t a s e t ) / / d a t a b i n d i n g . e n t e r ( ) / / c r e a t e e n t e r s e l e c t i o n . a p p e n d ( ' p ' ) / / d o m m a n i p u l a t i o n . s t y l e ( ' f o n t - s i z e ' , ' 5 0 p x ' ) / / s t a t i c p r o p e r t y . t e x t ( f u n c t i o n ( d , i ) { / / d y n a m i c p r o p e r t y r e t u r n i + ' : m y v a l u e i s ' + d ; } ) ;

Slide 9

Slide 9 text

OUTPUT

Slide 10

Slide 10 text

DATA JOIN

Slide 11

Slide 11 text

DATA JOIN DEMO Demo

Slide 12

Slide 12 text

ENTER + UPDATE + EXIT / / E n t e r r e c t s . e n t e r ( ) . a p p e n d ( ' r e c t ' ) ; / / U p d a t e r e c t s . a t t r ( ' x ' , 2 0 ) . a t t r ( ' y ' , f u n c t i o n ( d , i ) { r e t u r n 6 5 * i ; } ) . a t t r ( ' h e i g h t ' , ' 6 0 ' ) . a t t r ( ' w i d t h ' , f u n c t i o n ( d , i ) { r e t u r n x ( d ) ; } ) ; / / E x i t r e c t s . e x i t ( ) . r e m o v e ( ) ;

Slide 13

Slide 13 text

LINEAR SCALE

Slide 14

Slide 14 text

LINEAR SCALE v a r f o n t S i z e = d 3 . s c a l e . l i n e a r ( ) . d o m a i n ( [ 0 , d 3 . m a x ( d a t a s e t ) ] ) . r a n g e ( [ 2 5 , 5 0 ] ) ;

Slide 15

Slide 15 text

ARRAY METHODS d 3 . m a x ( a r r a y [ , a c c e s s o r ] ) ; d 3 . m i n ( a r r a y [ , a c c e s s o r ] ) ; d 3 . e x t e n t ( a r r a y [ , a c c e s s o r ] ) ; d 3 . s u m ( a r r a y [ , a c c e s s o r ] ) ; d 3 . m e a n ( a r r a y [ , a c c e s s o r ] ) ; d 3 . m e d i a n ( a r r a y [ , a c c e s s o r ] ) ; d 3 . r a n g e ( [ s t a r t , ] s t o p [ , s t e p ] ) ; d 3 . n e s t ( ) . k e y ( f u n c t i o n ( d ) { r e t u r n d . s c h o o l } ) . e n t r i e s ( a r r a y ) ;

Slide 16

Slide 16 text

OTHER SCALES power() log() quantize() quantile() threshold() ordinal() time()

Slide 17

Slide 17 text

SVG GENERATORS Area Line Chord Diagonal Symbol

Slide 18

Slide 18 text

LAYOUTS Force Hiearchy Histogram Pack Treemap

Slide 19

Slide 19 text

AND MORE! Axes Transitions Color Scales Formatting Geography

Slide 20

Slide 20 text

D3 @ NCSU lib.ncsu.edu/dli/projects/spaceassesstool

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

ACKNOWLEDGMENTS Mike Bostock Scott Cheng Scott Murray

Slide 26

Slide 26 text

SUMA TEAM Jason Casden Joyce Chapman Bret Davidson Rob Rucker Rusty Earl Eric McEachern lib.ncsu.edu/dli/projects/spaceassesstool

Slide 27

Slide 27 text

THANK YOU! [email protected] go.ncsu.edu/c4l13-d3