Composite plots: grid.arrange

I really like composite plots, where there’s a top part that describes a phenomenon and a bottom part with a synthetic time view of the overall process.
I’ve recently discovered this beautiful representation of educational differentials by gender, by Sara Lopus and Margaret Frye, and the beauty of this dataviz is that it tells a story on its own. (Click on the link for the publication)

I have used a random generated data to reproduce the graph in ggplot and used grid.arrange from gridExtra package to bind grobs, the top and bottom components.

grid.arrange(top, bottom, heights=c(10,5), widths=c(20), padding=0)

I have saved the map as a .png file png package and used rasterGrob from package grid to create a raster image graphical object.

Screen Shot 2018-08-30 at 11.26.50

The Spatial side of Demography at EPC…

Come meet me at EPC to discuss Spatial Demography!

Thursday, 7 June 2018, 9:00-10:30 Session 1 Motherhood, Labor Market and Wages: Contextual Determinants of Childbearing in Spain: A Spatial Panel Study

Friday, 8 June 2018, 11:00-12:30 Session 65 Fertility Trends and ProspectsThe Geography of Fertility Rates in Low and Middle-Income Countries: Analysis of Cross-Sectional Surveys from 74 Countries

See you at PAA 2018 in Denver!

As PAA 2018 is approaching, I’m looking forward to talk more about spatial prediction and subnational fertility disaggregation using DHS household survey data and our research on fine grid scale mapping of demographic indicators in low income countries at WorldPop (University of Southampton) and Flowminder.

Come meet me at the session Adolescent Transitions into Parenthood”, on Saturday 28th of April from 11:15am-12:45pm in Plaza Ballroom E (Sheraton Denver Downtown), I will present our paper The geography of fertility rates in low and middle-income countries: analysis of cross-sectional surveys from 69 countries”.



Kuwait population pyramids: changes between 2000-2020

Plot made in ggplot2 using geofacet, personal elaboration of Census data.


Here is the the geofacet gris, although maybe not one of the most exciting ones…

mygrid <- data.frame(
row = c(1, 1, 1, 2, 2, 3),
col = c(1, 2, 3, 2, 3, 3),
code = c("KWT1", "KWT2", "KWT3", "KWT4", "KWT5", "KWT6"),
name = c("Al-Jahra Governorate", "Capital (Al Asimah) Governorate", "Hawalli Governorate", "Al-Farwaniya Governorate", "Mubarak Al-Kabeer Governorate", "al Ahmadi Governorate"),
stringsAsFactors = FALSE