R实现地图相关图形绘制

      大家好,我是带我去滑雪!

      地图相关图形绘制具有许多优点,这些优点使其在各种领域和应用中非常有用。例如:地图相关图形提供了一种直观的方式来可视化数据,使数据更容易理解和分析。通过地图,可以看到数据的空间分布,识别趋势和模式,并从中获取有关地理位置的见解。下面使用R语言绘制地图相关图。

(1)数据

       使用美国50个州2005年的收入分配不均等指数,其中的6个收入不均等指数,除了泰尔熵指数之外,均介于0到1之间,数值越大代表收入分配越不均匀。详细数据在文末。

(2)收入不均等指数数据整理与点状图绘制

library(lattice)
ineq50=read.csv("ineq50.csv", header=F)
names(ineq50)=c("ATKIN05","GINI","RMEANDEV","THEIL","TOP1","TOP10")
save(ineq50, file="ineq50.RData")
load("ineq50.RData")
attach(ineq50)
vn=colnames(ineq50)
j=2   
index=ineq50[,vn[j]]
data=data.frame(name = state.name,region = state.region,y=index)
name=state.name
region=state.region
dotplot(reorder(name, index)~index, ineq50, main=c("Inequality Index"),xlab=vn[j])

输出结果:

        通过图像可以发现,康涅狄格州的收入分配最不平均,西弗吉尼亚州则最好。

(3)实现切段绘图

b=0.9 # Define cutting point
cuts =shingle(index,intervals = rbind(c(0, b),c(b, 2)))
dotplot(reorder(name, index) ~ index| cuts , ineq50,
        strip = FALSE, layout = c(2, 1), levels.fos = 1:50,
        scales = list(x = "free"), between = list(x = 0.5),
        xlab = "Theil income inequality index", 
        par.settings = list(layout.widths = list(panel = c(2, 1))))

输出结果:

(4)按地理区域呈现收入不均等指数数据

ineq50$region=with(ineq50, reorder(region, index, median))
ineq50$name=with(ineq50,reorder(reorder(name, index), as.numeric(region)))

dotplot(name~ index | region, ineq50, strip = F, strip.left = T, layout = c(1, 4),
        scales = list(y = list(relation = "free")),xlab = vn[j])

输出结果:

(5)在美国地图上呈现收入不均等指数

state.info = data.frame(name = state.name,long = state.center$x,lat = state.center$y,y=index)
library(maps)
state.map = map("state", plot=FALSE, fill = FALSE)
panel.3dmap = function(..., rot.mat, distance, xlim, ylim, zlim,
                       xlim.scaled, ylim.scaled, zlim.scaled)
{
  scaled.val = function(x, original, scaled) {
    scaled[1] + (x - original[1]) * diff(scaled) / diff(original)
  }
  m = ltransform3dto3d(rbind(scaled.val(state.map$x, xlim, xlim.scaled),
                             scaled.val(state.map$y, ylim, ylim.scaled),zlim.scaled[1]), 
                       rot.mat, distance)
  panel.lines(m[1,], m[2,], col = "grey76")
}

cloud(index ~ long + lat, state.info,
      subset = !(name %in% c("Alaska", "Hawaii")),
      panel.3d.cloud = function(...) {
        panel.3dmap(...)
        panel.3dscatter(...)
      }, 
      type = "h", scales = list(draw = FALSE), zoom = 1.2,xlim = state.map$range[1:2], 
      ylim = state.map$range[3:4],xlab = NULL, ylab = NULL, zlab = NULL,
      aspect = c(diff(state.map$range[3:4])/diff(state.map$range[1:2]), 0.3),
      panel.aspect = 0.75, lwd = 2, screen = list(z = 30, x = -70),
      par.settings = list(axis.line = list(col = "transparent"),
                          box.3d = list(col = "transparent", alpha = 0)))

输出结果:

         可以发现,收入分配不均匀的州多集中在美国的东部和西部。

需要数据集的家人们可以去百度网盘(永久有效)获取:

链接:https://pan.baidu.com/s/1E59qYZuGhwlrx6gn4JJZTg?pwd=2138
提取码:2138 


更多优质内容持续发布中,请移步主页查看。

   点赞+关注,下次不迷路!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/99088.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++笔记】C++三大特性之多态的概念、定义及使用

1.多态的概念 多态即多种形态,对于C程序设计中指的是在类的实例化对象中,当不同的对象去完成某个行为时会出现不同的状态。 2.多态的分类 静态的多态:函数重载,看起来调用同一个函数有不同行为。静态:原理是编译时实…

UE4 Unlua 初使用小记

function M:Construct()print(Hello World)print(self.Va)local mySubsystem UE4.UHMSGameInstanceSubsystemUE4.UKismetSystemLibrary.PrintString(self,"Get Click Msg From UnLua ")end unlua中tick不能调用的问题: 把该类的Event Tick为灰色显示的删…

【数据库审计】2023年数据库审计厂家汇总

我们大家都知道数据库审计的重要意义,不仅可以满足等保合规,还能进行风险告警,保障数据安全。那你知道目前市面上数据库审计厂家有哪些吗?这里小编就给大家汇总一下。 2023年数据库审计厂家汇总 1、行云管家 2、安恒信息 3、…

MongoDB-介绍与安装部署

介绍与安装部署 1.MongoDB简介a) 体系结构b) 数据模型c) MongoDB的特点c.1) 高性能c.2) 高性可用性c.3) 高拓展性c.4) 丰富的查询支持 2.单机部署a) Windows系统中的安装启动b) Shell连接(mongo命令)c) Linux系统中的安装启动和连接 1.MongoDB简介 MongoDB是一个开源、高性能、…

多头注意力机制

