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

使用带有 facet_wrap 的 ggplot 使用不同类型的 lynes

如何解决使用带有 facet_wrap 的 ggplot 使用不同类型的 lynes

假设我的数据具有以下结构

structure(list(MODEL = c("SHAR","SHAR","MHAR","MHAR"),name = c("NSW","QLD","SA","VIC","NSW","VIC"),value = c(-0.429298062117084,0.369924963217068,-0.337914242584103,0.352630004951941,-2.08652175501946,-0.788308699403464,-0.283024876840677,-0.673127168726321,-1.68696080065691,-0.584489188226214,0.648107971996921,-0.861309510260168,-1.63384189007935,0.718255492983859,-1.17198565174371,0.591123365147864,0.208861829604905,-0.596711833086073,-1.33166531555532,-1.31370104749052,-1.04879351668995,-0.333940489158404,1.40014661442373,0.270226863552986),Date = structure(c(2011,2011,2012,2013,2013),class = "Date")),class = "data.frame",row.names = c(NA,-24L))

我使用 facet_wrap 绘制两个模型的结果,我希望每个模型都有不同的线型。我尝试使用“scale_linetype_manual”,但我相信这不是带有 facet_wrap 的适当命令。我使用的代码如下:

library(ggplot2)
ggplot(aes(x = as.Date(Date),y=value,colour = MODEL),data = EXAMPLE) +
  scale_color_manual(values = c("skyblue3","firebrick3"),labels = c("MHAR-ReCov Model","SHAR Model")) +
  
  scale_linetype_manual(values = c(2,5),"SHAR Model")) +
  geom_line() + facet_wrap(vars(name),ncol = 4,scales = "free")+
  theme_test() +
  theme(axis.text.x = element_text(angle = 45,hjust = 1),legend.position = "bottom",legend.title = element_blank())+
  labs(x = "",y="")

如果有人能帮助我,我将不胜感激。

解决方法

linetype = MODEL中包含aes

library(ggplot2)

ggplot(aes(x = as.Date(Date),y=value,colour = MODEL,linetype = MODEL),data = EXAMPLE) +
  scale_color_manual(values = c("skyblue3","firebrick3"),labels = c("MHAR-ReCov Model","SHAR Model")) +
  scale_linetype_manual(values = c(2,5),"SHAR Model")) +
  geom_line() + facet_wrap(vars(name),ncol = 4,scales = "free")+
  theme_test() +
  theme(axis.text.x = element_text(angle = 45,hjust = 1),legend.position = "bottom",legend.title = element_blank())+
  labs(x = "",y="")

enter image description here

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