Original


Source: Wellcome Global Monitor 2018.


Objective & Targetted Audience

  • Targetted Audience: The audiences of this visualisation are health researchers, scientists, other health professionals and policy makers from around the world.

  • Objective: The objective of this visualisation is to help health researchers, scientists, other health professionals and policy makers across the world to better understand public perceptions of vaccination. As well as providing context for further research, its findings can increase trust and engagement between the audience and general society.

The visualisation chosen had the following three main issues:

  • Issue 1 : Visual Bombardment: The visualisation stands on X axis with multiple baselines for Y axis. It creates a visual bombardment. At first sight, it’s messy to the audience’s eyes - takes some time to understand the basic structure of the visualisation.

  • Issue 2: Scaling: The X axis doesn’t start from 0 and creates an illusion for the audience as if none of the countires have under 30% believers.On the top of the visualisation it looks like Bangladesh has almost 100% believers and Japan has around 35% - which is in fact 95% for Bangladesh and 9% for Japan (Retrieved from dataset).

  • Issue 3: Visual deception: The visualization changes the division of regions mentioned in the dataset originally/our general knowledge of regions and presents it in a way that turns our focus into some specific regions only. For example, i) All the regions of the world are not mentioned (like Australia is not mentioned) - only a few divisions are present. Nor all countries. What is the criteria for choosing these specific countries and regions? This creates a deception for the audience - they are only being shown a handful of countries and regions depending on no specific objective. ii) The second region from the top is actually a mix of two regions, Africa + Asia. Merging them into one region creates deception. Like Iran, an Asian country, is being compared to two African countries Algeria and Libya. It doesn’t show the true characteristic of the region. In the same way we have other mixes here as well (Former Soviet, Sub Saharan Africa).

Reference

Code

The following code was used to fix the issues identified in the original.

library(ggplot2)
library(readxl)
library(tidyr) 
library(dplyr)
library(extrafont)


data <- read_excel("workingfile.xlsx")
data <- na.omit(data)


table(data$Country)
## 
##      Armenia   Bangladesh      Belarus        Egypt     Ethiopia 
##            3            3            3            3            3 
##       France        India        Japan      Liberia       Malawi 
##            3            3            3            3            3 
## Sierra Leone  South Korea  Switzerland       Taiwan     Tanzania 
##            3            3            3            3            3 
##      Ukraine 
##            3
data$Country <- factor(data$Country,
                          levels = c("Japan",
                                     "South Korea",
                                     "Ukraine",
                                     "Taiwan",
                                     "Switzerland",
                                     "Belarus",
                                     "France",
                                     "Armenia",
                                     "Sierra Leone",
                                     "Tanzania",
                                     "India",
                                     "Ethiopia",
                                     "Liberia",
                                     "Egypt",
                                     "Malawi",
                                     "Bangladesh"
                          ), 
                          labels = c("Japan",
                                     "South Korea",
                                     "Ukraine",
                                     "Taiwan",
                                     "Switzerland",
                                     "Belarus",
                                     "France",
                                     "Armenia",
                                     "Sierra Leone",
                                     "Tanzania",
                                     "India",
                                     "Ethiopia",
                                     "Liberia",
                                     "Egypt",
                                     "Malawi",
                                     "Bangladesh"
                          ))




p <- ggplot(data = data, 
            aes(x = Country, y = Percentage_of_believers , fill = Region)) +
  geom_bar(stat = "identity") + coord_flip() + 
  facet_grid(.~Age_Group, scales = "free") 



p <- p +
  labs(title = "8 Top & 8 lowest ranking countries-regions with citizens believing in safety of vaccination, by age percentage - 2018",
       subtitle  = "Asian countries Bangladesh with highest & Japan with lowest believers",
       caption = "Source: Wellcome Global Monitor - 2018 (https://wellcome.ac.uk/reports/wellcome-global-monitor/2018) ")

background <- "#EFF1F0"


pal <- c("#7678ed",
         "#c8b6ff",
         "#5DD39E",
         "#ff70a6ff",
         "#00afb9",
         "#e9ff70ff",
         "#b2f7efff",
         "#f2b5d4ff"
)

p <- p + 
  scale_fill_manual(values = pal) +
  theme(plot.background = element_rect(fill = background),
        panel.background = element_rect(fill = background),
        legend.background = element_rect(fill = background),
        text=element_text(family="Georgia"),
        title = element_text(face = "bold"))

p <- p + ggtitle("Top & least ranking 8 countries believing vaccine is safe, by age percentage - 2018") +
  xlab("Country") + ylab("Percentage of Believers")

p <- p + theme(
plot.title = element_text(color="black", size=10, face="bold"),
axis.title.x = element_text(color="black", size=9, face="bold"),
axis.title.y = element_text(color="black", size=9, face="bold"),
plot.subtitle = element_text(color = "black", size=9, face = "italic"),
plot.caption = element_text(color = "black", size=8, face = "italic")
)

p <- p + theme(legend.title = element_text(color = "black", size = 9),
          legend.text = element_text(color = "black"))

p <- p + theme(
  plot.title = element_text(hjust = 0.4),
  plot.subtitle = element_text(hjust = 0.4)
)

Data Reference

Reconstruction

The following plot fixes the main issues in the original. We have converted it into a bar chart, with faceting grids of 3 age groups showing believers’ percentage of the top 8 and lowest 8 ranking countries from around the world, depicting which regions they belong to.

This visualisation now shows which country’s people believe most and least in the safety of vaccination, which region of the world they belong to and what percentage of their age groups contribute how much in it.