1、什么是多头注意力机制 从多头注意力的结构图中,貌似这个所谓的多个头就是指多组线性变换,但是并不是,只使用了一组线性变换层,即三个变换张量对 Q、K、V 分别进行线性变换,这些变化不会改变原有张量的尺寸&#xf…

MyBatisPlus(十六)逻辑删除

说明 实际生产中的数据,一般不采用物理删除,而采用逻辑删除,也就是将一条记录的状态改为已删除。 逻辑删除,本质上是更新操作。 MyBatis Plus 框架,提供了逻辑删除功能。在配置了逻辑删除后,增删改查和统…

在Remix中编写你的第一份智能合约

智能合约简单来讲就是:部署在去中心化区块链上的一个合约或者一组指令,当这个合约或者这组指令被部署以后,它就不能被改变了,并会自动执行,每个人都可以看到合约里面的条款。更深层次的理解就是:这些代码会…

亚马逊电子产品日本站PSE认证,TELEC认证如何办理?

日本市场准入认证——PSE认证,TELEC认证 日本作为第三大经济体国家,是中国商品对外出口的最多的国家之一,无论是在日本亚马逊销售还是在日本当地销售,都需要符合日本市场准入许可。需要注意的是日本的电气安全标准都是自主特色的…

R语言 一种功能强大的数据分析、统计建模 可视化 免费、开源且跨平台 的编程语言

R语言是一种广泛应用于数据分析、统计建模和可视化的编程语言。它由新西兰奥克兰大学的罗斯伊哈卡和罗伯特杰特曼开发,并于1993年首次发布。R语言是一个免费、开源且跨平台的语言,它在统计学和数据科学领域得到了广泛的应用。 R语言具有丰富的数据处理、…

基于docker+Keepalived+Haproxy高可用前后的分离技术

基于dockerKeepalivedHaproxy高可用前后端分离技术 架构图 服务名docker-ip地址docker-keepalived-vip-iphaproxy-01docker-ip自动分配 未指定ip192.168.31.252haproxy-02docker-ip自动分配 未指定ip192.168.31.253 安装haproxy 宿主机ip 192.168.31.254 宿主机keepalived虚…

《DevOps 精要:业务视角》- 读书笔记(三)

DevOps 精要:业务视角(三) 第3章 原则3.1 价值流3.2 部署流水线3.3 一切都应存储在版本控制系统中3.4 自动化配置管理3.5 完成的定义3.6 小结 第3章 原则 将原则从实践中分离出来,这是一种很有用的做法。当然了,这两个词分别有着…

前后端分离计算机毕设项目之基于SpringBoot的无人智慧超市管理系统的设计与实现《内含源码+文档+部署教程》

博主介绍:✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久,选择我们就是选择放心、选择安心毕业✌ 🍅由于篇幅限制,想要获取完整文章或者源码,或者代做&am…

Flutter环境搭建及新建项目

一、下载安装压缩包 https://storage.flutter-io.cn/flutter_infra_release/releases/stable/windows/flutter_windows_3.10.6-stable.zip 二、解压缩 解压之后,将里面的flutter整体拿出来 三、配置环境变量 将flutter/bin全路径配置到系统环境变量里面 四、运行…

LLMs 蒸馏, 量化精度, 剪枝 模型优化以用于部署 Model optimizations for deployment

现在,您已经了解了如何调整和对齐大型语言模型以适应您的任务,让我们讨论一下将模型集成到应用程序中需要考虑的事项。 在这个阶段有许多重要的问题需要问。第一组问题与您的LLM在部署中的功能有关。您需要模型生成完成的速度有多快?您有多…

194、SpringBoot --- 下载和安装 Erlang 、 RabbitMQ

本节要点: 一些命令: 小黑窗输入: rabbitmq-plugins enable rabbitmq_management 启动控制台插件 rabbitmq-server 启动rabbitMQ服务器 管理员启动小黑窗: rabbitmq-service install 添加rabbitMQ为本地服务 启动浏览器访问 htt…

Games104现代游戏引擎笔记高级ai

Hierarchical Task Network 层次任务网络 World State是一个主观的对世界的认知,并不是一个真实世界的描述 Sensors负责从游戏环境中抓取各种状态 HTN Domain 存放层次化的树状结构Task和之间的关联关系1 Planner 根据World State从 Domain 里规划 task Plan Runne…

Mac上安装Java的JDK多版本管理软件jEnv

JDK的多版本管理软件主要有以下三种: jEnv jEnv 是一个命令行工具,可以帮助您管理和切换不同版本的 Java 环境。它可以让您在不同的项目之间轻松切换 Java 版本。您可以使用 jenv global 命令设置全局 Java 版本,也可以使用 jenv local 命令…

vue全局事件总线是什么?有什么用?解决了什么问题,与pinia有什么区别?

全局事件总线快速入门 概念基本概念(是什么?)核心概念 核心特性和优势(有什么用?)解决了什么问题?主要优势是什么? 案例演示?传递数据-案例演示传递事件-案例演示 与pinia有什么区别&#xff1f…

Lambda表达式在C++中的定义

目录 背景介绍: Lambda表达式的定义: Lambda结构介绍: 1. Lambda capture 2. Lambda parameter list 3. Lambda mutable 4. Lambda return type 5. Lambda 主体 Lambda 表达式小结: Lambda 引用参考: 背景介…

短视频平台的那些事

短视频平台的那些事 文章目录 短视频平台的那些事1. 前言2. 概览介绍3. 业务框架4. 关键技术能力4.1 视频处理4.1.1 FFMPEG技术 4.2 视频安全,合规4.2.1 视频安全审核4.2.2 视频MD5校验4.2.3 视频AI指纹 4.3 视频内容理解4.3.1 视频分类4.3.2 视频标签4.3.3 视频质量…