ggplot2制作精美地图

作者: R语言数据分析指南 | 来源:发表于2021-04-24 18:05 被阅读0次

本节我们使用伯克利气候数据绘制2013年的全球温度变化情况。该数据集包含1749年至2013年全球许多城市的平均温度数据

加载R包

library(tidyverse)

1.删除AverageTemperature中有缺失值的行

df <- read_csv("GlobalLandTemperaturesByCity.csv") %>% 
  filter(!is.na(AverageTemperature))

日期列dt是字符类型,使用as.Date()将其转换为日期格式。在这里,我们可以使用将年份提取到一个新变量Year中,as.numeric()将年份从日期格式转换为数字

df$dt <- as.Date(df$dt)

df$Year <- as.numeric(format(df$dt, format="%Y")
)

筛选出2013年的数据,对于每个城市每年都会进行几次温度测量使用group_by( )根据城市分组计算平均温度

df2013 <- df %>% filter(Year == 2013) %>% group_by(City) %>% 
  mutate(mean=mean(AverageTemperature))

纬度和经度以十进制度数给出,N / S指定纬度,E / W来指定经度。出于绘图目的,我们需要将纬度和经度转化为为十进制数,并带有正负号来指定半球。首先,我们使用str_sub( )函数删除最后一个字符,这是纬度或经度字符串的数字部分。然后,我们使用str_extract()查找模式"[aA-zZ]+"来获取字符串的字符部分(N,S,E或W)。现在,纬度和经度的数字部分存储在与(N,S,E或W)不同的变量中,使用ifelse( )为N或E分配正数,为S或W分配负数

df2013$Latitude_num <- as.numeric(str_sub(df2013$Latitude,1,
                                          nchar(df2013$Latitude)-1))
df2013$Longitude_num <- as.numeric(str_sub(df2013$Longitude,1,
                                           nchar(df2013$Longitude)-1))

df2013$Latitude_chr <- (str_extract(df2013$Latitude, "[aA-zZ]+"))
df2013$Longitude_chr <- (str_extract(df2013$Longitude, "[aA-zZ]+"))

df2013 <- within(df2013, {
  Lat <- ifelse(Latitude_chr=="N", Latitude_num, -Latitude_num)
  Long <- ifelse(Longitude_chr=="E", Longitude_num, -Longitude_num)
})

数据可视化

world <- map_data("world")

ggplot() + 
  geom_polygon(data = world, aes(x = long, y = lat, group = group), 
               fill = "lightgray",
               colour = "white")+
  coord_fixed(1.3)+
  geom_point(data=df2013,aes(Longitude_num,Latitude_num,
color = AverageTemperature)) +
  geom_jitter() +
  labs(x = " ", y = " ", subtitle = "2013") +
  theme_minimal() +
  scale_color_distiller("Air Temperature",
                        palette = "Spectral",limit=c(-32, 40))  

相关文章

  • ggplot2制作精美地图

    本节我们使用伯克利气候数据[https://www.kaggle.com/berkeleyearth/climat...

  • 热力地图

    Tableau制作热力地图Excel制作热力地图 Tableau制作热力地图 热力地图可以非常直观的查看数据的地理...

  • 做了这么多年GIS分析,你见过地图打架吗?

    ​作为一名10多年的GIS老鸟,做过不少分析,制作过不少地图,也看过众多大牛们设计的精美作品。但从没有任何一个地图...

  • BGI-College生信入门——9、R语言基础(二)

    ggplot2 Elegant Graphics for Data Analysis,用于数据分析的精美图形 gg...

  • 在线地图制作

    “在线地图制作”顾名思义就是通过在线工具制作网站地图(sitemap),在线地图制作拥有哪些优势呢? 首先,在线工...

  • 在线网站地图制作

    在线网站地图制作”顾名思义就是通过在线工具制作网站地图(sitemap),在线地图制作拥有哪些优势呢? 在线软件不...

  • 网站地图怎么制作

    网站地图怎么制作?网站地图当然是用工具制作啦,手动写网站地图文件,那可不是明智的选择。目前制作网站地图的工具有很多...

  • 精美制作

    油漆后的成品图,美美的。

  • 秋天的故事

    制作的咋样?精美吧!O(∩_∩)O

  • 蓝色与地图更配-ggplot2地图进阶

    最近有小伙伴让在出几篇关于地图绘制的教程,观众老爷的需求这个当然要满足;今天继续来介绍ggplot2绘制地图,同样...

网友评论

    本文标题:ggplot2制作精美地图

    本文链接:https://www.haomeiwen.com/subject/kkftrltx.html