Свойства легенды, когда 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()
, но есть ли более чистый способ?
Ответы
Ответ 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"))
![введите описание изображения здесь]()