Please carefully read the statements below and check each box if you agree with the declaration. If you do not check all boxes, your assignment will not be marked. If you make a false declaration on any of these points, you may be investigated for academic misconduct. Students found to have breached academic integrity may receive official warnings and/or serious academic penalties. Please read more about academic integrity here. If you are unsure about any of these points or feel your assessment might breach academic integrity, please contact your course coordinator for support. It is important that you DO NOT submit any assessment until you can complete the declaration truthfully.
By checking the boxes below, I declare the following:
I have not impersonated, or allowed myself to be impersonated by, any person for the purposes of this assessment
This assessment is my original work and no part of it has been copied from any other source except where due acknowledgement is made. Due acknowledgement means the following:
No part of this assessment has been written for me by any other person except where such collaboration has been authorised by the lecturer/teacher concerned.
I have not used generative “AI” tools for the purposes of this assessment.
Where this work is being submitted for individual assessment, I declare that it is my original work and that no part has been contributed by, produced by or in conjunction with another student.
I give permission for my assessment response to be reproduced, communicated, compared and archived for the purposes of detecting plagiarism.
I give permission for a copy of my assessment to be retained by the university for review and comparison, including review by external examiners.
I understand that:
Plagiarism is the presentation of the work, idea or creation of another person or machine as though it is your own. It is a form of cheating and is a very serious academic offence that may lead to exclusion from the University. Plagiarised material can be drawn from, and presented in, written, graphic and visual form, including electronic data and oral presentations. Plagiarism occurs when the origin of the material used is not appropriately cited.
Plagiarism includes the act of assisting or allowing another person to plagiarise or to copy my work.
I agree and acknowledge that:
I have read and understood the Declaration and Statement of Authorship above.
If I do not agree to the Declaration and Statement of Authorship in this context and all boxes are not checked, the assessment outcome is not valid for assessment purposes and will not be included in my final result for this course.
This is a template file. The following example included is not considered a good example to follow for Assignment 2. Remove this warning prior to submitting.
The original data visualisation selected for the assignment was as follows:
The objective and audience of the original data visualisation chosen can be summarised as follows:
Objective:
The objective of this visualisation is to show and compare
which company’s employees have donated the most during this current
election cycle. Furthermore, for each company show what proportion of
the money donated went to each of the two major parties (Republican and
Democratic Party). The designer wants to explore and show the influence
people from various companies may have on the US election cycle and
explore their political preferences and orientations.
Audience
The main audience of this visualisation would be Canadian and
American business and finance workers following the 2024 US election
cycle.
The visualisation chosen had the following three main issues:
Misleading data:
The visualisation doesn’t match with the data credited (Quiver Quantitative). It appears that they’ve included PAC donations with employee donations in the total amounts donated for each company. This is misleading because it increases each company’s total donation amount, it changes the Democrat and Republican ratios and it changes the order of the companies in the ranking. This may exaggerate the true impact of each company and change the viewers opinion of them.
Unable to compare companies:
It’s diffcult to compare the magnitude of donations between companies as they are only ordered based on their total donation and labled. By organising the data like this it is no better than a table of numbers, as there isn’t a strong and easy way to visually compare the magnitude of each company’s donations.
Form over function:
The original design overemphasises the company’s branding and the aesthetics of the visualisation to the detriment of the data. The branding is so large it distracts from the the total donation amount, and the ballot boxes are so larg they distance data further making it difficult to compare eachother.
The following code was used to fix the issues identified in the original.
library(ggplot2)
library(ggpp)
donations <- data.frame(
Company = c("News Corp","News Corp","Alphabet","Alphabet","Blackstone","Blackstone","Netflix","Netflix","Microsoft","Microsoft","Arista Networks","Arista Networks","Palantir Technologies","Palantir Technologies","Charles Schwab","Charles Schwab","Twilio","Twilio","Intercontinental Exchange","Intercontinental Exchange"),
Contribution = c(8.285858,0.097677, 6.639442, 0.633748,1.04664, 6.041341, 4.464488, 0.002686, 3.445873, 0.87632, 3.560568, 0.03045, 1.052258,2.264868, 0.115894, 2.983638, 2.115989, 0.001967, 0.012169, 1.888948),
Party = c("D","R","D","R","D","R","D","R","D","R","D","R","D","R","D","R","D","R","D","R"),
PercentageDem = c("99%","","91%","","15%","",">99%","","80%","","99%","","32%","","","",">99%","","",""),
PercentageDemExcep = c("","","","","","","","","","","","","","","4%","","","","1%",""),
PercentageRep = c("","","","9%","","85%","","","","20%","","","","68%","","96%","","","","99%"),
PercentageRepExcep = c("","1%","","","","","","<1%","","","","1%","","","","","","<1%","",""))
# Data: Quiver Quantitative (2024)
donations$Company <- factor(donations$Company, levels = c("News Corp","Alphabet","Blackstone","Netflix","Microsoft","Arista Networks","Palantir Technologies","Charles Schwab","Twilio","Intercontinental Exchange"))
# Ben (2013)
levels(donations$Company) <- gsub(" ", "\n", levels(donations$Company))
# Mollie (2013)
p1 <- ggplot(data = donations, aes(group = 1, x = Company,y = Contribution, fill = Party))
p1 <- p1 + geom_bar(position = "stack", stat = "identity") +
scale_fill_manual(values = c("#2028ad", "#d31f1d"), name = "Party Share", breaks = c("D", "R"), labels = c("Democrat", "Republican")) +
# Image Color Picker (2024)
# Cookbook for R (N/D)
# Alboukadel Kassambara (N/D)
geom_text(aes(label = paste(PercentageDem)), position = position_stack(vjust = 0.6), colour = "white", size = 5, fontface = "bold") +
geom_text(aes(label = paste(PercentageDemExcep)), nudge_y = 4*10^-1, colour = "#2028ad", size = 5, fontface = "bold") +
# Image Color Picker (2024)
geom_text(aes(label = paste(PercentageRep)), position = position_stack(vjust = 0.6), colour = "white", size = 5, fontface = "bold") +
# Hadley Wickham, et al. (N/D)
geom_text(aes(label = paste(PercentageRepExcep)), position = position_stacknudge(vjust = 1, y = 4*10^-1), colour = "#d31f1d", size = 5, fontface = "bold") +
# Michael Krassowski (2024)
# Image Color Picker (2024)
labs(
title = "Employee Contributions",
subtitle = "Company Employee Donations in 2024",
y = "Total\nDonations\n(USD)") +
theme_minimal(base_size = 12) +
# Hadley Wickham, et al. (N/D)
theme(
axis.text.x = element_text(angle = 30, hjust = 0.8, vjust = 1.2, size = 14),
axis.text.y = element_text(size = 13),
axis.title.x = element_text(size = 15),
axis.title.y = element_text(size = 14, angle = 0, vjust = 0.5),
panel.grid = element_blank(),
plot.title = element_text(size = 22, hjust = 0.5, face = "bold"),
plot.subtitle = element_text(size = 12, hjust = 0.5),
legend.title = element_text(size = 13),
panel.background = element_rect(fill = "#cdcccc", colour = "#cdcccc"),
plot.background = element_rect(fill = "#cdcccc", colour = "#cdcccc")) +
# Andrew Heiss (2022)
# Hadley Wickham, et al. (N/D)
# Jack Edmonds (2011)
# Image Color Picker (2024)
scale_y_continuous(limits = c(0,10^1),
labels = scales::label_dollar(accuracy = 1, prefix = "$", suffix = "M"))
# Hadley Wickham & Dana Seidel (N/D)
The following plot fixes the main issues in the original.
The reference to the original data visualisation choose, the data source(s) used for the reconstruction and any other sources used for this assignment are as follows: