【问题标题】:plot groups in different figures with ggplot2 [duplicate]用ggplot2在不同的图中绘制组[重复]
【发布时间】:2015-01-13 13:22:06
【问题描述】:

考虑以下示例:

require(ggplot2)

aa <- data.frame(date = runif(3,1,100),Change = runif(3,1,100))

bb <- data.frame(date = runif(3,1,100),Change = runif(3,1,100))

dd <- rbind(aa,bb)
dd$site <- c("aa","aa","aa","bb","bb","bb")

是否可以在同一个文档中生成 2 个图,其中图 1 应该是对应于 sites == 'aa' 的那些站点,而第二个应该是对应于 sites == 'bb' 的那些站点?

我尝试在循环中生成数字,但 pdf 中似乎没有绘制任何内容:

nams <- ("aa","bb")

pdf("plots.pdf",width = 6,height = 6, paper='A4',family = "Times")
for (i in 1:2){
  dd2 <- dd[dd$site == nams[i],]

  ggplot(dd,aes(date,Change)) +
    geom_line()
}
dev.off()

【问题讨论】:

  • 为什么不使用facetsggplot(dd, aes(date, Change)) + geom_line() + facet_grid(site~.)
  • 这只是一个示例代码,我的真实数据有 200 多个站点,因此我需要不同的图,我不能实际使用构面。
  • 您是希望在同一个窗口中绘制多个图,还是要一个循环来单独绘制每个组?如果是前者,look here.

标签: r ggplot2


【解决方案1】:

你必须使用 print 来输出它:

for (i in 1:2){
  dd2 <- dd[dd$site == nams[i],]

  print(ggplot(dd, aes(date, Change)) +
    geom_line()
  )
}

【讨论】:

    猜你喜欢
    • 2017-12-03
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多