2017-08-03 45 views
0

我有一个数据帧包含名为ID变量,经度(LON),纬度(LAT),你可以download情节经纬度点?

gg <- ggplot() 
gg <- gg + geom_map(data=skorea, map=skorea, 
        aes(x=long, y=lat, map_id=id, group=group), 
        fill=NA, color="black") 
gg <- gg + geom_point(data=st, aes(x=LON, y=LAT, color=color), 
         alpha=1, na.rm=TRUE) 
gg <- gg + scale_size(range=c(2,7)) 
gg <- gg + scale_color_identity() 
gg <- gg + labs(title= "coordinate data of id", 
       x="Longitude", y= "Latitude") 
gg <- gg + coord_map() 
gg <- gg + theme_map() 
gg <- gg + theme(title= element_text(hjust = 0.5, vjust=1, face="bold")) 
gg 

我想以这样的方式,在usertxt1我要绘制Loss_ratio地图:我一直在使用GGPLOT2包同一张地图上用下面的代码绘制一些经度纬度的国家地图用不同的颜色不同的ID对3级1级,级别2,级别3我想绘制3个地图对于每个这些水平的usertxt1.In每个映射它应包含在颜色的色光对应的丢失率与变化等最高值应该是最暗的和最小的值应为最轻。

+0

看看[此帖](https://stackoverflow.com/a/20475268/709777),也许它可以帮助 – pacomet

+0

@pacomet感谢分享此代码,但它有多边形填充在其中,他们已经显示颜色多边形的面积差,但我有LAT多头它没有boundarys,但我会只圈,在我所表现出的差异来代表。 – rsayam91

回答

0

你的意思是这样的?

require(dplyr) 

#filter out those without USERTXT1 value 
data = filter(data,USERTXT1!="") 

#some data fomatting 
data$Latitude = as.numeric(data$Latitude) 
data$Longitude = as.numeric(data$Longitude) 
data$Loss_ratio = as.numeric(data$Loss_ratio) 
data$USERTXT1 = as.factor(data$USERTXT1) 


require(ggmap) 
#get basemap 
basemap <- get_map(location = c(lon = 0.5*(min(data$Longitude)+max(data$Longitude)), 
         lat = 0.5*(min(data$Latitude)+max(data$Latitude))), 
         color = "color", 
         source = "google", 
         maptype = "satellite", 
         zoom = 4) 

#take logarithm of loss ratio to reduce dispersion 
data$Loss_ratio = log(data$Loss_ratio+1) 

#create ggmap object 
map = ggmap(basemap, 
      ylab = "Latitude", 
      xlab = "Longitude") 
map = map + geom_point(data=data,aes(y=Latitude, 
            x=Longitude, 
            color=Loss_ratio)) 
map = map + facet_grid(~USERTXT1) 
map 

enter image description here

+0

感谢分享代码,我可以知道usertxt1筛选完成,中间有没有空字段? 我在运行map = ggmap(mapImageData1,ylab =“Latitude”,xlab =“Longitude”)时出现以下错误: 对象'mapImageData1'找不到 – rsayam91

+0

我的错我在粘贴SO代码字段后更改了一些代码 - 它现在上面 – CMichael

+1

非常感谢它的工作。 – rsayam91