首页 > 解决方案 > 在比较年份时如何将种族添加为堆叠数据

问题描述

这是我目前必须按年份比较响应的代码,但我希望能够添加要在数据中显示的种族变量。例如堆叠数据,带有不同颜色的图例来表示种族。

data1820$Q8_4 = car::recode(data1820$Q8_4, "1='Yes'; 2 = 'No'; 3 = 'NR'")
data1820$Q8_4 <-
  factor(data1820$Q8_4, levels = c("Yes", "No", "NR"))

#Do you currently have any kind of health coverage
df <-
  data1820 %>% group_by(year) %>% count(Q8_4) %>% na.omit() %>%
  mutate(Percent = n / sum(n) * 100)

g <- ggplot(df, aes(x = Q8_4, y = Percent, fill = year)) +
  geom_bar(stat = 'identity') + 
  facet_grid(cols = vars(year)) + 
  theme(
    panel.grid.major = element_blank(),
    panel.grid.minor = element_blank(),
    panel.background = element_blank(), 
    strip.background = element_blank(), 
    panel.spacing = unit(4, "lines"),
    text = element_text(family = "Helvetica", 
                    size = 10),
    axis.ticks.x = element_blank(),
    axis.title.x = element_blank(),
    axis.title.y = element_blank(),
    plot.title = element_text(hjust = 0.5, vjust = 2),

    legend.title = element_blank(),
    legend.position = "none",
    plot.margin = margin(10, 10, 10, 10)

  ) +
  labs(title = "Do you currently have any kind of health coverage",
   y = "Percentage",
   fill = "year") +
  scale_fill_manual(values = colors, na.value = "grey") + 
  scale_y_continuous(labels = scales::percent_format(scale = 1)) + 
  scale_linetype_manual(guide = guide_legend(reverse = TRUE))

标签: rggplot2

解决方案


推荐阅读