Click the Original, Code and Reconstruction tabs to read about the issues and how they were fixed.
Objective
The objective of this data visualisation can be interpreted on global and country levels. On global level, it attempts to demonstrate which countries own the biggest parts of the global debt. And, on country level, it illustrates how significant the debt could be in terms of impacting the economic growth of the country by comparing the debt to the country’s GDP.
The target audience of the data visualisation could include general public, subject matter experts in finance and government planning, and countries or organisations that are interested in international investments.
The visualisation chosen had the following three main issues:
This visualisation seems to be a combination of representations based on pie charts and area & size, both of which can be highly deceptive for the audience. For instance, Italy, Germany, France, and the United Kingdom are very close in terms of their share of the global debt. However, at the first glance, France seems to hold a higher share compared to the other 3 nations which in fact is deceptive when trying to draw conclusions from the visualisation.
Colours that have been associated with the scale of debt for various countries could have been chosen more carefully, given that debt as a concept is a negative event. For example, countries with the lowest percentage of debt to GDP have been displayed in black, which in its negative form implies fear and evil. Whereas, countries with the lower amounts of debt are the fortunate ones. Also, the author, instead of selecting yellow for the higher end of the debt to GDP spectrum could have utilised red which is a sign of danger and aggression.
While the chart is colorful, the flags of the 4 highlighted countries (the US, Lebanon, Japan, and Greece) are displayed in black and white which is a sign of inconsistency in terms of color.
Reference
The following code was used to fix the issues identified in the original.
library(ggplot2)
library(readr)
library(dplyr)
library(tidyr)
library(forcats)
library(magrittr)
IMF_DF <- read_csv("data.csv")
tot_global_debt <- IMF_DF %>% summarise(total = sum(`Debt in $M`))
IMF_DF %<>% mutate(ShareofGlobalDebt= (IMF_DF$`Debt in $M` * 100 / 80397843) %>% round(digits = 2))
IMF_DF %<>% select(-c(Year, Continent))
top20 <- c("United States", "Japan", "China", "France", "Italy", "United Kingdom", "Germany", "India", "Canada", "Spain",
"Brazil", "Saudi Arabia", "Singapore", "South Korea", "Iran", "Mexico", "Australia", "Belgium", "Netherlands", "Greece")
IMF_DF$Country <- fct_other(IMF_DF$Country, keep = top20, other_level = "Other")
imf_df <- IMF_DF
imf_df$Country <- factor(imf_df$Country,
levels = c("United States", "Japan", "China", "Other", "France", "Italy", "United Kingdom", "Germany", "India", "Canada", "Spain",
"Brazil", "Saudi Arabia", "Singapore", "South Korea", "Iran", "Mexico", "Australia", "Belgium", "Netherlands", "Greece"))
imf_df_other <- imf_df[imf_df$Country == "Other", ]
imf_df_main <- imf_df[imf_df$Country != "Other", ]
imf_df_other2 <- imf_df_other %>% group_by(Country) %>%
summarise(`Debt Percentage of GDP` = mean(`Debt Percentage of GDP`), `Debt in $M` = sum(`Debt in $M`), ShareofGlobalDebt = sum(ShareofGlobalDebt))
imf_df_final <- bind_rows(imf_df_main, imf_df_other2)
imf_df_final$Country <- factor(imf_df_final$Country,
levels = c("United States", "Japan", "China", "Other", "France", "Italy", "United Kingdom", "Germany", "India", "Canada", "Spain",
"Brazil", "Saudi Arabia", "Singapore", "South Korea", "Iran", "Mexico", "Australia", "Belgium", "Netherlands", "Greece"))
imf_df_final %<>% rename( Share_Global_Debt = ShareofGlobalDebt)
imf_df_final_longer <- imf_df_final %>% pivot_longer(c(2, 4), names_to <- "variable", values_to <- "value")
f <- ggplot(imf_df_final_longer, aes(value,Country))
g <- f + geom_col(color = "navy", fill = "red") + facet_grid(cols = vars(variable), scales = "free") +
labs(x = "Measures of Debt", y = "Country",
title = "$63 Trillion of World Debt in One Visualization",
subtitle = "Based on IMF data in 2020")
Data Reference
The following plot fixes the main issues in the original.