2013-04-29 48 views
1

我用格包做多圖圖不同的多圖佈局相同大小的次要情節:如何獲得與R和電網

# load libraries 
library(grid) 
library(ggplot2) 
library(gridSVG) 

# create some data 
p <- ggplot(mtcars, aes(wt, mpg)) 

# push Viewport and create layout 
pushViewport(viewport(layout = grid.layout(nrow = 5, ncol = 4))) 
matrixindex = cbind(rep(1:5,each =4), rep(1:4,times=5)) 

#fill viewport 
for (k in 1:20){ 
print(p+geom_point(), 
vp=viewport(layout.pos.row=matrixindex[k,1],layout.pos.col=matrixindex[k,2]))} 

# export as SVG 
gridToSVG("trial.svg","none","none") 

現在,我想產生第二圖,改變了佈局(只有一行,但再次是4列)。但是圖中的單個地塊應該具有與5x4佈局相同的尺寸。我怎樣才能做到這一點?

回答

1

您可以使用heights和/或widths參數grid.layout固定尺寸,例如:

pushViewport(viewport(layout = grid.layout(heights = unit(0.2 , "npc") ,nrow = 1, ncol = 4))) 

enter image description here

'npc'指歸父座標,所以需要0.2 1/5視。

+0

十分感謝,我只是意識到grid.layout有「高度」的說法,而視有「高度」的說法:) 我可以以某種方式夾R內部的情節所使用的繪圖區域或導出到SVG時? – steffi 2013-04-29 12:19:31

+0

@steffi我不知道剪裁繪圖區域。我有一個遊戲,並無法得到它剪輯。我認爲之後裁剪是不可接受的?! :) – 2013-04-29 12:28:32

+0

,因爲我將這些數字嵌入到HTML文檔中,如果它們已經剪切到繪圖區域將會很好。 – steffi 2013-04-29 12:45:04