在不同级别的地图上绘制不同颜色的经纬度点?
Plot longitude-latitude points on a map with different colors for varying levels?
我有一个数据框包含名为 ID
、经度 (LON
)、纬度 (LAT
) 的变量,您可以 download。我使用 ggplot2 包在同一张地图上使用以下代码在不同 ID 的国家地图上绘制了一些经度纬度:
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
我想在地图上绘制 Loss_ratio,这样在 usertxt1 中我有 3 个级别 level1、level2、level3 我想在每个 usertxt1.In 中为每个级别绘制 3 张地图映射它应该包含相应的损失率和颜色阴影的变化,比如最高值应该是最暗的,最小值应该是最亮的。
你的意思是这样的吗?
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
我有一个数据框包含名为 ID
、经度 (LON
)、纬度 (LAT
) 的变量,您可以 download。我使用 ggplot2 包在同一张地图上使用以下代码在不同 ID 的国家地图上绘制了一些经度纬度:
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
我想在地图上绘制 Loss_ratio,这样在 usertxt1 中我有 3 个级别 level1、level2、level3 我想在每个 usertxt1.In 中为每个级别绘制 3 张地图映射它应该包含相应的损失率和颜色阴影的变化,比如最高值应该是最暗的,最小值应该是最亮的。
你的意思是这样的吗?
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