跟着高分SCI学画图:R语言绘制全球色阶散点地图

文摘   2024-09-12 20:41   德国  

       R语言绘制全球色阶散点地图

全球色阶范围散点地图(Global Gradient Range Scatter Plot Map)是一种地理可视化方法,用于在地图上表示和展示地理位置数据点,并使用色阶来反映每个数据点的某种变量(如温度、人口密度、经济指标等)的数值范围。它结合了地图和散点图的特点,使得数据在地理背景下直观可视化,便于分析不同区域间的差异和趋势。

图1. 全球气温范围散点地图

一、你好!全球散点图

全球色阶范围散点地图的特点

  1. 地理背景:这种地图使用全球地图作为背景,显示国家、地区或其他地理单元的边界。地图背景可以是传统的经纬度投影,也可以使用其他投影方式(如Eckert IV、Mercator等)来展现不同的视觉效果和空间感受。
  2. 数据点的表示:地图上使用散点(点标记)来表示具体的数据点,如城市、测量站或其他特定位置。每个点的位置通常由经度和纬度坐标确定。
  3. 色阶(Color Gradient):色阶用于表示数据点所代表的某一变量的数值范围。例如,在全球温度散点地图中,每个点的颜色可以代表该点所在城市的温度。色阶可以是单色调渐变(如从浅蓝到深蓝表示低到高的值)或多色调渐变(如从绿色到黄色再到红色表示低、中、高值)。
  4. 点的大小(Size of Points):点的大小也可以用于表示其他变量的差异,例如人口大小、降水量、经济产出等。点的大小和颜色的结合可以同时展示两个维度的数据。
  5. 数据交互:现代的全球色阶范围散点地图通常是交互式的,用户可以缩放地图、悬停查看详细信息,或筛选特定条件的数据点,使得数据分析更加灵活。

适用场景

1.数据可视化
2.经济指标可视化
3.公共卫生与健康
4.生态与环境

二、开始画图啦!

首先我们先介绍几个本次绘图用到的有特色的函数!

  • geom_sf:绘制空间对象(sf对象)的几何形状。世界各国的海岸线形状,就是用它绘制的哦!
  • coord_sf:设置坐标系统,指定地图使用Eckert IV投影。

数据展示

本次绘图的目的是通过绘制全球散点图来展示全球各地的温度差异。所用到的数据包括国家的经纬度和温度。

图2. 全球国家经纬度和温度信息

加载R包

library(ggplot2)
library(sf)
library(rnaturalearth)
library(rnaturalearthdata)

读取世界地图数据

world <- ne_coastline(scale = 'medium', returnclass = 'sf')

设置Eckert IV投影

eckertIV <- "+proj=eck4 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs"

转换世界地图至Eckert IV投影

world_eckertIV <- st_transform(world, crs = eckertIV)

读取城市温度数据

cities <- read.csv("D:/砺行致远每日打卡/杨硕龄+全球散点图+9月8日/random_land_cities_temperature_data.csv")

将城市数据转换为sf对象

cities_sf <- st_as_sf(cities, coords = c("Longitude""Latitude"), crs = 4326)

转换城市数据至Eckert IV投影

cities_eckertIV <- st_transform(cities_sf, crs = eckertIV)

绘制地图并添加城市温度数据

ggplot() +
  geom_sf(data = world_eckertIV, fill = NA, color = "gray50") +
  geom_sf(data = cities_eckertIV, aes(size = Temperature, color = Temperature)) +
  scale_size(range = c(2, 6)) +
  scale_color_gradientn(colors = c("#DAF2E1""#7CD7B1""#327AA3""#3E458B"),
                        values = scales::rescale(c(0, 2, 5, 20, 50, 100, 300)), #设置自定义色阶范围应对不均匀分布数据
                        breaks = c(0, 2, 5, 20, 50, 100, 300)) +
  coord_sf(crs = eckertIV) +
  theme_minimal() +
  theme(
    panel.grid.major = element_line(color = "gray", size = 0.3),
    panel.grid.minor = element_line(color = "gray", size = 0.35),
    legend.position = "bottom",
    legend.key.width = unit(3, "cm"), # 调整图例长度
    legend.text = element_text(size = 5) # 调整图例文字大小
  ) +
  labs(
    title = "World Temperature Map",
    color = "Temperature (°C)"
  )
图3. 全球气温范围散点地图

保存地图

ggsave("world_temperature_map_eckertIV.png", width = 15, height = 8, bg = "white")

总结

全球色阶范围散点地图是一种强大且直观的数据可视化工具,可以帮助研究者、政策制定者、数据分析师和公众理解和分析大规模的地理空间数据及其相关的趋势和模式。它结合了地理信息和定量数据的可视化,便于揭示区域间的差异以及空间相关的关系。

本文作者:杨硕龄


现在:


长按扫码关注:科研生信充电宝


10元赞赏本文,即喜欢作者~


即可直接解锁:


跟着高分SCI学画图:R语言绘制全球色阶散点地图》对应资源哦~


看到这里你还不心动吗?


赶紧关注、转发、点赞、分享,领取你的专属福利吧~



好啦,以上就是今天推文的全部内容啦!


版权声明:本文内容由互联网用户自发贡献,版权归作者所有,本公众号不拥有所有权,也不承担相关法律责任。

如果您发现本公众号中有涉嫌抄袭的内容,欢迎发送邮件至:kysxcdb@163.com 进行举报,一经查实,本公众号将立刻删除涉嫌侵权内容。




科研生信充电宝
介绍科研;介绍统计;介绍生信;
 最新文章