我遇到了一个奇怪的问题.我能够使用R/ggplot2创建和保存pdf文件,并在R Console运行时查看它们.一旦我退出R控制台,Mac OS X上的预览将不再显示PDF.我已经能够保存.png文件没有问题,但由于我无法控制的原因,我需要保存为pdf文件.我用来保存的代码如下:
pdfFile <-c("/Users/adam/mock/dir/structure.pdf")
pdf(pdfFile)
ggplot(y=count,data=allCombined, aes(x=sequenceName, fill=factor(subClass))) + geom_bar()
ggsave(pdfFile)
Run Code Online (Sandbox Code Playgroud)
有谁遇到过类似的问题?如果是这样,我需要做些什么来解决它?非常感谢您的宝贵时间.
Rei*_*son 31
问题是您没有关闭pdf()设备dev.off()
dat <- data.frame(A = 1:10, B = runif(10))
require(ggplot2)
pdf("ggplot1.pdf")
ggplot(dat, aes(x = A, y = B)) + geom_point()
dev.off()
Run Code Online (Sandbox Code Playgroud)
这样做有效,如:
ggplot(dat, aes(x = A, y = B)) + geom_point()
ggsave("ggplot1.pdf")
Run Code Online (Sandbox Code Playgroud)
但不要混淆两者.
在R常见问题解答中,您需要print()随叫随到ggplot()- 而且您还需要关闭绘图设备dev.off(),即尝试
pdfFile <-c("/Users/adam/mock/dir/structure.pdf")
pdf(pdfFile)
ggplot(y=count,data=allCombined,aes(x=sequenceName,fill=factor(subClass)))
+ geom_bar()
dev.off()
Run Code Online (Sandbox Code Playgroud)
编辑:我是半正确的dev.off(),显然print()是不需要的.加文的答案更多.
小智 5
以下情节
pdf("test.pdf")
p <- qplot(hp, mpg, data=mtcars, color=am,
xlab="Horsepower", ylab="Miles per Gallon", geom="point")
p
dev.off()
Run Code Online (Sandbox Code Playgroud)
在控制台中有效,但在函数中或当您从文件中获取它时则无效。
myfunc <- function() {
p <- qplot(hp, mpg, data=mtcars, color=am,
xlab="Horsepower", ylab="Miles per Gallon", geom="point")
p
}
pdf("test.pdf")
myfunc()
dev.off()
Run Code Online (Sandbox Code Playgroud)
将生成损坏的 pdf 文件以及我们使用的修复方法
print(p)
Run Code Online (Sandbox Code Playgroud)
在一个函数内。
在控制台中。“p”会自动打印,但不会在函数中或在您获取文件时打印。
| 归档时间: |
|
| 查看次数: |
16988 次 |
| 最近记录: |