This visualization explores whether or not there are gender differences in airplane judgments. There appears to be a small difference in childcare judgments, such that women consider it less rude to bring a baby or unruly child on a plane than men do. Gender differences of judgments seemingly differed across generations.
figure_4 %>%
ggplot(aes(x = perc, y = fct_reorder(type, perc), fill = gender)) +
geom_bar(stat="identity") +
theme_minimal()+
colorblindr::scale_fill_OkabeIto(name = "Gender") +
scale_x_continuous(limits = c(0, 1))+
facet_wrap(~gender) +
labs(x = "Percent judging the action as rude",
y = NULL,
title = "Are men more judgmental than women?")+
theme(legend.position = "none",
axis.text.x=element_blank())+
geom_text(x = figure_4$perc, y = figure_4$type,
label = paste0(round(figure_4$perc*100), "%"),
hjust = -.2)
In the first draft, I am plotting the percent who judge each action as rude and facet wrapping by gender. The numbers make it easy to compare female and male judgments. However, for my next draft, I want to be able to make the comparison more easily.
figure_4 %>%
ggplot(aes(x = perc, y = fct_reorder(type, perc), fill = gender)) +
geom_bar(stat="identity", position=position_dodge()) +
theme_minimal()+
colorblindr::scale_fill_OkabeIto(name = "Gender") +
scale_x_continuous(labels = scales::percent,
limits = c(0, 1))+
labs(x = NULL,
y = NULL,
title = "Are men more judgmental than women?") +
geom_vline(xintercept = 0.5, color = "gray40", linetype = "dashed")
In this draft, I used the position_dodge()
argument to show the bars right next to each other. I also added a 50% vertical line so that you can see easily which actions are judged by rude by the majority of people. For the next draft, I am going to show this relation with a dumbbell plot/ connected dotplot. This will get rid of the unnecessary part of the bar that is not informative.
figure_4 %>% ggplot(aes(x = perc, y = fct_reorder(type, perc)))+
geom_line(size = 3, color = "gray60") +
geom_point(aes(color = gender), size = 4) +
theme_minimal() +
labs(x = "Percent judging the action as rude",
y = NULL,
title = "Are men more judgmental than women?")+
theme(legend.direction = "horizontal",
plot.title.position = "plot",
legend.position = "bottom")+
scale_x_continuous(labels = scales::percent,
limits = c(0,1))+
colorblindr::scale_color_OkabeIto(name = "Gender") +
geom_vline(xintercept = 0.5, color = "gray40", linetype = "dashed")
In my final draft, I wanted to color the bars so that it is really easy to see if one mean was greater than the other. Next, I wanted to facet wrap by age cohort because I noticed an interesting pattern in that women were less judgmental about bringing babies and children on planes. Since attitudes about gender roles are generational, I thought it would be interesting to see if this relationship occurred across different generations. I also created a theme and added a new font to the visualization.
library(showtext)
font_add_google('Caveat Brush', "cb")
showtext_auto()
figure_4b %>% ggplot(aes(x = perc, y = fct_reorder(type, perc)))+
geom_vline(xintercept = c(.25,.5, .75 ), color = "gray75")+
geom_line(aes(color = greater_gender), size = 1.5) +
scale_color_manual(values = c("#ffd780", "#8eccf0"), name = "Higher judgment") +
ggnewscale::new_scale_color() +
geom_point(aes(color = gender), size = 3) +
colorblindr::scale_color_OkabeIto(name = "Gender") +
labs(x = "Percent judging the action as rude",
y = NULL,
title = "Are men more judgmental than women?",
caption = "Data source: FiveThirtyEight")+
theme_classic(base_size=15)+
theme(legend.direction = "horizontal",
plot.title.position = "plot",
legend.position = "top",
strip.text.x = element_text(face = "bold", size = 18, family = "cb"),
strip.background = element_rect(colour = "black", fill = "#8eccf0", size = 1),
panel.border = element_rect(linetype = "solid", size = 1, fill = NA),
panel.background = element_rect(fill = "white"),
plot.title = element_text(face = "bold", size = 40, family = "cb"),
legend.key=element_blank(),
axis.ticks = element_blank(),
axis.text.y = element_text(face = c("bold", "plain", "bold", "plain", 'bold', 'plain', 'bold', 'plain', 'bold')))+
scale_x_continuous(labels = scales::percent,
limits = c(0,1),
expand = c(0,0),
breaks = c(.25, .5, .75))+
facet_wrap(~age, ncol = 2)