Свойства легенды, когда legend.only = T (растровый пакет) - программирование
Подтвердить что ты не робот

Свойства легенды, когда legend.only = T (растровый пакет)

При построении только легенды (объекта raster - цветной панели):

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

как я могу контролировать размер метки метки, длину галочки и другие свойства легенды? Я знаю, что могу позвонить par(...) до последнего вызова plot(), но есть ли более чистый способ?

4b9b3361

Ответ 1

Вы можете передать axis.args и legend.args в качестве аргументов только для вызова функции как для image.plot в fields пакет.

Например, чтобы указать позиции тика и метки, а также уменьшить размер метки метки, следующее должно сделать трюк. Он также примет аргументы, такие как 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))

legend only - arguments

Ответ 2

Также возможно работать с аргументом "smallplot", когда "legend.only = TRUE". Маленькие работы из нижнего/левого угла участка участка 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"))

введите описание изображения здесь