2012-07-22 96 views
3

收缩y轴可能吗?我的意思是,而不是阴谋正方形,我想它是长方形,y轴缩小。收缩y轴宽度

library(ggplot2) 
data = data.frame(rnorm(10000)) 
colnames(data) = "numOfX" 
m <- ggplot(data, aes(x=numOfX)) 
m + geom_histogram(colour = "blue", fill = "white", binwidth = 0.5) 
+0

您可以通过指定'width'并保存你想在任何尺寸的图像'height'在'ggsave'参数。 – joran 2012-07-22 22:51:43

回答

6
last_plot() + opts(aspect.ratio=1/10) 
+0

这也很好。谢谢 – learner 2012-07-22 23:07:05

3

您可以通过添加调整边距下面你的代码的最后一行:

+ opts(plot.margin = unit(c(1,1,10,1), "lines")) 

的数字是行数添加到保证金的顺序C(顶部,右,底,左)。

更新: baptiste和我讨论的方法将改变图本身的大小,但不改变绘图区的大小。只是为了完整性,如果您想要更改绘图的纵横比,但仍然会填充整个绘图区域,则需要更改绘图区域本身的大小。

在Mac上,您可以执行quartz(width=w, height=h),宽度和高度以英寸为单位。这将打开指定大小的绘图窗口。然后运行您的原始代码(无边距或宽高比变化)。这将为您提供任何您希望的绘图大小,并且绘图将填满绘图区域。完成后,您可以使用dev.off()来关闭Quartz窗口。

您可以在Windows中使用this Stack Overflow answer做同样的事情。

最后,如果你使用RStudio,你可以做出口 - >复制到剪贴板,然后手动调整宽高比。

当然,你可以用我或巴蒂斯特的原始答案的组合与上面的方法一起控制绘图区的大小和边缘的同时大小。

+0

显示以下错误:在结构上的错误(列表(...),CLASS =“选项”): 找不到功能“单位” – learner 2012-07-22 22:57:20

+1

负荷运作良好格包 – baptiste 2012-07-22 22:59:00

+0

。谢谢 – learner 2012-07-22 23:03:01