Click the Original, Code and Reconstruction tabs to read about the issues and how they were fixed.
Objective
The objective of the original data visualisation is to show the gross revenue of popular car brands and which companies generate the most revenue. The target audience is the average customer interested in cars. Gross Revenue per Second is used to make large numbers more manageable to the average person.
The visualisation chosen had the following three main issues:
Deception - Visual Bombardment - Although the visualisation is beautiful, there is a lot of images. For those unfamiliar with the company logos, they have to look up the color of the bar and then compare it to the legend. The bar graph and circular areas also refer to the same value
Deception - Area and Size as Quantity - Circular areas makes it difficult to understand the scale of difference between the Gross Per Revenue. The circular axis also makes it difficult to compare values on the barplot.
Data Integrity - While sources of data is included, it is not clear where the values are coming from. The data is not reproducible based on the sources given.
Reference
Mercedes-Benz (2020). Mercedes-Benz Cars | Daimler > Interactive Annual Report 2019. Retrieved from https://annualreport.daimler.com/ar2019/ar2016/divisions/mercedes-benz-cars.
Corporate.ferrari.com. (2020) Annual report 2019. Retrieved from https://corporate.ferrari.com/sites/ferrari15ipo/files/ferrari_-_annual_report_2019.pdf
Farnell, E.(2020) How Much 19 Major Car Brands Make Every Second - Partsgeek.Com - Discount Auto Parts Online. Retrieved https://www.partsgeek.com/mmparts/a_how_much_19_major_car_brands_make_every_second.html
Forbes. (2020). Forbes. Retrieved from https://www.forbes.com
Suzuki Motor Company (2020). Annual Report | Global Suzuki. Retrieved from https://www.globalsuzuki.com/ir/library/annualreport
Macrotrends (2020). Macrotrends | The Long Term Perspective On Markets. Retrieved from https://www.macrotrends.net/
The following code was used to fix the issues identified in the original.
library(dplyr)
library(ggplot2)
library(ggpubr)
library(tidyr)
cars <- readr::read_csv("cars.csv")
cars<-cars %>%
rename(
GrossPerSecond = `Gross Revenue per second` ,
GrossRevenue =`Gross Revenue`
)
cars$Name<-as.character(cars$GrossRevenue/1000000000)
cars$right<-") "
cars$B<-"B"
cars$left<-" ("
cars = cars %>% unite(Carbrands, Automaker,left,Name,B,right,sep="",remove = FALSE)
img<-ggplot(data = cars, aes(x=reorder(Carbrands,GrossPerSecond), y=GrossPerSecond))+
geom_bar(stat="identity") +
geom_text(aes(label=GrossPerSecond), hjust=1.05, color="white",position = position_dodge(0.9), size=3.5)+
coord_flip()+
labs(title = "Gross Revenue per Second in USD of 19 Major Car Brands in 2019",
x="Car Brands (Total Annual Revenue)",
y="Gross Revenue Per Second (31,536,000 Seconds Per Year)")+
theme_bw()+
theme(
plot.caption = element_text(hjust=0)
)+
labs(caption = "Source:
Volkswagen Group.(2020)
Toyota Motor Corportaion (2020)
Ford Motor Company(2020)
Honda Motor Co., Ltd. (2020)
General Motors (2020)
Fiat Chrysler Automobiles (2020)
BMW Group (2020)
Daimler(2020)
Nissan Motor Corporation (202)
Hyundai Motor Company and its Subsidiaries (2020)
Groupe PSA (2020)
Groupe Renault (2020)
Kia Motors (2020)
Volvo Group (2020)
Tata Motors (2020)
Suzuki Motor Corporation (2020)
Mazda Motor Corporation (2020)
Subaru Corporation (2020)
Tesla Inc. (2020)")
Data Reference
The following plot fixes the main issues in the original.