我使用一组r命令生成了一个树状结构。它运行良好,并将生成的树状图保存到PDF文件中。为了提高效率,我将这些命令包装为一个函数,这不会改变任何东西。然而,pdf只是一个没有任何图形内容的空白文件。请让我知道我的函数定义出了什么问题。谢谢。
myplot<-function(inputcsv, outputfile){
library(ggdendro)
library(ggplot2)
x<-read.csv(inputcsv,header=TRUE)
d<-as.dist(x,diag=FALSE,upper=FALSE)
hc<-hclust(d,"ave")
dhc<-as.dendrogram(hc)
ddata<-dendro_data(dhc,type="rectangle")
ddata$labels$text <- gsub("\\."," ",ddata$labels$text)
ggplot(segment(ddata))+geom_segment(aes(x=x0,y=y0,xend=x1,yend=y1))
pdf(outputfile, width=30,height=35)
last_plot()
dev.off()
}发布于 2011-12-17 00:42:49
R常见问题
将ggplot调用封装在print()函数中。
ggplot和friends返回一个对象,并且仅当打印该对象时才会进行绘图。当您在命令行上执行此操作时,打印将自动进行。当你把它放到脚本或函数中时,你必须自己去做。
关于这是一个好主意还是一个愚蠢的事情会产生这样的问题的争论仍在继续……
https://stackoverflow.com/questions/8537130
复制相似问题