# Load .csv file and rename columns
kickstart_projects <- read.csv("A2_kickstart - Sheet1.csv", stringsAsFactors = FALSE)
names(kickstart_projects) <- c("Projects", "Launched", "Successful", "Money.pledged", "Pledges", "Success.rate", "Average.pledge")
Original Kickstarter Visualization
# Sort by success rate and remove rows with NA values
project_success_rate <- kickstart_projects %>%
mutate(Projects = reorder(Projects, Success.rate)) %>% drop_na()
# Create a new variable Money.pledged for % money pledged for project to total money pledged
project_success_rate$pledge.percent <- (((project_success_rate$Money.pledged) / sum(project_success_rate$Money.pledged)) * 100)
project_success_rate$pledge.percent <- round(project_success_rate$pledge.percent, 1)
# Horizontal bar chart descending order w/ money pledged %
kickstarter_visualization <- ggplot(project_success_rate, aes(x = Projects, y = Success.rate)) +
geom_bar(stat = "identity", width = 0.75, fill = "gray68") +
geom_point(data = project_success_rate, aes(x = Projects,
y = pledge.percent, color = pledge.percent), size = 2.5) +
scale_color_gradient(low = "#FFCC00",
high = "#CC0000") + ylab("Success Rate (%)") +
labs(title = "Crowdfunded projects on Kickstarter in 2012",
subtitle = "Project success rate vs. Money pledged",
caption = "*Money pledged % = Money pledged per project as % of total",
color = "% Money pledged") +
theme_classic() +
theme(axis.title.y = element_blank(),
axis.text.y = element_text(vjust = 0.3, size = 10),
plot.title = element_text(size = 12, face = "bold"),
plot.subtitle = element_text(size = 9, hjust = 0.1),
plot.caption = element_text(size = 6, vjust = 1),
legend.position = c(0.8, 0.4),
legend.title = element_text(size = 8),
legend.text = element_text(size = 8)) +
coord_flip()
kickstarter_visualization
Revised Visualization #1
# Sort by success rate and remove rows with NA values
project_success_rate <- kickstart_projects %>%
mutate(Projects = reorder(Projects, Success.rate)) %>% drop_na()
# Create a new variable Money.pledged for % money pledged for project to total money pledged
project_success_rate$pledge.percent <- (((project_success_rate$Money.pledged) / sum(project_success_rate$Money.pledged)) * 100)
project_success_rate$pledge.percent <- round(project_success_rate$pledge.percent, 1)
# Horizontal bar chart in descending order by success rate
rev2_visualization <- ggplot(project_success_rate, aes(x = Projects, y = pledge.percent)) +
geom_bar(stat = "identity", width = 0.75, fill = "lightsteelblue4") +
geom_point(data = project_success_rate, aes(x = Projects,
y = Success.rate, color = Success.rate), size = 2) +
scale_color_gradient(low = "#FFCC00",
high = "#CC0000") + ylab("% Money Pledged") +
labs(title = "Crowdfunded projects on Kickstarter in 2012",
subtitle = "Project success rate vs. Money pledged",
caption = "*Money pledged % = Money pledged per project as % of total",
color = "Success Rate") +
scale_y_continuous(limits = c(0, 80)) +
theme_classic() +
theme(axis.title.y = element_blank(),
axis.text.y = element_text(vjust = 0.3, size = 10),
plot.title = element_text(size = 12, face = "bold"),
plot.subtitle = element_text(size = 9, hjust = 0.1),
plot.caption = element_text(size = 6, vjust = 1),
legend.position = c(0.9, 0.25),
legend.title = element_text(size = 8),
legend.text = element_text(size = 8)) +
coord_flip()
rev2_visualization
Revised Visualization #2
# Sort by success rate and remove rows with NA values
project_success_rate <- kickstart_projects %>%
mutate(Projects = reorder(Projects, Money.pledged)) %>% drop_na()
# Create a new variable Money.pledged for % money pledged for project to total money pledged
project_success_rate$pledge.percent <- (((project_success_rate$Money.pledged) / sum(project_success_rate$Money.pledged)) * 100)
project_success_rate$pledge.percent <- round(project_success_rate$pledge.percent, 1)
# Horizontal bar chart in descending order by money pledged
rev1_visualization <- ggplot(project_success_rate, aes(x = Projects, y = pledge.percent)) +
geom_bar(stat = "identity", width = 0.75, fill = "lightsteelblue4") +
geom_point(data = project_success_rate, aes(x = Projects,
y = Success.rate, color = Success.rate), size = 2.5) +
scale_color_gradient(low = "#FFCC00",
high = "#CC0000") + ylab("% Money Pledged") +
labs(title = "Crowdfunded projects on Kickstarter in 2012",
subtitle = "Project success rate vs. Money pledged",
caption = "*Money pledged % = Money pledged per project as % of total",
color = "Success Rate") +
scale_y_continuous(limits = c(0, 80)) +
theme_classic() +
theme(axis.title.y = element_blank(),
axis.text.y = element_text(vjust = 0.3, size = 10),
plot.title = element_text(size = 12, face = "bold"),
plot.subtitle = element_text(size = 9, hjust = 0.1),
plot.caption = element_text(size = 6, vjust = 1),
legend.position = c(0.95, 0.8),
legend.title = element_text(size = 8),
legend.text = element_text(size = 8)) +
coord_flip()
rev1_visualization
Revised Visualization #3
# Sort by success rate and remove rows with NA values
project_success_rate <- kickstart_projects %>%
mutate(Projects = reorder(Projects, Success.rate)) %>% drop_na()
# Create a new variable Money.pledged for % money pledged for project to total money pledged
project_success_rate$pledge.percent <- (((project_success_rate$Money.pledged) / sum(project_success_rate$Money.pledged)) * 100)
project_success_rate$pledge.percent <- round(project_success_rate$pledge.percent, 1)
# Horizontal bar chart descending order w/ money pledged %
rev3_visualization <- ggplot(project_success_rate, aes(Projects, Success.rate)) +
geom_bar(stat = "identity", width = 0.75, fill = "lightgray") +
geom_point(data = project_success_rate, aes(x = Projects,
y = pledge.percent, color = pledge.percent), size = 2.5) +
scale_color_gradient(low = "#FFCC00",
high = "#CC0000") + ylab("Success Rate (%)") +
labs(title = "Crowdfunded projects on Kickstarter in 2012",
subtitle = "Project success rate vs. Money pledged",
caption = "*% Money pledged = Money pledged per project category / Total money pledged for all project categories",
color = "% Money pledged") +
scale_y_continuous(expand = c(0, 0), limits = c(0, 80)) +
theme_classic() +
theme(axis.title.y = element_blank(),
axis.text.y = element_text(vjust = 0.3, size = 10),
plot.title = element_text(size = 12, face = "bold"),
plot.subtitle = element_text(size = 9, hjust = 0.1),
plot.caption = element_text(size = 6, hjust = 0, vjust = -0.8),
legend.position = c(0.9, 0.25),
legend.title = element_text(size = 8),
legend.text = element_text(size = 8)) +
coord_flip()
rev3_visualization