【发布时间】:2016-01-02 18:55:23
【问题描述】:
我正在尝试将气球图与从 www.gadm.org 中的基本中国 shapefile 创建的基本地图相结合。我的目标是创建一个气球图,其中包含来自单独数据帧的数据作为 shapefile 地图顶部的一层,使用经度和纬度来确定气球的位置。
library(ggplot2)
library(maps)
library(maptools)
China_basic <- readShapePoly("CHN_adm0.shp")
china_basemap <-fortify(China_shp)
chinachart <- ggplot(china_basemap,aes(x=long,y=lat,group=group)) +
geom_polygon(colour="white")
到目前为止一切都很好,但是,现在我想将来自单独数据框的其他数据添加到绘图中:
cit <- c('Beijing','Shanghai','Guangzhou')
lng <- c(116.23,121.3,113.16)
lt <- c(39.55,31.12,23.08)
pop <- c(18590000,24256800,11264800)
dat <- c(400,560,700)
newdata <- data.frame(cit,lng,lt,pop,dat)
chinachart + geom_point(x=newdata$lng,y=newdata$lt,size=newdata$pop,fill=newdata$dat,
shape=21,colour='black')+
scale_colour_gradient2(low="white",mid="yellow",high="red",midpoint=560)
这给了我以下错误,我不确定我的语法做错了什么:
Error: Incompatible lengths for set aesthetics: shape, colour, size, fill, x, y
非常感谢任何帮助。
【问题讨论】: