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

Original


Source: Peasley, J. R. (2023).


Objective

The objective of the data visualisation was to show how the brand value of Airlines has changed from 2013-2022, particularly to be able to see the total decrease in 2020 and 2021 due to the pandemic and then the climb in 2022, so that it can answer if airline brands will recover. The targeted audience is people with particular interest in valuation of airline brands which would appeal to those who have shares in those companies or those considering buying shares.

The visualisation chosen had the following three main issues:

  • Fails to address the question of the recovery by brands after the pandemic as the length of the total 10 brand values is less accurate when they are not aligned and makes it hard to compare to other years
  • Circles in each year make it hard to tell the difference between airlines as area is not a great indicator of scale and the rankings do not stand out in each year just by looking
  • Colours are too similar and out of the 8 colour blindness tests on the Color Blindness Simulator, (Colblindor, 2023), 6 of the tests present problems with determining colours

Reference

Code

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

library(readxl)
airlines <- read_excel("../Top 10 Most Valuable Airline Brands 2013-2022.xlsx")
airlines$Brand <- as.factor(airlines$Brand)
airlines$Year <- as.factor(airlines$Year)
airlines$Position <- as.factor(airlines$Position)
airlines$Region <- as.factor(airlines$Region)
airlines$Value = airlines$`Brand Value $M`/1000

library(ggplot2)
library(tidytext)

p1 <- ggplot(data = airlines, aes(x = reorder_within(Brand, Value, Year), y = Value, fill = Region)) +
  geom_bar(stat="identity") +  scale_x_reordered() + coord_flip() +
  facet_wrap(.~Year, scales="free_y") + theme(legend.position = c(.9, .1))

p1 <- p1 + geom_text(aes(label = Position, y = 50), size =2,  fill = "gray", family="Georgia")

p1 <- p1 + xlab("Airline Brand") + ylab("Brand Value in $B USD") + 
  labs(title = "Top 10 Most Valuable Airline Brands from 2013 to 2022",
                subtitle = "Airline brand value starting to increase in 2022 after decreases in 2020 and 2021",
                caption = "Source: Brand Finance (2022) - https://brandirectory.com/rankings/airlines/overview")

background <- "#EFF1F0"
pal <- c("#c4bbafff",
  "#143109ff",
  "#6b4b3eff",
  "#7c90dbff",
  "#fd5200ff")

p1 <- p1 +
  scale_fill_manual(values=pal) + 
  theme(text=element_text(family="Georgia", size = 7),
        plot.background = element_rect(fill = background),
        panel.background = element_rect(fill = background),
        legend.background = element_rect(fill = background),
        title = element_text(face = "bold", family="Bodoni 72", size = 11),
        axis.title.x = element_text(face = "bold", family="Georgia", size = 9),
        axis.title.y = element_text(face = "bold", family="Georgia", size = 9),
        legend.title = element_text(face = "bold", family="Georgia", size = 8))

Data Reference

Reconstruction

The following plot fixes the main issues in the original.