[英]Centring legend below two plots in r
我想將一個共同的傳說集中在兩個地塊下面。 我使用xpd=TRUE
來允許在繪圖本身外打印,並使用oma為圖例創建空間。 然而,傳說不會在水平方向上移動並且會在“早期”垂直方向上被剪切。 有什么建議?
quartz(title="PCoA",12,6)
par(mfrow=c(1,2),oma=c(5,0,0,0),xpd=TRUE)
plot(1:3,4:6,main="plot 1")
plot(1:3,4:6,main="plot 2")
# Clips the plot
legend(1,3.5,ncol=3,c("0-1 km","1-5 km","outside barrier"),fill=c("green","orange","red"), title="Fetch")
# Won't let me move the legend sideways
legend(0,3.5,ncol=3,c("0-1 km","1-5 km","outside barrier"),fill=c("green","orange","red"), title="Fetch")
UPDATE
通過下面的解決方案,可以通過拖動邊緣來改變圖形的尺寸,從而切割圖形的邊緣(見下文)。 可能會發生什么想法?
而不是使用par=mfrow(...)
我建議你使用layout()
。
這允許您指定具有繪圖位置的矩陣:
layout(matrix(c(1,2,3,3), ncol=2, byrow=TRUE), heights=c(4, 1))
par(mai=rep(0.5, 4))
plot(1:3,4:6,main="plot 1")
plot(1:3,4:6,main="plot 2")
par(mai=c(0,0,0,0))
plot.new()
legend(x="center", ncol=3,legend=c("0-1 km","1-5 km","outside barrier"),
fill=c("green","orange","red"), title="Fetch")
par(xpd=NA)
更符合您的要求。 從?par
幫助頁面中提取:
xpd
邏輯值或NA。 如果為FALSE,則所有繪圖都將剪切到繪圖區域,如果為TRUE,則所有繪圖都將剪切到圖形區域,如果為NA,則所有繪圖都將剪切到設備區域。 另見clip
。
實際上,您希望將其剪切到設備區域而不是圖形區域(例如,請參閱此博客條目,以獲得圖形,圖形和設備區域之間差異的圖形說明)。
quartz(title="PCoA",12,6)
par(mfrow=c(1,2),oma=c(5,0,0,0),xpd=NA)
plot(1:3,4:6,main="plot 1")
plot(1:3,4:6,main="plot 2")
legend(-0.5,3.5,ncol=3,c("0-1 km","1-5 km","outside barrier"),
fill=c("green","orange","red"), title="Fetch")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.