我是张杰,不会唱歌的张杰!
R语言之前学过几天,那是将近一两年前的事情。最近发现要绘制地图系列图表,发现还是R语言比较方便,虽然我之前也使用过Matlab绘制中国地图系列,还拿着Matlab绘制的中国地图系列进入去年七月的阿里巴巴数据可视化大赛。
很感谢我的队友小魔方-杜雨,他总结了不少资料。我绘制的这些图表就是在小魔方代码的基础上,学习再调整、添加的。我这几天也重新看了R语言的书籍,打算也好好研究一下R语言数据可视化。下面这些是我的拙作,还望诸位不吝赐教!
另外,今天也是五四青年节,祝各位青年朋友们节日快乐!
注释:中国包括台湾、香港、澳门和南沙群岛等地区,为保证展示效果,所以只展示了中国的主体部分。
library(maptools)
library(ggplot2)
library(plyr)
setwd("C:/Users/JieZhang/Desktop/China_AreaScatter/") #确定文件路径
china_map
china_map
china_data
ggplot()+
geom_polygon(data=china_map, aes(x=long, y=lat, group=group),fill="grey95", colour="grey60",size=0.25)+ #中国地图
geom_point(data=china_data, aes(x = jd,y = wd),size=4,fill="black", alpha=1,shape=21, colour="white")+ #散点图
coord_map("polyconic") +
theme_nothing()#图表元素设定
位置
+
地理坐标
library(ggplot2)
library(ggmap)
library(plyr)
library(maptools)
setwd("C:/Users/JieZhang/Desktop/China_AreaScatter/")
china_map0
x
#默认情况下,`$`可以用于获取dataframe或者list里面的某个变量;
#对于 S4 object,`@` 可以提取出内容(slot)
xs
china_map
china_map_data
mydata
china_data
province_city
newdataA
newdataB
N
province_city
soux
souy
tagx
tagy
dataD
dataE
dataF
ggplot()+
geom_polygon(data=china_data,aes(x=long,y=lat,group=group),fill="grey95",colour="grey60",size=0.25)+
geom_point(data =province_city,aes(x=jd,y=wd),size=4,shape=21, fill="white")+
geom_segment(data=dataF,aes(x=soux,y=souy,xend=tagx,yend=tagy,colour="black"),colour="black")+
coord_map("polyconic") +
theme_nothing()
library(maptools)
library(ggplot2)
library(plyr)
library("scatterpie")
setwd("C:/Users/JieZhang/Desktop/China_AreaScatter/")
china_map
china_map1
mydata
province_city
china_data
jd
wd
N
Dmin
Dmax
P1
P2
mynewdata
color
ggplot()+
geom_polygon(data=china_map1, aes(x=long, y=lat, group=group),fill="grey95", colour="grey60",size=0.25)+ #
geom_scatterpie(aes(x=jd,y=wd,r=1),data=mynewdata,cols=colnames(mynewdata)[3:4],color="black")+
coord_map("polyconic") +
scale_fill_manual(values=color)+
guides(fill=guide_legend(label.position ="top"))+
theme(
panel.grid = element_blank(),
panel.background = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
axis.title = element_blank(),
legend.direction="horizontal",
legend.position=c(0.3,0.3),
legend.box="horizontal",
legend.text.align=0
)
library(maptools)
library(ggplot2)
library(plyr)
setwd("C:/Users/Jie Zhang/Desktop/China_AreaScatter/")
china_map0
china_map
china_data
N
Dmin
Dmax
P1
P2
mynewdata
n
Shape0
Vmin
Vmax
vx
vy
#china_data
#china_data
china_data
china_data$Shape
ggplot()+
geom_polygon(data=china_map, aes(x=long, y=lat, group=group),fill="grey95", colour="grey60",size=0.25)+ #中国地图
geom_segment(data=china_data,aes(x = jd,y = wd,xend = jd+vx, yend =wd+vy), arrow = arrow(length = unit(0.2, "cm")), size = 0.5)+ #向量箭头
geom_point(data=china_data, aes(x = jd,y = wd),size=2,fill="white", alpha=1, shape=21,colour="black")+ #散点图
coord_map("polyconic") +
theme_nothing() #图表元素设定
library(maptools)
library(ggplot2)
library(plyr)
setwd("C:/Users/Jie Zhang/Desktop/China_AreaScatter/")
china_map
china_map1
mydata
province_city
china_data
ggplot()+
geom_polygon(data=china_map1,aes(x=long, y=lat, group=group), fill="grey95",colour="grey60",size=0.25)+ #中国地图
geom_point(data=china_data, aes(x = jd,y = wd,size=zhibiao),fill="black", alpha=1,shape=21, colour="white")+ #气泡图
scale_size_area(max_size=8)+
coord_map("polyconic") +
theme(
panel.grid = element_blank(),
panel.background = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
axis.title = element_blank(),
legend.direction="vertical",
legend.position=c(0.3,0.3),
legend.box="vertical",
legend.text.align=0
)
library(maptools)
library(ggplot2)
library(plyr)
setwd("C:/Users/JieZhang/Desktop/China_AreaScatter/")
china_map
china_map1
mydata
province_city
china_data
jd
wd
N
P1
P2
mynewdata
Shape0
china_data
china_data$Shape
ggplot()+
geom_polygon(data=china_map1, aes(x=long, y=lat, group=group),fill="grey95", colour="grey60",size=0.25)+ #中国地图
geom_point(data=china_data, aes(x = jd,y = wd,shape=Shape),size=4,fill="white", alpha=1, colour="black")+ #多数据系列散点图
scale_shape_manual(values=c(21,22,23))+
coord_map("polyconic")+
theme(
panel.grid = element_blank(),
plot.background=element_rect(fill="grey100",colour=NA),
panel.background=element_rect(fill="grey100",colour=NA),
axis.text = element_blank(),
axis.ticks = element_blank(),
axis.title = element_blank(),
legend.direction="vertical",
legend.position=c(0.3,0.3),
legend.box="vertical",
legend.text.align=0
)
library(ggplot2) #绘图函数
library(plyr) #数据合并工具
library(maptools) #地图素材导入
library(Cairo) #图片高清导出
library(RColorBrewer) #该保重存储着一些高质量的地图配色模板可以参考
library(scales) #分割数据
setwd("C:/Users/JieZhang/Desktop/China_AreaScatter/")
china_map
x
xs
china_map0
china_map_data
mydata
china_data
#离散颜色标度分割:
qa
china_data$zhibiao_q
province_city
province_city$zhibao
ggplot(china_data,aes(long,lat))+
geom_polygon(aes(group=group,fill=zhibiao_q),colour="black",size=0.25)+
scale_fill_brewer(palette="RdYlGn")+
coord_map("polyconic") +
guides(fill=guide_legend(reverse=TRUE,title=NULL))+
theme(
panel.grid = element_blank(),
panel.background = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
axis.title = element_blank(),
legend.position = c(0.3,0.25),
legend.background = element_blank(),
legend.text.align=1,
legend.key.width=unit(1,"line"),
legend.key.height=unit(1,"line")
)