3

可以缩小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)
4

2 回答 2

6
last_plot() + opts(aspect.ratio=1/10)
于 2012-07-22T23:00:56.143 回答
3

您可以通过将以下内容添加到代码的最后一行来调整边距:

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

数字是按 c(上、右、下、左)的顺序添加到边距的行数。

更新:我和巴蒂斯特讨论的方法将改变情节本身的大小,但不会改变情节区域的大小。为了完整起见,如果你想改变绘图的纵横比但仍然让它填满整个绘图区域,那么你需要改变绘图区域本身的大小。

在 Mac 上你可以做quartz(width=w, height=h), 宽度和高度以英寸为单位。这将打开一个指定大小的绘图窗口。然后运行您的原始代码(不更改边距或纵横比)。这将为您提供所需的任何绘图大小,并且绘图将填充绘图区域。完成后,您可以使用dev.off()关闭 Quartz 窗口。

您可以使用此 Stack Overflow 答案在 Windows 中执行相同的操作。

最后,如果您使用的是 RStudio,您可以执行 Export-->Copy-to-Clipboard,然后手动调整纵横比。

当然,您可以结合使用我或巴蒂斯特的原始答案以及上述方法来同时控制绘图区域的大小和边距的大小。

于 2012-07-22T22:55:21.117 回答