相关疑难解决方法(0)

从R函数中生成多个图形

我想使用ggplot图形从R中的函数中生成几个图形窗口...

testf <- function(a, b) {
  devAskNewPage(TRUE)
  qplot(a, b);
  # grid.newpage(recording = TRUE)
  dev.new()
  qplot(a, a+a);
  # grid.newpage(recording = TRUE)
  dev.new()
  qplot(b, b+b);
}

library(ggplot2)

x <- rnorm(50)
y <- rnorm(50)
testf(x, y)
Run Code Online (Sandbox Code Playgroud)

但是,dev.new()和grid.newpage()似乎都没有刷新前面的情节.

我知道,在R中,函数通常只生成他们评估的最后一件事,但我想更好地理解这个过程并了解任何可能的解决方法.

思考?

r ggplot2 r-faq

29
推荐指数
1
解决办法
4227
查看次数

在for循环中使用ggplot绘图不起作用

我制作了ggplot,它显示了一个物种的种群数量.这个脚本效果很好.所以我做了for-loop to chain为25种物种制作这个情节,但它不起作用.

以下是一个物种的示例:

A <- data.frame(sp="A",x=c(rep(0.1,3),rep(2,3),rep(4.5:8.5,4),6.5), width=c(rep(NA,3), rep(4,3), rep(1,20),5),y=c(rep(1:3,2), rep(1:4, each=5),5),col=c(rep("white",21), rep("grey80",6)), name1=c("C.I. (%)","C.N. (%)", rep("",25)), name1i=c(rep("",2), "Total",rep("",24)), nb1=c(rep(NA,7),1.33,0.53,0.52,0.42,NA,27.12,10.90,10.55,8.56,rep(NA,11)),nb2=c(rep(NA,16),24754,13558,5449,5273,4281,rep(NA,6)),nb3=c(rep(NA,6),2.43,rep(NA,4),49.51, rep(NA,15)), name2=c(rep("",21),"J","F","M","A","M","Month"))

library(ggplot2)
library(gridExtra)
  table <- A
  windows()
  ggplot(table, aes(x=x, y=y, width=width, fill=col))+
    geom_tile(colour="black")+
    scale_fill_manual(values = c("white"="white", "grey80"="grey80"),    
                      breaks = levels(table$col), na.value = "white")+
    geom_text(aes(label=name1), size=6, hjust=0)+
    geom_text(aes(label=name1i), size=6, hjust=0, fontface=3)+
    geom_text(aes(label=nb1), size=6)+
    geom_text(aes(label=nb2), size=6, fontface=3)+
    geom_text(aes(label=nb3), size=6, fontface="bold")+
    geom_text(aes(label=name2), size=6, fontface="bold")+
    coord_cartesian(xlim=c(0,9), ylim=c(0.5,5.5))+
    labs(x = "",y = "") +                   
    scale_x_discrete(expand = c(0, 0)) +   
    scale_y_discrete(expand = c(0, 0))+     
    theme(axis.ticks …
Run Code Online (Sandbox Code Playgroud)

for-loop r ggplot2

6
推荐指数
1
解决办法
3662
查看次数

标签 统计

ggplot2 ×2

r ×2

for-loop ×1

r-faq ×1