Click the Original, Code and Reconstruction tabs to read about the issues and how they were fixed.

Original


Source: https://howmuch.net/articles/united-nations-budget-contributions-by-country-2019


Objective

The above visualisation represents the gross contribution and percentage share of wealth in support of the UN by countries around the world in the year 2019. The information is offered by United Nations’ Secretariat’s December 2018 report, covering all regions and nations, and every portion of the continuum of contribution. The visualisation displays the 31 countries who have topped in contribution along with rest of the world’s contribution separated by contrasting colours used for each of the continents separately.

The target audience for this visualisation are the Economists, World leaders, Business investors, Statisticians and Government officials all around the world.

The visualisation chosen had the following three main issues:

  • Colour issues: The colours used are not colour-blind friendly. Red-green colour blindness is the most common type of colour-blindness among people and should be avoided to make the chart visible to most of the people. However, in the given chart, red and green colours are used to represent Australia and Europe respectively. Also, the colour distribution used is quite confusing as the colours chosen to represent multiple regions look similar. While the Middle East and Europe are distinct regions, similar colours are used for representing them which will create misinterpretation in the minds of the viewers.

  • Visual Deception: The visualisation counts on area-size, based on the percentage of country’s contribution. We have to concentrate hard on defining the difference between the sizes of the areas allocated to each country in the visualization. We cannot interpret the contribution percentage by just visualizing the areas unless we study the values as most of the countries show similar sizes. The area of Brazil appears almost the same as that of Italy which is not the case and may create false impressions in the minds of the viewers.

  • Mismanagement of proportions: The countries with relatively smaller percentages of contributions have their statistics represented out of the graph. This made the visualisation appear unorganized. Moreover, the text used in some areas are not appealing and is difficult to read. For instance, labelling used for UAE appears very small and requires more concentration to interpret.

Reference

Code

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

library(readxl)
library(dplyr)
library(ggplot2)
library(RColorBrewer)
library(viridis)
library(stringr)
library(forcats)


Data<- read_excel("UNdata.xlsx")

Data <- as.data.frame(Data)

p1 <- ggplot(data = Data, aes(group = Region, x = reorder(Country,Gross) ,y = Scale, fill=Region)) +
     geom_bar(stat = "identity",colour="black",width = 1) + 
   coord_cartesian(ylim = c(0,35)) +
  labs(title = "United Nations Budget Contributions by Country 2019",
       x = " Country",
       y = "Percentage of Total Contribution",
       caption = "Article and Sources:
       https://howmuch.net/articles/united-nations-budget-contributions-by-country-2019
       http://undocs.org/en/ST/ADM/SER.B/992") +
    geom_text(aes(label = paste0('$',round(Gross/1000000,digits = 2),'M')),size=4,position = position_dodge(width=0.1),hjust=-0.10)+
  theme_grey() +
  scale_fill_manual(values=c("#8B4513","#cc79a7","#0072b2","#DFC27D","#009e73","#5D3A9B","#FF8C00")) +
  facet_grid(rows = vars(Region),scales="free_y",space ="free_y")+
  theme(legend.title = element_text(size = 16,face = "bold"),
    legend.text = element_text(size = 10, face = "bold"),
     legend.background = element_rect(size=0.7, linetype="solid",colour ="black"),
    plot.title = element_text(size=20, face="bold",hjust = 0.5),
    axis.title.x = element_text(size=15, face="bold"),
    axis.title.y = element_text(size=15, face="bold"), 
    axis.text = element_text(size=13,face = "bold"),
   strip.text.y = element_blank(),
   strip.background = element_blank(),
    panel.border = element_blank() ) +
   scale_y_continuous(labels = function(Scale) paste0(Scale, "%"))+
    coord_flip() 

Data Reference

Reconstruction

The following plot fixes the main issues in the original.