将图上的图例除以 R 中的 par(mfrow)
Positioning legend on plot divided by par(mfrow) in R
我的情节 window 使用
划分
par(mfrow=c(2,4))
我有7个地块,想用剩下的地块space来写图例(即右下角的空白space)
我想知道有没有简单的方法可以将图例放到这个位置?
pdf("Plot")
par(mfrow=c(2,4), lwd=2, font=2, font.lab=2, font.axis=2, oma=c(0,0,2,0))
for(i in 1:7){
image(imagearray[,,i], axes=F, col=grey(c(0:225)/225), main= paste("Plot",i))
title("Plot", outer=T)
}
dev.off()
您没有说明您是如何生成图例的,所以我使用 image.plot
from the fields
package. For a reprodicible example
我使用 ?image
中示例中的数据
您可以将 title
和图例的位置移到循环之外。对于最终图,您可以使用 frame()
前进到下一个图 window,然后绘制图例。
# data
x <- 10*(1:nrow(volcano))
y <- 10*(1:ncol(volcano))
par(mfrow=c(2,4), lwd=2, font=2, font.lab=2, font.axis=2, oma=c(0,0,2,0))
for(i in 1:7){
image(x, y, volcano, col = terrain.colors(100),
xlab="", ylab="", axes = FALSE)
}
title("Plot", outer=T)
frame()
fields::image.plot(x,y,volcano,
legend.only = TRUE,
legend.width = 10,
legend.mar = 15,
col = terrain.colors(100))
产生
我的情节 window 使用
划分par(mfrow=c(2,4))
我有7个地块,想用剩下的地块space来写图例(即右下角的空白space)
我想知道有没有简单的方法可以将图例放到这个位置?
pdf("Plot")
par(mfrow=c(2,4), lwd=2, font=2, font.lab=2, font.axis=2, oma=c(0,0,2,0))
for(i in 1:7){
image(imagearray[,,i], axes=F, col=grey(c(0:225)/225), main= paste("Plot",i))
title("Plot", outer=T)
}
dev.off()
您没有说明您是如何生成图例的,所以我使用 image.plot
from the fields
package. For a reprodicible example
我使用 ?image
您可以将 title
和图例的位置移到循环之外。对于最终图,您可以使用 frame()
前进到下一个图 window,然后绘制图例。
# data
x <- 10*(1:nrow(volcano))
y <- 10*(1:ncol(volcano))
par(mfrow=c(2,4), lwd=2, font=2, font.lab=2, font.axis=2, oma=c(0,0,2,0))
for(i in 1:7){
image(x, y, volcano, col = terrain.colors(100),
xlab="", ylab="", axes = FALSE)
}
title("Plot", outer=T)
frame()
fields::image.plot(x,y,volcano,
legend.only = TRUE,
legend.width = 10,
legend.mar = 15,
col = terrain.colors(100))
产生