добавление двух легенд к изображению. сюжет

Я новый пользователь R, и мне нужна помощь в настройке дополнительной легенды для карты.

Описание: я построил карту, используя функцию image.plot в полях Library с осями x и y, указывающими координаты, и цветовую шкалу с легендой, указывающую положение, как описано в строке кода ниже:

image.plot (x, y, z, col = оттенки серого, legend.mar = 8.5, xlab = "", ylab = "", main = "Lambert2étendu")

Проблема:

Я добавил на карту точки, указывающие на расположение двух типов приемников с разным цветом и маркировкой для каждого типа. и я хочу добавить легенду под картой, чтобы описать значение каждой окраски

Спасибо за помощь


person user3428152    schedule 28.03.2014    source источник


Ответы (1)


Используйте legend для вторичной легенды. Увеличьте нижний margin и добавьте легенду с отрицательным inset, т.е. отойдите от графика:

library(fields)
x<- 1:10
y<- 1:15
z<- outer( x,y,"+") 

# plot with extra margin at bottom (7)
par(mar=c(7,4,4,2)+0.1)
image.plot(x,y,z,col=gray.colors(10), xlab='', ylab='') 

# create points
xp = sample(1:10,size=5)
yp = sample(1:10,size=5)
points(xp,yp,pch=21,bg=1:2,cex=1:2)

# add legend (might have to change inset if you resize the plot)
legend('bottom', horiz=T, legend=paste('type', 1:2), pt.cex=1:2, pch=21, pt.bg=1:2, xpd=NA, inset=c(0,-1..))

двойная легенда

person koekenbakker    schedule 28.03.2014
comment
именно то, что мне нужно, но когда я делаю то же самое, появляется эта ошибка: Ошибка в strwidth (legend, units = user, cex = cex, font = text.font): font face -2147483648 не поддерживается для семейства шрифтов 'HersheySerif' - person user3428152; 28.03.2014
comment
Я оценил использование вставки с отрицательным значением. Полезный совет. Спасибо. - person swihart; 24.03.2015