legend.only = T(光栅包)时的图例属性

Ben*_*min 21 r

仅绘制图例(raster对象 - 颜色条)时:

require(raster)
r = raster()
r[] = 1
plot(r, legend=F)
plot(r, zlim=c(-10,10), legend.only=T)
Run Code Online (Sandbox Code Playgroud)

如何控制图例轴标签大小,刻度线长度和其他图例属性?我知道我可以par(...)在最后一次通话之前plot()拨打电话,但有更清洁的方式吗?

jba*_*ums 43

您可以通过axis.argslegend.args作为参数传递给传说只有函数调用,用于image.plotfields包中.

例如,要指定刻度位置和标签,并减少刻度标签大小,以下应该可以解决问题.它也会接受诸如legend.width和之类的论据legend.shrink.

require(raster)
data(volcano)
r <- raster(volcano)
plot(r, col=topo.colors(100), legend=FALSE, axes=FALSE)
r.range <- c(minValue(r), maxValue(r))
plot(r, legend.only=TRUE, col=topo.colors(100),
     legend.width=1, legend.shrink=0.75,
     axis.args=list(at=seq(r.range[1], r.range[2], 25),
                    labels=seq(r.range[1], r.range[2], 25), 
                    cex.axis=0.6),
     legend.args=list(text='Elevation (m)', side=4, font=2, line=2.5, cex=0.8))
Run Code Online (Sandbox Code Playgroud)

仅限传说 - 参数


Mat*_*yly 5

当'legend.only = TRUE'时,也可以使用'smallplot'参数.从小区的左下角开始的小作品smallplot = c(左起最小%,左起最大%,底部最小%,底部最大%).

# load data & plot
require(raster); data(volcano); r <- raster(volcano)
plot(r, col=topo.colors(100), legend=FALSE, axes=FALSE)
r.range <- c(minValue(r), maxValue(r))

plot(r, legend.only=TRUE, col=topo.colors(100), legend.width=1, legend.shrink=0.75,
    smallplot=c(0,.09, .3,.75)); par(mar = par("mar"))

plot(r, legend.only=TRUE, col=topo.colors(100), legend.width=1, legend.shrink=0.75,
    smallplot=c(0.3,0.5, 0.2,0.7)); par(mar = par("mar"))

plot(r, legend.only=TRUE, col=topo.colors(100), legend.width=1, legend.shrink=0.75,
    smallplot=c(0.85,0.9, 0.7,0.9)); par(mar = par("mar"))

plot(r, legend.only=TRUE, col=topo.colors(100), legend.width=1, legend.shrink=0.75,
    smallplot=c(0.7,0.90, 0.05,0.2)); par(mar = par("mar"))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述