• R语言
  • 如何在保存图片时竖直拉伸而保持宽度不变?

在做heatmap时,图片右侧的label太多而无法看清楚,所以想在保存成文件(pdf或png)时进行竖直拉伸(主要通过设置width/heigth参数),但是结果图形文件中的图片还是原来大小,图片的上面和下面都留有大片空白,请给点提示。


示例:(纯粹为了掩饰)
pdf(file= "test1.pdf", height= 100, width= 5)
heatmap(as.matrix(rbind(mtcars, mtcars)))
dev.off()


此外,使用ggplot2中的绘图函数来进行绘图、保存,却可以拉伸图片来保存!请知情者指示。
自己顶起!希望路过的看到! :cool:
你好:
pdf(file= "test1.pdf",height= 100, width= 5,paper = 'a4',pointsize=7,pagecentre=TRUE)
heatmap(as.matrix(rbind(mtcars, mtcars)))
dev.off()

查看帮助文档发现,字体大小和点大小有关,所以pointsize=7要比默认的12小,指定height= 100, width= 5没有问题,如果设定画布大小paper = 'a4',就能减少留白,pagecentre=TRUE设置图形是不是居中 :-)
9 天 后
[未知用户]
谢谢你的热心回复!

你提供的这个方法也挺好的(通过将字体调小和修改画布的大小),结果也能够清楚地看到结果;
但是美中不足的是,画布的上面和下面还空了好多!(肯定应该有个参数或方法能够解决这个问题)

library(ggplot2)
qplot(length, data= movies, geom= 'histogram')
ggsave("test2.pdf", height= 40, width= 5)

这样出来的图片,就是我像要的(我怀疑自己没有表达清楚),高度进行了拉伸(占满了整个画布)而宽度不变;


(另外上面你提供的方法中,如果不设置height和width参数的话,效果会更好)


再次感谢你的回复!