gpt4 book ai didi

r - RgoogleMaps 上的图例?

转载 作者:行者123 更新时间:2023-12-01 22:11:27 24 4
gpt4 key购买 nike

我使用库(RgoogleMaps)在 map (点)上绘制测量位置。不同的点上有不同的设备,我成功地为每个设备获得了单独的彩色点:

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

如何向生成的 map 添加图例,以查看哪些设备由蓝点代表,哪些设备由红点代表,等等?

<小时/>

更新:

使用@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")

最佳答案

我以前做过这个。如果您使用 legend 函数制作了一个可重现的问题示例,我们可以讨论它。在此之前,这里有一个模糊的解释。

1.使用 RColorBrewer 创建口味。例如:

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

2.以某种方式为每个点分配一种颜色。就我而言,我有一个 WT 列和一个 bin 向量,因此我通过对权重进行分级并在 my.pal 中获取相应条目来生成每个点的颜色> 为该点的颜色。请注意,在此示例中,我的 binz 向量中的 bin 数量少于 9 个,因为我的味觉只有 9 种红色阴影。

colorz <- My.Pal[cut(datas$WT, labels = FALSE)]

3.在 map 上绘制,传递颜色参数。

PlotOnStaticMap(MyMap, lat = datas$LAT, lon = datas$LON, col = colorz)

4.最后,创建图例,并将其添加到 map 中。

legend("bottomleft", legend = legend.txt, fill = My.pal, title = "I AM", bg = "white")

希望你能明白一切!

关于r - RgoogleMaps 上的图例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7778202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com