我想创建一个函数来保存绘图(来自ggplot
)。
这是一个数据框:
### creating data frame
music <- c("Blues", "Hip-hop", "Jazz", "Metal", "Rock")
number <- c(8, 7, 4, 6, 11)
df.music <- data.frame(music, number)
colnames(df.music) <- c("Music", "Amount")
然后我创建一个图:
### creating bar graph (this part is OK)
myplot <- ggplot(data=df.music, aes(x=music, y=number)) +
geom_bar(stat="identity") +
xlab(colnames(df.music)[1]) +
ylab(colnames(df.music)[2]) +
ylim(c(0,11)) +
ggtitle("Ulubiony typ muzyki wśród studentów")
现在我想将此图保存到 .pdf
。
这有效:
pdf("Myplot.pdf", width=5, height=5)
plot.music.bad
dev.off()
但是我想使用一个函数来自动执行此操作,该函数将我想要保存的图作为参数。 我不知 Prop 体该怎么做;这是我尝试过的:
save <- function(myplot){
plot<- myplot
pdf("lol.pdf", width=5, height=5)
plot
dev.off()
}
### .pdf file is created but doesn't work
save(myplot)
那么,我该怎么做呢?
最佳答案
您可以使用 print()
将 ggplot2
生成的绘图保存到文件中。
首先,定义保存绘图的函数:
savePlot <- function(myPlot) {
pdf("myPlot.pdf")
print(myPlot)
dev.off()
}
创建你的情节:
myPlot <- ggplot(ggplot(data=df.music, aes(x=music, y=number)) +
geom_bar(stat="identity") +
xlab(colnames(df.music)[1]) +
ylab(colnames(df.music)[2]) +
ylim(c(0,11)) +
ggtitle("Ulubiony typ muzyki wśród studentów")
最后调用该函数:
savePlot(myPlot)
<小时/>
或者,您可以在创建绘图后使用ggsave()
:
ggsave(filename="myPlot.pdf", plot=myPlot)
关于r - 使用函数保存 ggplot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22742737/