我一直在使用我在 R 帮助列表服务器上找到的 image.plot(字段包)的修改版本来绘制图例。https://stat.ethz.ch/pipermail/r-help/2008-June/164700.html
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))])
但是,我想在图例中添加一个标题(最好垂直对齐)以指定单位。我不知道在 body(image.plot) 的哪个位置可以进行此修改,或者在调用 imp 时如何指定它。当我尝试创建一个更大的布局来放置 image.plot 时,我收到一个错误,即图形对于布局边距来说太大了。
任何帮助,将不胜感激。
我已经修改了我的代码,以便我可以使用单独的命令绘制一个 (3,2) 面板,以便仅沿底部水平绘制图例。但是,我想要两个图例,每列图下一个,但图例只显示在右下方。我知道我正在绘制 (3,2) 面板之前设置的空白区域中的图例。
par( oma=c(8,2,1,1))
set.panel(3,2)
但我想知道如何在我为传奇打造的那个空间里走动。指定 side 似乎不起作用,更改 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)