2

可能重复:
在循环中打印和保存 PDF

新手问题。我的制表符分隔输入数据如下所示:

x y
1 50
2 25
3 60
4 25
5 90
6 100

这是我的代码文件“code.R”:

data <- read.table("input",header=T,sep="\t")
pdf("output.pdf")
ggplot (data,aes(x=x,y=y) + geom_bar(stat="identity")
dev.off()

我使用以下命令运行代码,但没有收到任何错误消息:

source("code.R")

该代码生成“output.pdf”文件,但它是空白的(当我想打开它时出错)。

当我在我的 R 终端中手动输入上述代码的第一行和第二行时,图形在图形设备中看起来是正确的。

当我在文件中写入以下行并运行文件时,什么也没有发生(没有错误,没有图形设备窗口)

data <- read.table("input",header=T,sep="\t")
ggplot (data,aes(x=x,y=y)) + geom_bar(stat="identity")

输入文件和代码文件的行尾都是 windows 格式。我也尝试过data <- as.data.frame(read.table(...)),但没有任何改变。我真的不明白我的代码有什么问题......

任何建议和解释都会很棒!谢谢 !

4

1 回答 1

1

您的 ggplot 调用缺少右括号。

这一行:

ggplot (data,aes(x=x,y=y) + geom_bar(stat="identity")

应该:

ggplot (data,aes(x=x,y=y)) + geom_bar(stat="identity")

或者您可以尝试 ggsave() 而不是 pdf() dev.off() ,如下所示:

ggplot (data,aes(x=x,y=y)) + geom_bar(stat="identity")
ggsave("output.pdf")

不要混用这两种方法。

于 2013-01-23T07:09:48.310 回答