Rerplicating the visualization of rud.is’s blog

library(rvest)
Loading required package: xml2
library(stringi)
library(pdftools)
library(hrbrthemes)
library(tidyverse)
Loading tidyverse: ggplot2
Loading tidyverse: tibble
Loading tidyverse: tidyr
Loading tidyverse: readr
Loading tidyverse: purrr
Loading tidyverse: dplyr
Conflicts with tidy packages -----------------------------------------------------------------------
filter(): dplyr, stats
lag():    dplyr, stats
library(extrafontdb)

store data into data.frame

glimpse(closing_df)
Observations: 12
Variables: 7
$ store         <fctr> Sears, JCPenny, Payless, Kmart, Crocs, Rue21, Radio Shack, hhgregg, The ...
$ closing       <dbl> 41, 138, 400, 109, 160, 400, 550, 88, 250, 180, 170, 110
$ total         <dbl> 695, 1000, 2600, 735, 560, 1100, 1500, 220, 250, 180, 170, 110
$ remaining     <dbl> 654, 862, 2200, 626, 400, 700, 950, 132, 0, 0, 0, 0
$ close_percent <dbl> 0.06, 0.14, 0.15, 0.15, 0.29, 0.36, 0.37, 0.40, 1.00, 1.00, 1.00, 1.00
$ open_percent  <dbl> 0.94, 0.86, 0.85, 0.85, 0.71, 0.64, 0.63, 0.60, 0.00, 0.00, 0.00, 0.00
$ rem_lab       <chr> "654", "862", "2,200", "626", "400", "700", "950", "132", "", "", "", ""
update_geom_font_defaults(font_rc)
closing_df%>%ggplot()+
  geom_segment(aes(x=0,y=store,xend=close_percent,yend=store,color="Closing"),size=8)+
  geom_segment(aes(x=close_percent,y=store,xend=1,yend=store,color="Remaining"),size=8)+
  geom_text(aes(x=0,y=store,label=closing),color="white",hjust=0,nudge_x=0.01)+
  geom_text(aes(x=1,y=store,label=rem_lab),color="white",hjust=1,nudge_x =-0.01)+
  scale_x_percent()+
  scale_color_ipsum(name=NULL)+
  labs(x=NULL,y=NULL,
       title="Selected 2017 store closings (estimated)",
       subtitle="Smaller specialty chains such as Bebe and American Apparel are closing their stores,\nwhile lareger chains such as J.C. Penny and Sears are scaling back their footprint.") +
  theme( axis.text.x=element_text(hjust=c(0, 0.5, 0.5, 0.5, 1)) )

NA

I hhave some difficulty trying to replicate the results from a Windows 10 machine. There is also a warning saying that "
font family not found in Windows font database “. After I tried the fixed they mentioned in github, the problem still persists.

