Original


Source: Jobvine.za via Glassdoor. (2011).


Objective

The objective of the chart above was to inform the viewer of the job titles that have the 10 highest salary packages at Google. Therefore, it could be said tat the intended audience may be job seekers searching for information about salaries or positions they might like to obtain within the industry.

The visualisation chosen had the following three main issues:

  • The designer has chosen to ignore convention in using the visual elements of a pie chart to represent range as opposed to parts of a whole. This makes the chart very hard to interpret and also obscures the data due to overlapping segments.
  • There seems to be an issue with the circular axis used on the pie chart as the values that denote 8th points have not been placed at the proper locations. This is deceptive to the viewer as it can make the segments appear larger than their respective share.
  • The designer has selected a color pallette that features reds and greens together, thus posing an issue for people with deuteranomaly. Specifically, the Senior Partner Technology Manager segment completely disappears against the Human Resources Director segment due to the use of red and green directly atop one another.

Reference

Code

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

library(ggplot2)
library(dplyr)
google <- read.csv("GoogleData.csv", stringsAsFactors = TRUE)
google <- google %>% transform(Position= reorder(Position,Salary))

googleMeansData <- google %>% group_by(Position) %>% summarise(SalaryMean= mean(Salary))
googleMeansData <- googleMeansData %>% transform(Position= reorder(Position,desc(SalaryMean)))
p1 <-  ggplot(data = googleMeansData, mapping = aes(x = googleMeansData$Position, y=googleMeansData$SalaryMean))
p1 <- p1 + geom_bar(stat="identity", fill = "#e85d54") + 
  labs(title = "Top 10 Salaries at Google",
       subtitle = "Calculated as averages using data from GlassDoor",
       y = "Salary in USD (000's)",
       x = "",
       caption = "Source: JobVine.za.co via GlassDoor. (2011).") + theme_minimal() +
  theme(text = element_text(color = "#7e827f"), 
        axis.text.x=element_text(size=10, color = "#000000"), 
        plot.subtitle = element_text(hjust=0, size= 10),
        plot.title = element_text(size = 20, hjust=0, vjust = 1), 
        axis.title.x = element_text(),
        axis.title.y = element_text(vjust = -1),
        plot.caption = element_text(hjust= .5, size = 7, vjust = -1.5),
        panel.grid.major = element_blank(),
        panel.grid.minor = element_blank()) + coord_flip() +
  geom_text(aes(label=round(googleMeansData$SalaryMean,0), hjust=-.1), size = 3)

Data Reference

Reconstruction

The following plot fixes the main issues posed by the original.