Click the Original, Code and Reconstruction tabs to read about the issues and how they were fixed.
Objective
Objective:
The objective of the data visualization is to convey the trends and patterns in the historical initial unemployement insurance claims which are provided at the weekly level for each of the counties in the state of Alabama.
Target audience:
The data visualization is intended to target a wide range of user segments which would benefit from the labor market information such as Labor Department executives across the counties in Alabama as well as the general public, particularly with an interest in the trends in the unemployment insurance claims in their respective counties across the years or generally anyone who is exploring the various information areas of the Labor Department website.
Larger report details (of which the chosen data visualization is a part):
The data visualization is part of a 2-tabbed interactive tableau report, which also includes the insurance claims across each county in Alabama for a chosen week. The chosen data visualization works as a deep dive into the historical insurance claims for a chosen county.
The visualisation chosen had the following three main issues:
Issue 1: The trends/patterns in claims are not shown as there is no time-continuity. A linear timeline is missing and the larger focus is on a few peaks, and not on the relative rise/fall of claims across weeks. The date range isn’t provided either (which is a perceived bias towards the user)
Issue 2: Bubble chart is not a good representation for such large data (which can typically get scaled as more weeks get added and the chart ends up bloating up and simultaneously shrinking individual bubbles, thus compromising readability). The values are not directly visible (except for the peaks) and need to be hovered upon to view the actual value. While the bubble size shown relative difference, it is difficult to make out an accurate inference basis only the bubble size.
Issue 3: It is not possible to explore the trends in the claims across years (compare same week across years) to check for any seasonality or repetitive indicators in unemployement claims. The bubble colors used are not unique across weeks and are reused randomly with no significance, thus leading to confusion/misleading interpretations.
Reference
Labor Market Information Division | Labor Market Information Homepage . Interactive Weekly Unemployment Insurance Claims. Retrieved April 11, 2022, from ‘Alabama Department Of Labor’ website: http://www2.labor.alabama.gov/Laus/InitialClaimsTab.aspx
copyright © 2017 Alabama Department of Labor, Labor Market Information (LMI) Division
The following code was used to fix the issues identified in the original.
library(ggplot2)
library(ggrepel)
library(magrittr)
library(tidyverse)
library(lubridate)
library(Rcpp)
library(scales)
claims <- data.frame(
week = c("14-03-2020", "21-03-2020", "28-03-2020", "04-04-2020", "11-04-2020", "18-04-2020", "25-04-2020", "02-05-2020", "09-05-2020", "16-05-2020", "23-05-2020", "30-05-2020", "06-06-2020", "13-06-2020", "20-06-2020", "27-06-2020", "04-07-2020", "11-07-2020", "18-07-2020", "25-07-2020", "01-08-2020", "08-08-2020", "15-08-2020", "22-08-2020", "29-08-2020", "05-09-2020", "12-09-2020", "19-09-2020", "26-09-2020", "03-10-2020", "10-10-2020", "17-10-2020", "24-10-2020", "31-10-2020", "07-11-2020", "14-11-2020", "21-11-2020", "28-11-2020", "05-12-2020", "12-12-2020", "19-12-2020", "26-12-2020", "02-01-2021", "09-01-2021", "16-01-2021", "23-01-2021", "30-01-2021", "06-02-2021", "13-02-2021", "20-02-2021", "27-02-2021", "06-03-2021", "13-03-2021", "20-03-2021", "27-03-2021", "10-04-2021", "17-04-2021", "24-04-2021", "01-05-2021", "08-05-2021", "15-05-2021", "22-05-2021", "05-06-2021", "12-06-2021", "19-06-2021", "26-06-2021", "03-07-2021", "10-07-2021", "17-07-2021", "24-07-2021", "31-07-2021", "07-08-2021", "14-08-2021", "21-08-2021", "28-08-2021", "04-09-2021", "11-09-2021", "18-09-2021", "25-09-2021", "02-10-2021", "09-10-2021", "16-10-2021", "23-10-2021", "30-10-2021", "06-11-2021", "13-11-2021", "20-11-2021", "27-11-2021", "04-12-2021", "11-12-2021", "18-12-2021", "25-12-2021", "01-01-2022", "08-01-2022", "15-01-2022", "22-01-2022", "29-01-2022", "05-02-2022", "12-02-2022", "19-02-2022", "26-02-2022", "05-03-2022", "12-03-2022", "19-03-2022", "26-03-2022", "02-04-2022"),
claims = c("252", "2371", "13603", "15839", "10709", "9611", "11878", "3985", "3920", "3715", "4221", "3302", "2977", "2672", "2815", "2626", "2688", "3107", "3110", "2418", "1562", "1412", "1553", "1275", "1177", "1332", "1519", "1410", "1196", "1130", "1270", "1197", "1022", "1090", "1482", "1471", "1998", "1002", "1031", "978", "918", "686", "1310", "1858", "1687", "1575", "1800", "2066", "1848", "1704", "1515", "2330", "3161", "2593", "3230", "1773", "1704", "1421", "1627", "1716", "1570", "1457", "1192", "1201", "1054", "877", "849", "633", "625", "634", "1038", "940", "842", "696", "722", "678", "485", "515", "514", "698", "488", "518", "509", "662", "553", "489", "655", "379", "531", "400", "530", "300", "358", "767", "732", "803", "577", "379", "329", "269", "272", "265", "266", "288", "296", "287"))
claims$claims <- as.integer(claims$claims)
claims %<>% mutate(week = as.Date(dmy(week)))
claims$year <- format(claims$week, format = "%Y")
monthname<- c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
thousand_to_k_formatter <- function(x)
{
dplyr::case_when(
x < 1e3 ~ as.character(x),
x < 1e6 ~ paste0(as.character(format(round(x/1e3,2), nsmall =0)), "K"),
TRUE ~ as.character(x))
}
p1 <- ggplot(data = claims, aes(group = 1, x = week, y = claims))
p1 <- p1 +
geom_line(stat = "identity", aes(colour = year)) +
geom_point(aes(colour = year)) +
geom_text_repel(aes(label = paste(thousand_to_k_formatter(claims), paste0("(", paste(day(week), monthname[month(week)], sep="-"), ")"), sep = " ")),
accuracy = 1,
min.segment.length = 0.8,
nudge_y = -2,
nudge_x = .05,
size = 2.5,
vjust = 1.1,
hjust = 1.3,
force = 3.5,
max.overlaps=8.5,
segment.color = '#cccccc',
segment.size = 0.7) +
labs(title = " Historical Initial Claims By Week - Jefferson (Mar '20 - Apr '22)",
y = "Count Of Weekly Claims",
x = "Weeks From 14 Mar '20 To 02 Apr '22") +
scale_y_continuous(label=label_number_si()) +
scale_x_date(date_breaks = "2 month", date_labels = "%b '%y") +
theme_bw() +
theme(axis.text.x=element_text(angle=35, hjust=1))
Data Reference
Labor Market Information Division | Labor Market Information Homepage. Interactive Weekly Unemployment Insurance Claims. Retrieved April 11, 2022, from ‘Alabama Department Of Labor’ website: http://www2.labor.alabama.gov/Laus/InitialClaimsTab.aspx
copyright © 2017 Alabama Department of Labor, Labor Market Information (LMI) Division
Data is copied from the data table provided in the data visualization (towards the left of it). The visual provided is filtered for the ‘Jefferson’ county. Hence, the reconstructed data visualization also leverages the same data.
The following plot fixes the main issues in the original.