Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
It seems Ruben C. Arslan had the waffle idea about the same time I did. Apart from some extra spiffy XKCD-like styling, one other thing his waffling routines allowed for was using FontAwesome icons. When you use an icon vs a block, you are really making a basic version of isotype pictograms. They can add a dimension to the story you’re trying to tell without using any words. I’ve added two parameters to a pre-release CRAN version that I’d like folks to kick the tyres on a bit. Said parameters are use_glyph
– which is either FALSE
or a character string for a FontAwesome icon (more on that in a bit) — and glyph_size
— which is a numeric value for the size since it won’t scale when the graphic resizes.
Fonts in R & waffle
One part of R that is (with apologies to Winston and others) weak is s. You can use s, but doing so is often not pretty (despite guidance on the subject) and not without problems (we tried using a custom again for this year’s DBIR graphics and failed miserably — again — due to issues and R and had to have the graphics folks substitute them in).
To use the FontAwesome glyphs you need to:
- grab the
ttf
version from here - install it on your system
- install the extra package
- run
_import()
(get some coffee/scotch while you wait) - load
extra
when you need to use these glyphs
Once you do that, you’re probably ready to make isotype pictograms with waffle
. I say probably since this process worked on two of my OS X systems but not a third. Same R version. Same RStudio version. Same import process. (This is part of the reason for my lament of the state of s since I’m not exactly an n00b with either R, Macs or s.)
Making isotype pictograms
I did borrow some code from Ruben, but I hate typing unicode characters and I suspect most folks do as well. If you do any work in straight HTML/CSS, you know you can just refer to the various FontAwesome glyphs by name. To use FontAwesome glyphs with waffle
you specify the name (no fa-
prefix) vs unicode character. If you want to see what’s available (and don’t want to bookmark the FontAwesome site) you can run either fa_list()
which will give you a list of available FontAwesome glyph names or use fa_grep()
and supply a pattern name. For example, running fa_grep("car")
gives you:
## [1] "car" "caret-down" "caret-left" ## [4] "caret-right" "caret-square-o-down" "caret-square-o-left" ## [7] "caret-square-o-right" "caret-square-o-up" "caret-up" ## [10] "cart-arrow-down" "cart-plus" "cc-mastercard" ## [13] "credit-card" "shopping-cart" |
Any grep
regex will work in that function.
You’ll need to devtools::install_github("hrbrmstr/waffle", ref="cran")
to use the dev/pre-CRAN version of waffle
before doing anything.
To make an isotype pictogram version of the health records breaches waffle chart, you can do the following:
library(waffle) library(extra) parts <- c(`Un-breachednUS Population`=(318-11-79), `Premera`=11, `Anthem`=79) waffle(parts/10, rows=3, colors=c("#969696", "#1879bf", "#009bda"), use_glyph="medkit", size=8) |
So, please kick the tyres, post comments about your successes & woes and definitely link to any isotype pictograms you create.
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.