2017-11-23 6 views
2

私はレイアウトが7つのプロットで構成されています.1つは上端にあり、もう1つは6行目に3つ目の下に広がっています。私のレイアウトでは、プロットは完全に一緒で、最初のプロットと他のプロットの間に少しガオを残したいと思います。私はこれをRでどうやって行うことができますか?Rのレイアウト内の1つのプロットのマージンを調整するには?

layout(matrix(c(1,1,2,3,4,5,6,7), 4, 2, byrow = T)) 

par(mar = c(0,0,0,0), oma = c(5,4,0.5,0.5), las =1) 


plot(1:10, axes = T, type = "n", xlim = c(0,30), ylim = c(-3,2), las =1) 
mtext(letters[1], side = 3, line = -1.5, adj = 0.025) 

for (i in 2:7){ 
    plot(1:10, axes = F, type = "n", xlim = c(0,30), ylim = c(-3,1.8)) 
    mtext(letters[i], side = 3, line = -1.5, adj = 0.025) 

    if (i %in% c(6,7)) 
    axis(side = 1) 

    if (i %in% c(2,4,6)) 
    axis(side = 2) 
    box() 
} 
mtext("x axis", side = 1, outer = TRUE, line = 3) 
mtext("y axis", side = 2, outer = TRUE, line = 3, las = 3) 

enter image description here

そして、私は最初のプロットの前にenter image description here

よう

答えて

2

何かをしたい、削除forを初め、その後

par(mar = c(2.5,0,0,0)) 

軸下に余白を追加このマージン

par(mar = c(0,0,0,0)) 

全コード:

layout(matrix(c(1,1,2,3,4,5,6,7), 4, 2, byrow = T)) 

par(mar = c(0,0,0,0), oma = c(5,4,0.5,0.5), las =1) 

par(mar = c(2.5,0,0,0)) #Add a space in the bottom axis 

plot(1:10, axes = T, type = "n", xlim = c(0,30), ylim = c(-3,2), las =1) 
mtext(letters[1], side = 3, line = -1.5, adj = 0.025) 

for (i in 2:7){ 

    par(mar = c(0,0,0,0)) #delete the space in the bottom axis 

    plot(1:10, axes = F, type = "n", xlim = c(0,30), ylim = c(-3,1.8)) 
    mtext(letters[i], side = 3, line = -1.5, adj = 0.025) 

    if (i %in% c(6,7)) 
    axis(side = 1) 

    if (i %in% c(2,4,6)) 
    axis(side = 2) 
    box() 
} 
mtext("x axis", side = 1, outer = TRUE, line = 3) 
mtext("y axis", side = 2, outer = TRUE, line = 3, las = 3) 

enter image description here

関連する問題