2011-10-15 5 views
3

ライブラリ(RgoogleMaps)を使用して、マップ上の測定位置をプロットします(ポイント)。そこ異なる点で異なる機器がある、と私は正常に機器ごとに個別に色のポイントを得る:RgoogleMapsの伝説ですか?

私は赤によって青の点で表されている機器を確認する結果のマッププロットに凡例を追加することができますどのように
theplot <- PlotOnStaticMap(lat=sitecoord$lat, lon=sitecoord$lon, 
          cex=.7, pch=20, 
          col=sitecoord$equipmentType, 
          MyMap=Map, NEWMAP=FALSE) 

、 等々?


更新:@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

これに「凡例」機能を使用できますか?ヘルプ(凡例)を参照してください。 – Spacedman

+0

ええ、それはおそらく行くべき方向ですが、PlotOnStaticMapが私が理解できない色を選択する方法の論理には何かがあります(私はそれほど経験はありませんが、それは簡単かもしれません)。 – Chris

+0

ポイントに色をあらかじめ割り当てて、それらのレコードを維持すると、対応する色と色を一致させることができます。 PlotOnStaticMapが何らかの要素に基づいて各点を割り当てる色を決定できるようにするため、関数のどこかに割り当てられた色についての情報が残されます。 – Rguy

答えて

1

前。もしあなたがlegendの機能を持っている問題の再現可能な例を作ったなら、それについて議論することができました。それまでは、あいまいな説明です。

1. RColorBrewerを使用して口蓋を作成します。たとえば:

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

2は、いくつかの方法で、あなたのポイントの各色を割り当てます。私の場合、私はWTの列とビンのベクトルを持っていたので、重みをビニングしてmy.palの対応するエントリをその点の色にすることで、1点あたりの色を生成しました。この例では、binzベクトルには9個未満のビンしかありません。私の口蓋には9個の赤があります。

colorz < - My.Pal [カット(DATAS $ WT、ラベル= FALSE)]

3色の引数を渡すマップにプロット。

PlotOnStaticMap(マイマップ、緯度=件のデータの$ LAT、LON =件のデータの$ LON、COL = colorz)最後に

4、凡例を作成し、マップに追加します。

伝説( "bottomleft"、伝説= legend.txt、塗りつぶし= My.pal、 タイトル= "私は"、BG = "白")

は、あなたがそれをすべて考え出しを取得ホープでる!