https://www.wri.org/insights/interactive-chart-shows-changes-worlds-top-10-emitters

Original


Source: Climate Watch 2022.


Objective

The objective of the selected data visualistion is to depict the proportional contribution of Top 10 World emitters towards 2/3 of the global emissions. Data visualisation attempts to identify and provide statistics for the field most contributing the pollution.

Targeted audience

Selected visualistion targets the general public as it utilises a variety of colors to highlight observations while attempting to showcase proportions with the assistance of pie-chart that majority of the general public would be familiar with.

Visualisation issues

The visualisation chosen had the following three main issues:

  • Pie charts are not ideal for representing accurate proportions as they resort to angles and area sizes that reference the proportion of the variable.

  • Visual Bombardment and deceptive colour combination: visualistion attempts to demonstrate every single country on the pie chart while uitilising too many colours. Also, Red-green combination is not an effective colour selection for people who are colour blind

  • Issue with data structure as the visualisation attempts at comparing observations that represent both countries (China, United States, etc.) and unions (European Union row #4). This is deceptive as as populations from different “scales” are compared. EU rationally has more emission as it comprises of 27 countries.

Code

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

setwd("C:/Users/User/Desktop/Assessment 2")
library(magrittr)
library(readr)
library(ggplot2)
library(dplyr)
library(tidyverse)
library(tidytext)
total_emissions <- read_csv("total_emissions.csv")
total_emissions<- total_emissions %>% rename(`CO2(T)`= `2018`)


total_emissions <- total_emissions[-c(1,4),]


total_emissions$Country[1:10] <- "Top 10 Emitters"
total_emissions$Country[11:193] <- "Rest of the World"


total_emissions_grouped <- total_emissions %>% group_by(Country) %>% summarise(Data = sum(`CO2(T)`))
total_emissions_grouped <- total_emissions_grouped %>% mutate(Proportion = total_emissions_grouped$Data/(total_emissions_grouped$Data[1]+total_emissions_grouped$Data[2])*100)

cbp1 <- c("#F0E442", "#D55E00") #setting colour vector

p <- ggplot(data=total_emissions_grouped, aes(x=Country, y = Proportion, fill = Country))

p1 <- p+geom_bar(stat = "identity", width = 0.4, colour = "black") + theme_minimal()+ coord_cartesian(ylim=c(0,100))+
  scale_fill_manual(values= cbp1)+
  labs(x = "CO2 Origin", y = "Contribution to the World emission (%)", title = " CO2 emissions: Top 10 Emitters vs Rest of the World (183 countries)", caption = "Data source:  Preliminary global greenhouse gas emissions 2018 from Climate Watch")+
  theme(legend.position = "none", plot.title = element_text(face = "bold"), axis.text.x = element_text(face="bold"))


#Working with Sectors

sector_emissions <- read.csv("sector_emissions.csv", stringsAsFactors = F)
sector_emissions<- sector_emissions %>% rename(`CO2 (T)`= `X2018`)


sector_emissions <- filter(sector_emissions, Country != "World" & Country != "European Union (27)")


#clean_data <- historical_emissions %>% group_by(Sector) %>% summarise(Data = sum(`2018`))

target <- c("China",
             "United States", "India", "Russia", "Japan", "Brazil", "Indonesia", "Iran", "Germany", "Canada")

df1 <- sector_emissions %>% filter(Country %in% target )

df2 <- sector_emissions %>% filter(!Country %in% target ) 

df1$`CO2 (T)` <- as.numeric(df1$`CO2 (T)`)
df2$`CO2 (T)` <- as.numeric(df2$`CO2 (T)`)

group_df1 <- df1 %>% group_by(Sector) %>% summarise(Data = sum(`CO2 (T)`))
group_df2 <- df2 %>% group_by(Sector) %>% summarise(Data = sum(`CO2 (T)`))



group_df1$Region <- "Top 10 Emitters"
group_df2$Region <- "Rest of the World"

total_group <- rbind(group_df1, group_df2) %>% filter(Sector!= "Total excluding LUCF")

total_group$Sector <- as.factor(total_group$Sector)
total_group$Region <- as.factor(total_group$Region)

p2 <- ggplot(data = total_group, aes(x = reorder_within(Sector, Data, Region), y = Data, fill = Region))


p3 <- p2+geom_bar(stat = "identity", colour = "black")+
  theme_minimal()+
  facet_grid(Region ~ ., scales = "free_y")+
  scale_x_reordered()+coord_flip(ylim = c(0, 26000))+
  labs ( x = "Industry/Sector", y = "CO2 (T)", title = "Contribution to World's CO2 levels by sector", caption = "Data source:  Preliminary global greenhouse gas emissions 2018 from Climate Watch", axis.text.x = element_text(face="bold"))+
  scale_fill_manual(values = cbp1)+
  geom_text(aes(label=round(Data,0)), hjust = -0.2,size = 4)

Reconstruction

The following plot fixes the main issues in the original.

References List