微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

R-facet_grid ggplot2上的多线图

如何解决R-facet_grid ggplot2上的多线图

基本上我的问题类似于以下问题,但答案对我不起作用:

ggplot: 2 facets with multiple lines

我有一个DataFrame,叫df_tot,像这样:

  Day row_names        BX     CR         GD     GR      SB    VB
1  J1   nrows_e 12506.000 14.000 746494.000 53.000 286.000 9.000
2  J1   nrows_n    49.000  5.000  17468.000 16.000  38.000 7.000
3  J1   nrows_d 12457.000  9.000 729026.000 37.000 248.000 2.000
4  J1    scar_e     0.385  0.002     23.199  0.011   0.068 0.002
5  J1    scar_n     0.399  0.002     21.215  0.011   0.054 0.003
6  J1    scar_d    -0.014  0.001      1.984  0.000   0.014 0.000

我融化了它,并添加一个变量group_variable和group_sd,所以现在我得到了:

df <- melt(df_tot,id.vars = c("Day","row_names"),variable.name = 'value') %>%
  rename(ind = 3) %>%
  mutate(value = as.numeric(value))
df$group_variable <- substr(as.character(df$row_names),nchar(as.character(df$row_names)),nchar(as.character(df$row_names)))
df$group_sd <- as.factor(substr(as.character(df$row_names),1,nchar(as.character(df$row_names))-2))

df$Day <- factor(df$Day,levels = c("J1","J2","J3","J4","J5","J6","J7","J8","J9","J10","J11","J12","J13","J14"))
head(df)

  Day row_names ind value group_variable group_sd
1  J1   nrows_e  BX 12506.000              e    nrows
2  J1   nrows_n  BX    49.000              n    nrows
3  J1   nrows_d  BX 12457.000              d    nrows
4  J1    scar_e  BX     0.385              e     scar
5  J1    scar_n  BX     0.399              n     scar
6  J1    scar_d  BX    -0.014              d     scar

我想要的是,就像上面的问题所要求的那样,为每个facet_gridgroup_variable创建一个group_sd,但是我想在每个方面(子图)上所有ind列的行颜色都不同。

直到现在我一直尝试:

ggplot(df,aes(x = Day,y = value,group = ind)) +
  geom_line(aes(colour = ind)) +
  facet_grid(group_sd ~ group_variable,scale = "free_y")

图中的值都是错误的。

请告诉我您是否需要代码来构造数据,我将为您创建数据。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。