LS0tDQp0aXRsZTogIlN0b3JlIGNsb3NpbmciDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQoNClJlcnBsaWNhdGluZyB0aGUgdmlzdWFsaXphdGlvbiBvZiBbcnVkLmlzJ3MgYmxvZ10oaHR0cHM6Ly9ydWQuaXMvYi8yMDE3LzA0LzIxL3NodXR0ZXJpbmctcGllcy13aXRoLXJldGlyaW5nLXN0b3Jlcy8pDQoNCmBgYHtyfQ0KbGlicmFyeShydmVzdCkNCmxpYnJhcnkoc3RyaW5naSkNCmxpYnJhcnkocGRmdG9vbHMpDQpsaWJyYXJ5KGhyYnJ0aGVtZXMpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCg0KDQoNCiN0cmllZCB0byBmaXggdGhlIGZvbnQgcHJvYmxlbS4NCmxpYnJhcnkoZXh0cmFmb250ZGIpDQpsaWJyYXJ5KGV4dHJhZm9udCkNCmZvbnRfaW1wb3J0KCkNCmxvYWRmb250cyhkZXZpY2UgPSAid2luIikNCndpbmRvd3NGb250cygpDQpgYGANCg0KIyMgc3RvcmUgZGF0YSBpbnRvIGRhdGEuZnJhbWUNCmBgYHtyfQ0KDQpjbG9zaW5nX2RmPWRhdGEuZnJhbWUoDQogIHN0b3JlPWMoIlJhZGlvIFNoYWNrIiwiUGF5bGVzcyIsIlJ1ZTIxIiwiVGhlIExpbWl0ZWQiLCJiZWJlIiwiV2V0IFNlYWwiLCJDcm9jcyIsIkpDUGVubnkiLCJBbWVyaWNhbiBBcHBhcmVsIiwiS21hcnQiLCJoaGdyZWdnIiwiU2VhcnMiKSwNCiAgY2xvc2luZz1jKDU1MCw0MDAsNDAwLDI1MCwxODAsMTcwLDE2MCwxMzgsMTEwLDEwOSw4OCw0MSksDQogIHRvdGFsPWMoMTUwMCwyNjAwLDExMDAsMjUwLDE4MCwxNzAsNTYwLDEwMDAsMTEwLDczNSwyMjAsNjk1KQ0KICApDQoNCmdsaW1wc2UoY2xvc2luZ19kZikNCg0KY2xvc2luZ19kZj1jbG9zaW5nX2RmJT4lbXV0YXRlKHJlbWFpbmluZz10b3RhbC1jbG9zaW5nLA0KICAgICAgICAgICAgICAgICAgICBjbG9zZV9wZXJjZW50PXJvdW5kKGNsb3NpbmcvdG90YWwsMiksDQogICAgICAgICAgICAgICAgICAgIG9wZW5fcGVyY2VudD0xLWNsb3NlX3BlcmNlbnQsDQogICAgICAgICAgICAgICAgICAgIHJlbV9sYWI9aWZlbHNlKHJlbWFpbmluZz09MCwiIixzY2FsZXM6OmNvbW1hKHJlbWFpbmluZykpDQogICAgICAgICAgICAgICAgICAgICklPiVhcnJhbmdlKGRlc2Mob3Blbl9wZXJjZW50KSkNCmdsaW1wc2UoY2xvc2luZ19kZikNCmBgYA0KDQpgYGB7cn0NCnVwZGF0ZV9nZW9tX2ZvbnRfZGVmYXVsdHMoZm9udF9yYykNCg0KY2xvc2luZ19kZiU+JWdncGxvdCgpKw0KICBnZW9tX3NlZ21lbnQoYWVzKHg9MCx5PXN0b3JlLHhlbmQ9Y2xvc2VfcGVyY2VudCx5ZW5kPXN0b3JlLGNvbG9yPSJDbG9zaW5nIiksc2l6ZT04KSsNCiAgZ2VvbV9zZWdtZW50KGFlcyh4PWNsb3NlX3BlcmNlbnQseT1zdG9yZSx4ZW5kPTEseWVuZD1zdG9yZSxjb2xvcj0iUmVtYWluaW5nIiksc2l6ZT04KSsNCiAgZ2VvbV90ZXh0KGFlcyh4PTAseT1zdG9yZSxsYWJlbD1jbG9zaW5nKSxjb2xvcj0id2hpdGUiLGhqdXN0PTAsbnVkZ2VfeD0wLjAxKSsNCiAgZ2VvbV90ZXh0KGFlcyh4PTEseT1zdG9yZSxsYWJlbD1yZW1fbGFiKSxjb2xvcj0id2hpdGUiLGhqdXN0PTEsbnVkZ2VfeCA9LTAuMDEpKw0KICBzY2FsZV94X3BlcmNlbnQoKSsNCiAgc2NhbGVfY29sb3JfaXBzdW0obmFtZT1OVUxMKSsNCiAgbGFicyh4PU5VTEwseT1OVUxMLA0KICAgICAgIHRpdGxlPSJTZWxlY3RlZCAyMDE3IHN0b3JlIGNsb3NpbmdzIChlc3RpbWF0ZWQpIiwNCiAgICAgICBzdWJ0aXRsZT0iU21hbGxlciBzcGVjaWFsdHkgY2hhaW5zIHN1Y2ggYXMgQmViZSBhbmQgQW1lcmljYW4gQXBwYXJlbCBhcmUgY2xvc2luZyB0aGVpciBzdG9yZXMsXG53aGlsZSBsYXJlZ2VyIGNoYWlucyBzdWNoIGFzIEouQy4gUGVubnkgYW5kIFNlYXJzIGFyZSBzY2FsaW5nIGJhY2sgdGhlaXIgZm9vdHByaW50LiIpICsNCiAgdGhlbWUoIGF4aXMudGV4dC54PWVsZW1lbnRfdGV4dChoanVzdD1jKDAsIDAuNSwgMC41LCAwLjUsIDEpKSApDQogIA0KYGBgDQoNCkkgaGhhdmUgc29tZSBkaWZmaWN1bHR5IHRyeWluZyB0byByZXBsaWNhdGUgdGhlIHJlc3VsdHMgZnJvbSBhIFdpbmRvd3MgMTAgbWFjaGluZS4gVGhlcmUgaXMgYWxzbyBhIHdhcm5pbmcgc2F5aW5nIHRoYXQgIgkNCmZvbnQgZmFtaWx5IG5vdCBmb3VuZCBpbiBXaW5kb3dzIGZvbnQgZGF0YWJhc2UNCiIuIEFmdGVyIEkgdHJpZWQgdGhlIGZpeGVkIHRoZXkgbWVudGlvbmVkIGluIFtnaXRodWJdKGh0dHBzOi8vZ2l0aHViLmNvbS9ocmJybXN0ci9ocmJydGhlbWVzL2lzc3Vlcy8yKSwgdGhlIHByb2JsZW0gc3RpbGwgcGVyc2lzdHMuICANCg0K