我一直使用在R幫助列表中找到的image.plot(字段包)的修改版本來繪製圖例。 https://stat.ethz.ch/pipermail/r-help/2008-June/164700.html在image.plot,庫(字段)中添加圖例的標題
library(fields)
imp <- `body<-`(image.plot,value=`[[<-`(body(image.plot),28,
quote({par(big.par)
par(plt = big.par$plt, xpd = TRUE)
par(mfg = mfg.save, new = FALSE)
invisible()})))
以下是一個示例數據集
m <- matrix(1:15,ncol=3)
par(mar=c(5,5,5,3))
imp(m,axes=FALSE)
box()
axis(1,axTicks(1),lab=letters[1:length(axTicks(1))])
然而,我想一個標題(優選垂直取向)添加到該圖例來指定單元。我不知道身體在哪裏(image.plot)我可以做這個修改,或者當我打電話給imp時如何指定這個。當我嘗試創建放置image.plot的較大布局時,我收到的錯誤是該圖對於佈局邊距太大。
任何幫助,將不勝感激。
我已經修改我的代碼,以便我可以繪製帶有單獨命令的(3,2)面板,以便沿底部水平繪製圖例。不過,我想要有兩個傳說,每個地塊的每個地塊下有一個傳說,但傳說只在右下方繪製。我知道我正在繪製(3,2)面板之前在我設置的空白區域繪製圖例。
par(oma=c(8,2,1,1))
set.panel(3,2)
但我想知道如何在這個空間中移動,我爲傳奇製作。指定方似乎不起作用,也不改變oma值。
par(oma=c(2,0,2,0))
image.plot(x,y,z, legend.only=TRUE, horizontal=TRUE, legend.mar=5,
legend.shrink = 0.8)
mtext(line=1, side=1, "cms", outer=F)
這是一個好的開始。我組織了我的圖(3,2),我需要兩個圖表中的每一個的2個圖例。我似乎只能在我的右下角繪製一個水平圖例,但是會在左下角看到一個類似的圖例(略有不同的比例)。有關如何修改此位置的任何建議?我已經包含了上面的代碼。 – user2850039
我認爲你需要完全手動完成你的傳奇,使用'legend',並在''legends'處加入細節。這種事情是使用基本圖形的痛苦,但你堅持使用基礎圖形。也許[這](http://stackoverflow.com/questions/3932038/plot-a-legend-outside-of-the-plotting-area-in-base-graphics)所以這個問題將是有益的,這[頁] (http://research.stowers-institute.org/efg/R/Graphics/Basics/mar-oma/)也可能。 –