使用R语言绘制简单地图的教程

server/2024/11/28 6:22:43/

今天主要讲的部分是绘制静态地图,使用的R语言绘图包是tmap,关于介绍就不多讲,下面开始代码的讲解,小白也可以放心食用。

1、绘制简单的单幅地图,这里以新西兰地区为例

#导入必要的包
library(tmap)
library(sp)
library(spData)# 只显示填充
tm_shape(nz) + tm_fill()
# 只显示边界
tm_shape(nz)+tm_borders()
# 填充和边界都显示
tm_shape(nz)+tm_fill()+tm_borders()

通过上面的代码,事实上我们分别可以得到三个不同版本的地图,分别为“只显示填充”(左),“只显示边界”(中),“边界和填充都显示”(右)

传给tm_shape()的对象是nz,这个nz是代表新西兰地区的sf类型的对象,我们可以通过一行简单的代码查看一下nz的属性,如下:

注意:在实际使用中我们通常使直接使用tm_polygons()方法绘制填充和边界。 


tm_shape(nz) + tm_polygons()
# tm_polygons()函数就是把tm_fill() 和 tm_borders()合成了一个

 2、绘制组图或者叫多幅地图

tmap可以提供“tmap”类的对象,我们可以把绘制好的地图暂存在tmap对象中,通过制作多个tmap对象来达到绘制组图的目的。


#map1和map2就是tmap对象
map1 = tm_shape(nz) + tm_polygons(col = "Population")
map2 = tm_shape(nz) + tm_polygons(col = "Median_income")
#绘制组图
tmap_arrange(map1,map2)

这个组图的图例出现了一些问题,是由于图例太窄放不下文字造成的,另外我们还需要添加一些地图要素,如比例尺,指北针等等。可通过下面的代码来完成:


map1 = tm_shape(nz) + tm_polygons(col = "Population") +tm_compass(position = c(0.8,0.8))+ tm_layout(legend.width = 2)+tm_scale_bar(breaks = c(0,100,200),text.size = 1)
map2 = tm_shape(nz) + tm_polygons(col = "Median_income") +tm_compass(position = c(0.8,0.8))+ tm_layout(legend.width = 2)+tm_scale_bar(breaks = c(0,100,200),text.size = 1)
tmap_arrange(map1,map2)

 

以上就是今天的内容,主要就是要熟练各类地图函数的参数设置,总结来说R语言绘制地图并不难。如果这个教程有帮到你,请点赞转发支持一下!我是加拿大一直黄花,我们下期再见。

 


http://www.ppmy.cn/server/145544.html

相关文章

Android 11 三方应用监听关机广播ACTION_SHUTDOWN

前言 最近有项目过程中,有做app的同事反馈,三方应用无法监听关机广播。特地研究了下关机广播为啥监听不到。 1.原因:发送关机广播的类是ShutdownThread.java,添加了flag:Intent.FLAG_RECEIVER_FOREGROUND | Intent.FLAG_RECEIVER…

spring boot框架漏洞复现

spring - java开源框架有五种 Spring MVC、SpringBoot、SpringFramework、SpringSecurity、SpringCloud spring boot版本 版本1: 直接就在根下 / 版本2:根下的必须目录 /actuator/ 端口:9093 spring boot搭建 1:直接下载源码打包 2:运行编译好的jar包:actuator-testb…

Testbench仿真脚本编写指北

[!note] 由于 Quartus 的 VWF 仿真只能仿真很短的时间,而且 Vivado 仿真的时候也需要添加激励信号,因此需要编写 testbench 文件进行激励仿真。 Testbench 文件结构 编写 testbench 的目的是为了测试 module 的功能、性能是否符合设计的预期。验证设计的…

健康养生:开启活力生活之门

在快节奏的现代生活中,人们愈发重视健康养生。它不仅是一种生活方式,更是对生命的尊重与呵护,让我们能以更佳状态迎接生活挑战,享受美好人生。 健康养生,饮食首当其冲。应秉持营养均衡的原则,确保每餐都有…

探索 Spring 框架核心组件:构建强大 Java 应用的基石

Spring框架作为Java企业级开发的首选框架之一,其强大的功能和灵活的架构深受开发者喜爱。Spring框架的核心组件共同构建了一个高效、可扩展的应用程序开发平台。本文将深入探讨Spring框架的核心组件,揭示它们如何在Spring框架中发挥关键作用。 一、Bean…

第三十三章 UDP 客户端 服务器通信 - IPv4 和 IPv6

文章目录 第三十三章 UDP 客户端 服务器通信 - IPv4 和 IPv6 第三十三章 UDP 客户端 服务器通信 - IPv4 和 IPv6 UDP 支持 IPv4 和 IPv6 互联网协议。由于这些协议不兼容,服务器和客户端都必须使用相同的Internet协议,否则传输将失败。 IPv4 地址具有以…

基于VMware 的 deepin 系统 学习 安装 1Panel mysql redis

基于VMware 的 deepin 系统 学习 虚拟机安装镜像 选择安装的deepin23镜像 纯粹个人使用的虚拟机配置 选择第二个选项安装 虚拟机而已 直接全盘安装 缺了几个图 都是默认 然后完成安装后重启到如下界面 填写你的主机名称 账号密码 然后就是进入到了主页面可以愉快的开始使…

AI 助力开发新篇章:云开发 Copilot 深度体验与技术解析

本文 一、引言:技术浪潮中的个人视角1.1 AI 和低代码的崛起1.2 为什么选择云开发 Copilot? 二、云开发 Copilot 的核心功能解析2.1 自然语言驱动的低代码开发2.1.1 自然语言输入示例2.1.2 代码生成的模块化支持 2.2 实时预览与调整2.2.1 实时预览窗口功能…