Click the Original, Code and Reconstruction tabs to read about the issues and how they were fixed.
Objective
Insurance is critical for many small business firms. It forms the base for financial planning for firms. The immediate fund requirements can be satisfied with the right insurance companies. This visualization aims to give an idea about dependable insurance companies.
Targeted audience for this visualization can be small business firms. Based on the requirements the visualization can help firms to choose the insurance companies.
The visualization chosen had the following three main issues:
Visual Bombardment - The visualization is stuffed with too much data, logos and color. The audience targeted for this visualization will struggle to read the data from the visualization provided. The spiral arrangement of the data is not easily understandable. The text is not written in a horizontal manner and at the origin of the spiral it is hard to read the names. The original data set used is having 50 insurance companies. But because of the spiral visualisation it couldn’t be included.
Unnecessary coloring (Redundancy) - The coloring of the strips is totally unnecessary here since the length of the strips indicate the revenue of the companies. So, we can say that there is redundancy in showing the value of revenue data. Due to the introduction of the coloring, the person now have to take a look at the legend also which increases the time to read the data from the visualization.
Two scales are used - The annual revenue is represented in millions for companies with less than a billion annual revenue and for the companies with more than a billion revenue it is shown as billions. This can cause a confusion to the person analyzing it. This also shows lack of consistency for the visualization
Overall, we can say that the data to be shown is very simple. But, the visualization is complicating it with the way the data is represented.
Reference
The following code was used to fix the issues identified in the original.
library(ggplot2)
# Reading the data
raw_data <- read.csv("Source.csv")
# Renaming the columns for understanding
colnames(raw_data) <- c("Company", "Revenue")
# Extracting the required columns for the visualization
data <- raw_data[, c("Company", "Revenue")]
# Creating the plot for the visualization
p<-ggplot(data=data, aes(x=reorder(Company, Revenue), y=Revenue)) +
# Generating the bar plot
geom_bar(stat="identity") + scale_y_continuous(breaks = seq(0,8000,500)) +
# Adding the title,x , y labels and caption for the plot
labs(title = "Top 50 Business Insurance Firms in the U.S",
caption = "Source: Business Insurance, 2020,
<https://www.businessinsurance.com/article/20190103/NEWS06/912325911
/\nBusiness-Insurance-2019-Data-Rankings-BI-Top-100-brokers-US-business#>",
x = "Company",
y = "Revenue (in Millions)")+
# Setting the sizes of different text in the plot
theme(plot.title = element_text(size = 40, face = "bold"),
axis.text = element_text(size = 20), axis.title = element_text(size = 30),
plot.caption = element_text(hjust = 0.5, size = 15))
# Making the bar plot horizontal
p1 <- p + coord_flip()
Data Reference
The following plot fixes the main issues in the original.