2011-10-15 6 views
3

Я использую библиотеку (RgoogleMaps) для построения позиций измерения на карте (точки). Существует различное оборудование на разных точках, и я успешно получить отдельно цветные точки на оборудование:Легенда о RgoogleMaps?

theplot <- PlotOnStaticMap(lat=sitecoord$lat, lon=sitecoord$lon, 
          cex=.7, pch=20, 
          col=sitecoord$equipmentType, 
          MyMap=Map, NEWMAP=FALSE) 

Как я могу добавить легенду к полученному картографированию участку, чтобы увидеть, какое оборудование представлена ​​синими точками, которые красный , и так далее?


Update:

Используя очень хорошие рекомендации @Rguy. Мне удалось получить легенду для блага других, вот мой тест-код (нет, я не измерение в Исландии, просто использовал его в качестве примера.):

library(RgoogleMaps) 
library(RColorBrewer) 

Equipment <- c("AA","AA","BB","CC") 
lat <- c(63.90,66.20,64.80,64.50) 
lon <- c(-22.40,-14.20,-18.60,-15.00) 
tblDataPoints <- data.frame(Equipment,lat,lon) 

My.Pal <- brewer.pal(3, "Reds") 
tblDataPoints$colorz <- My.Pal[tblDataPoints$Equipment] 

plot.new() 
bb <- qbbox(lat=range(tblDataPoints$lat), lon=range(tblDataPoints$lon)) 
m <- c(mean(tblDataPoints$lat), mean(tblDataPoints$lon)) 
zoom <- min(MaxZoom(latrange=bb$latR,lonrange=bb$lonR)) 
Map <- GetMap.bbox(bb$lonR, bb$latR, zoom=zoom, maptype="roadmap", NEWMAP=TRUE) 
tmp <- PlotOnStaticMap(lat=lat, lon=lon, cex=.7, pch=20, col=tblDataPoints$colorz, MyMap=Map, NEWMAP=FALSE) 

tblLgd <- unique(tblDataPoints[,c("Equipment","colorz")]) 
row.names(tblLgd) <- NULL 

legend("topright", legend = tblLgd$Equipment, fill = tblLgd$colorz, bg = "white") 
+0

Можете ли вы использовать функцию «legend» для этого? См. Справку (легенда). – Spacedman

+0

Да, это, вероятно, направление, но логика того, как PlotOnStaticMap выбирает цвета, которые я не могу понять (я не настолько опытен в этом, это может быть тривиально). – Chris

+0

Если вы предварительно назначаете цвета точкам и сохраняете их запись, вы сможете сопоставить цвета с тем, что им соответствует. Разрешая PlotOnStaticMap определять, какие цвета назначать каждую точку, на основе некоторого фактора, оставляет информацию о том, какой цвет был назначен где-то в функции. – Rguy

ответ

1

Я сделал это до. Если вы сделали воспроизводимый пример проблемы, имеющейся у вас с функцией legend, мы могли бы обсудить ее. До сих пор здесь есть смутное объяснение.

1. Создайте неба, используя RColorBrewer. Например:

library(RColorBrewer) 
My.pal <- brewer.pal(9, "reds") 

2. Присвоить каждую из ваших точек цвета, в некотором роде. В моем случае у меня был столбец WT и вектор бункеров, и поэтому я сгенерировал цвета для каждой точки, объединив весы и взяв запись сопутствующей записи в my.pal как цвет этой точки. Обратите внимание, что в этом примере в моем binz вектор содержится меньше 9 ящиков, так как у моего неба есть только 9 оттенков красного.

< colorz - My.Pal [покрой (Данные $ WT, лейблы = FALSE)]

3. Участок на карте, передавая аргумент цвета.

PlotOnStaticMap (MyMap, лат = $ Данные LAT, Lon = DATAS $ LON, цв = colorz)

4. И, наконец, создать легенду, и добавить его к карте.

легенда ("bottomleft", легенда = legend.txt, заполнить = My.pal, названия = "Я ЕСМИТЕ", BG = "белый")

Надеется, что вы получите все это фигурную вне!

 Смежные вопросы

  • Нет связанных вопросов^_^