tips for effective data visualization · kandel, heer, plaisant, et al. (2011) query using...

49
Tips for Effective Data Visualization Angela Zoss · Eric Monson Data and Visualization Services STA 112FS · Fall 2017 Slides: http://bit.ly/STA112FSVisFall2017

Upload: others

Post on 03-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

TipsforEffectiveDataVisualizationAngelaZoss·EricMonsonDataandVisualizationServicesSTA112FS·Fall2017

Slides:http://bit.ly/STA112FSVisFall2017

Page 2: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Visualexplorationcanrevealdataqualityproblems

Query using Facebook API• Node-link diagram

Kandel,Heer,Plaisant,etal.(2011)http://dx.doi.org/10.1177/1473871611415994

Page 3: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Kandel,Heer,Plaisant,etal.(2011)http://dx.doi.org/10.1177/1473871611415994

Query using Facebook API• Node-link diagram• Matrix display, API return order

5000-item result limitSilent failure

Visualexplorationcanrevealdataqualityproblems

Page 4: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Fisher’sIrisdataset(1936)

http://sebastianraschka.com/images/blog/2014/linear-discriminant-analysis/iris_petal_sepal.png

Page 5: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Youcanseeavariabledistributionbyjustplottingallthepoints

Page 6: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Youcanseeavariabledistributionbyjustplottingallthepoints(+jitter)

Page 7: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Youcanseeavariabledistributionbyjustplottingallthepoints(swarm)

Page 8: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Histogramscanshowthedistributionofonevariable

Page 9: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

…but theresultswilldependonthebinwidth

Page 10: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Boxplotscansummarizethedistributionofonevariable

Page 11: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

…andaregreatforcomparingdistributionsacrosscategories

Page 12: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Scatterplotsexplorerelationshipsbetweenvariablepairs

Page 13: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Pairsplotscanhelpyouexplorerelationshipsbetweenvariables

Page 14: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Pairsplotscanhelpyouexplorerelationshipsbetweenvariables

Page 15: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Pairsplotscanhelpyouexplorerelationshipsbetweenvariables

Page 16: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

https://www.youtube.com/watch?v=AuJFuEq-qD8

Page 17: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

ggplot2

Page 18: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

PrinciplesforEffectiveVisualizations

Page 19: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Principle1:Ordermatters

Page 20: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order
Page 21: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Orderbymeaningdata$answer <-

factor(data$answer, levels=c("None", "A little", "Some", "A lot"),ordered = TRUE)

Page 22: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order
Page 23: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order
Page 24: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Orderbyvaluedata$academic_field <-

factor(data$academic_field,levels=names(

sort(table(

data$academic_field),decreasing=TRUE)))

Page 25: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order
Page 26: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Principle2:Putlongcategoriesony-axis

Page 27: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order
Page 28: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Fliptheaxescoord_flip()

Page 29: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order
Page 30: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Oops!data$academic_field <-

factor(data$academic_field,levels=names(

sort(table(data$academic_field),decreasing=TRUE)))

data$academic_field <-factor(data$academic_field,

levels=names(sort(

table(data$academic_field))))

Page 31: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order
Page 32: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Principle3:Pickapurpose

Page 33: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order
Page 34: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order
Page 35: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Differentplacementhelpswithdifferentcomparisons

fill=highest_degree

facet_grid(.~highest_degree)

Page 36: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Principle4:Keepscalesconsistent

Page 37: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order
Page 38: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Keepallcategories,manuallysetaxes

scale_x_discrete(drop=FALSE)

scale_y_continuous(limits=c(0,40),breaks=c(0,10,20,30,40),minor_breaks=NULL)

Page 39: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order
Page 40: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Principle5:Selectmeaningfulcolors

Page 41: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order
Page 42: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Selectcolorsmanually,orusealternatepalette

scale_fill_manual(values=c("snow4","snow3",

"tan3","tan1","turquoise2","turquoise4"))

scale_fill_manual(values=c("#fee391","#fe9929", "#cc4c02"))

# Also see package RColorBrewerscale_fill_brewer(palette="BrBG")

Page 43: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order
Page 44: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

ggplot2Resources

• Generalggplot2informationhttp://ggplot2.tidyverse.org/

• RGraphicsCookbook(recipesforplots)http://www.cookbook-r.com/Graphs/index.html

• RforDataScience(onlinebookthatincludesggplot2)http://r4ds.had.co.nz/

• ggplot2:ElegantGraphsforDataAnalysis(bookbyHadleyWickham)http://ggplot2.org/book/

• ggplot2cheatsheet(alsoinRStudio)http://bit.ly/ggplot2-cheatsheet

Page 45: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Resources

Page 46: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

DataandVisualizationServices

http://library.duke.edu/[email protected]

Page 47: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

InformationaboutDVS• Datacollections,LibGuides,etc.http://library.duke.edu/data/

• Blog(tutorials,announcements,etc.)http://blogs.library.duke.edu/data/

[email protected]

• Mailinglistforannouncements:https://lists.duke.edu/sympa/subscribe/dvs-announce

• Twitteraccounts@duke_data,@duke_vis

Page 48: Tips for Effective Data Visualization · Kandel, Heer, Plaisant, et al. (2011)  Query using Facebook API • Node-link diagram • Matrix display, API return order

Videosofpastworkshops

http://bit.ly/DVSvideos