如何在绘图中使用geom_line添加连续线

时间:2020-06-30 05:48:37

标签: r ggplot2 plot

作为标题,我有一个假数据:

data <-
structure(list(year = c(2010, 2011, 2012, 2010, 2011, 2012, 2010, 
2011, 2012, 2010, 2011, 2012), disease = c(1, 1, 1, 2, 2, 2, 
3, 3, 3, 4, 4, 4), group = c("A", "A", "A", "A", "A", "A", "B", 
"B", "B", "B", "B", "B"), incidence = c(0.2, 0.3, 0.4, 0.1, 0.3, 
0.2, 0.5, 0.6, 0.7, 0.8, 0.9, 0.3)), row.names = c(NA, -12L), class = c("tbl_df", 
"tbl", "data.frame"))

我想画一条线以显示不同的组(disease 1disease 2属于group A并带有一种颜色,disease 3disease 4属于{ {1}}和另一种颜色),但是该线绘制到年份标签而不是最后一个类别,而且我无法在group B中设置fillcolor

geom_segment

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:3)

只需将geom_line替换为geom_segment

library(ggplot2)

ggplot(data) + 
  geom_tile(aes(x = disease, y = year, fill= incidence), color = 'black') +
  geom_segment(aes(x = disease - 0.5, xend = disease + 0.5, y = 2009, yend = 2009, group = group, color = group)) +
  ylab("") + 
  xlab("") +
  xlim(c(1:4,"")) + 
  ylim(c(2005,2012+1)) + 
  annotate(x="",y=2010:2012,label=2010:2012,size=2.5,geom="text")+
  theme_bw()+
  theme_classic()+
  theme(
    axis.line = element_blank(),
    axis.ticks = element_blank(),
    axis.text.y = element_blank()
    
  )