相关疑难解决方法(0)

无法打印到pdf ggplot图表

可能重复:
从R函数中生成多个图形

发生在我身上的奇怪事情:以下代码无法打印到pdf设备:

outnames <- c("1.pdf", "2.pdf")
for (n in outnames){
    pdf(n)
    qplot(1:10)
    dev.off()
}
Run Code Online (Sandbox Code Playgroud)

即使生成了pdf文件,也不会打印任何内容到pdf.然而,

pdf(outnames[2])
qplot(1:10)
dev.off()
Run Code Online (Sandbox Code Playgroud)

会很好地工作.知道为什么吗?转载于R 2.11.1.

r ggplot2

24
推荐指数
2
解决办法
1万
查看次数

ggplot2与其他功能(R)之间的加号

我试图得到这个例子:

ggplot(mpg,aes(displ,hwy))+ geom_point()

有人能解释一下这两个函数之间发生了什么吗?

ggplot2是否超载"加"运算符?总结这些2的结果是什么,它分配给了什么?它是特定于R的功能,还是特定于ggplot2的?这是管道吗?

r operators ggplot2

11
推荐指数
1
解决办法
1545
查看次数

ggarrange for 循环和 pdf 中的多页

这是我的问题:我正在循环我的数据。对于循环的每次迭代,我创建了 3 个在同一页面上组织的图,并且我希望每次迭代将一页存储在同一个 pdf 文件中。

我正在使用 ggpubr 包中的 ggarrange (我希望图 3 显示在第二行并跨越 2 列)。

这是我如何进行(在一些测试数据上):

我创建测试数据框:

tt <- data.frame(group=rep(c("A", "B"), 3), value=1:6)
tt2 <- data.frame(x=1:10, y=1:10)
Run Code Online (Sandbox Code Playgroud)

我在对象中创建和存储图:

p1 <- ggplot(tt, aes(x=group, y=value, fill=group)) +
    geom_dotplot(binaxis="y")
p2 <- ggplot(tt, aes(x=group, y=value, fill=group)) + geom_boxplot()
p3 <- ggplot(tt2, aes(x=x, y=y)) + geom_point()
Run Code Online (Sandbox Code Playgroud)

这有效:

pdf("test.pdf")
ggarrange(ggarrange(p1, p2),
        p3,
        nrow=2, 
        heights=c(2, 1)) 
dev.off()
Run Code Online (Sandbox Code Playgroud)

这不起作用(它不会引发错误,但 pdf 文件不包含任何页面):

pdf("test.pdf")
for(i in 1:2){
ggarrange(ggarrange(p1, p2),
        p3,
        nrow=2, 
        heights=c(2, 1)) 
}
dev.off()
Run Code Online (Sandbox Code Playgroud)

我想也许嵌套的 ggarrange 可能是一个问题,但这也不起作用:

pdf("test.pdf")
for(i in …
Run Code Online (Sandbox Code Playgroud)

for-loop r ggplot2 ggpubr

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

标签 统计

ggplot2 ×3

r ×3

for-loop ×1

ggpubr ×1

operators ×1