默認情況下,ggplot
中的每個圖都適合其設備。如何控制ggplot的繪圖面積比例而不是將它們安裝到R中的設備上?
這並不總是可取的。例如,可能需要將geom_tile
中的方塊製成正方形。一旦您更換設備或更改x/y軸上元素的數量,瓷磚不再是正方形。
是否可以設置硬盤的比例或大小的情節和適合其設備的窗口劇情(或者使設備的寬度和高度成正比,這些情節的)?
默認情況下,ggplot
中的每個圖都適合其設備。如何控制ggplot的繪圖面積比例而不是將它們安裝到R中的設備上?
這並不總是可取的。例如,可能需要將geom_tile
中的方塊製成正方形。一旦您更換設備或更改x/y軸上元素的數量,瓷磚不再是正方形。
是否可以設置硬盤的比例或大小的情節和適合其設備的窗口劇情(或者使設備的寬度和高度成正比,這些情節的)?
您可以使用coord_fixed()指定圖的縱橫比。
> library(ggplot2)
> df <- data.frame(
+ x = runif(100, 0, 5),
+ y = runif(100, 0, 5))
如果我們繼續繪製這些數據,然後我們得到一個符合輸出設備尺寸的圖。
> ggplot(df, aes(x=x, y=y)) + geom_point()
然而,如果我們使用coord_fixed(),那麼我們得到與固定縱橫比(其中,默認情況下具有相同的長度的x軸和y軸)的曲線圖。繪圖的大小將由輸出設備的最短尺寸決定。
> ggplot(df, aes(x=x, y=y)) + geom_point() + coord_fixed()
最後,我們可以通過指定一個參數coord_fixed(),其中,所述參數是y軸的長度與X軸的長度的比率調整固定縱橫比。因此,要獲得一個情節是兩倍高,因爲它是廣泛的,我們將使用:
> ggplot(df, aes(x=x, y=y)) + geom_point() + coord_fixed(2)
非常優雅!是否存在該設備'width'和'height'避免大白色邊緣時'coord_fixed'情節恰好適合該設備的雙方只有一方速戰速決? –
對不起,安東,不是我所知道的。 – DataWookie
下面是一個簡單的裝置來治療相對於你的情節,
library(ggplot2)
p = qplot(1:10, (1:10)^3)
g = ggplotGrob(p)
g$respect = TRUE
library(grid)
grid.draw(g)
也許看看[這個答案](http://stackoverflow.com/a/16368413/630863),這似乎保留了你的情節的縱橫比。 – MattLBeck
這通常只適用於保存情節。因此,使用'ggsave',它允許您將'height'和'width'傳遞給設備(pdf,png,...)。 – Roland
@Roland手動指定寬度和高度,這將使你的繪圖區完全平方是棘手的,特別是如果你想,因爲你需要知道的房間到底有多少,這些需要長達佔他們包括傳說和標題。 – MattLBeck