效果展示

下载数据
将代码中的~/文档/
更换为要保存的目录。
1 | download.file("https://raw.githubusercontent.com/QGQ931001/git-tutorial/master/bigcity/data-bKvwd.csv", destfile = "~/文档/data-bKvwd.csv" ) |
加载R包
需要的R包如下所示。
1 | library(sf) |
读取各大城市人口数据并计算年平均人口增长率
worldmap
为josn
格式的地图数据,st_transform
为进行投影坐标变换的函数。
1 | worldmap <- read_sf('/home/qgq/文档/world.geo.json') %>% |
data-bKvwd
包含了世界多个城市的经纬度信息以及多年份的人口数据。dplyr::select
函数主要用于筛选data-bKvwd
中的4个关键变量,包含经纬度(Lon, Lat),以及2000年和2016年的人口数据。st_as_sf
是sf
包中的函数,其将外来对象转换为sf
对象,最终数据存储为con_df
。con_df$growth.rate
表示在con_df
数据框1中添加一个growth.rate
变量,也可以进行对数增长率的计算。
1 | read_csv('~/文档/data-bKvwd.csv') %>% |
对数据进行离散化处理
连续的数据虽然包含更多信息,但是糅合一些离散化的策略,使用颜色或其它图形属性表征,能呈现出更直观的信息。 使用mutate
函数将growth.rate
离散化为interval
。
1 | con_df <- con_df %>% mutate( |
与此同时,计算出growth.rate
的最大值用于辅助分段。
1 | max.gr <- as.numeric( |
绘图
代码如下,图见上文。
1 | ggplot(worldmap) + |
可以通过
class(con_df)
查看con_df
属于哪些类↩︎