[This article was first published on Jkunst - R category, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Time ago @hrbrmstr show how to replicate a visualization made by New York Times with R.
The @nytgraphics folks are spiffy.so is #rstats https://t.co/zc1gIx6cyE https://t.co/XAmVPDLfC7 #tigrisviridisggplot pic.twitter.com/9ZK6wvYDnh
— boB Rudis (@hrbrmstr) March 25, 2016
The result we hope is like this:
I really like small multiples and this is a good example of usage. However if the multiples means a lot mini plots maybe you can try add animation.
Let’s start using the script made by Bob:
URL <- "http://graphics8.nytimes.com/newsgraphics/2016/01/15/drug-deaths/c23ba79c9c9599a103a8d60e2329be1a9b7d6994/data.json" data("uscountygeojson") data("unemployment") data <- fromJSON(URL) %>% tbl_df() %>% gather(year, value, -fips) %>% mutate(year = sub("^y", "", year), value = ifelse(is.na(value), 0, value)) head(data)
fips | year | value |
---|---|---|
01001 | 2002 | 1 |
01003 | 2002 | 2 |
01005 | 2002 | 0 |
01007 | 2002 | 1 |
01009 | 2002 | 2 |
01011 | 2002 | 0 |
Now we’ll prepare the data as the motion plugin require the data.
ds <- data %>% group_by(fips) %>% do(item = list( fips = first(.$fips), sequence = .$value, value = first(.$value))) %>% .$item hc <- highchart(type = "map") %>% hc_add_series(data = ds, name = "drug deaths per 100,000", mapData = uscountygeojson, joinBy = "fips", borderWidth = 0.01) %>% hc_colorAxis(stops = color_stops()) %>% hc_title(text = "How the Epidemic of Drug Overdose Deaths Ripples") %>% hc_legend(layout = "vertical", reversed = TRUE, floating = TRUE, align = "right") %>% hc_add_theme(hc_theme_smpl()) %>% hc_motion( enabled = TRUE, axisLabel = "year", labels = sort(unique(data$year)), series = 0, updateIterval = 50, magnet = list( round = "floor", step = 0.1 ) )
And the result:
hc
I like it!
Note this using the development version of highcarter using the motion plugin.
To leave a comment for the author, please follow the link and comment on their blog: Jkunst - R category.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.