Tôi đang cố gắng để âm mưu ngói, đặc biệt là trong một ma trận 2x3, ví dụ:Phân bổ không gian âm mưu bình đẳng cho tất cả của nhiều âm mưu với các trục chia sẻ
x <- seq(1, 10, by=.01)
y <- 1/x
prms<-
list(xlab=rep(c("", "x"), each=3),
ylab=rep(c("y", "", ""), 2),
xaxt=rep(c("n", "s"), each=3),
yaxt=rep(c("s", "n", "n"), 2),
mar=list(c(0 , 4.1, 4.1, 0),
c(0 , 0, 4.1, 0),
c(0 , 0, 4.1, 1.1),
c(5.1, 4.1, 0, 0),
c(5.1, 0, 0, 0),
c(5.1, 0, 0, 1.1)))
par(mfrow=c(2, 3))
for (ii in 1:6){
par(mar=prms$mar[[ii]])
plot(x, y, type="l", lwd=2,
xlab=prms$xlab[ii], ylab=prms$lab[ii],
xaxt=prms$xaxt[ii], yaxt=prms$yaxt[ii])
}
nào sản xuất:
Tôi đã chặn các lề và trục "bên trong" vì tất cả các đơn vị x
(resp., y
) đều giống nhau, vì vậy các trục như vậy sẽ không cần thiết. Tuy nhiên, như bạn có thể thấy, bằng cách ép các lề trên các ô bên trái và bên phải, tôi đã vô tình cho các ô giữa quá nhiều không gian (không rõ ràng, nhưng cùng một rắc rối gây ra sự cố ở trên cùng bên dưới hàng).
Trong đó có câu hỏi hóc búa. mfrow
chỉ định không gian bằng nhau cho mỗi subplot (tức là, trục, lề, v.v.), không cho từng vùng ô. Làm cách nào tôi có thể thay đổi cách tiếp cận của mình để mỗi khu vực vẽ có kích thước bằng nhau, ceteris paribus (tức là, trục, v.v.) không thay đổi? Tôi nghĩ đến việc sử dụng layout
, nhưng không thể nghĩ ra một cách lập trình tốt đẹp để đi về việc đảm bảo mọi thứ có biểu diễn bằng nhau.
tôi rất thích một 'phương pháp base' cho phù hợp với mảnh đất khác ở dự án này, nhưng 'ggplot '(vv) các giải pháp có thể được hướng dẫn. – MichaelChirico