簡體   English   中英

在圖上定位圖例除以R中的par(mfrow)

[英]Positioning legend on plot divided by par(mfrow) in R

我的繪圖窗口使用

par(mfrow=c(2,4))

我有7個地塊,想用剩余的地塊空間寫圖例(即右下角的空白)

我想知道是否有一種簡單的方法可以將圖例放到這個位置?

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()

您沒有指明如何生成圖例,所以我使用來自fields包的image.plot 對於可reprodicible example我使用?image示例的數據

您可以將title和圖例的位置移出循環。 對於最終繪圖,您可以使用frame()移至下一個繪圖窗口,然后繪制圖例。

# 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))

產生

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM