如何在 ggplot2 中将地图与复杂的点显示结合起来?

2023-11-22

我正在尝试用非洲背景地图绘制研究地点的点。我可以独立创建这两个,但我很难将它们叠加在一起。

我使用的非洲地图是来自 maplibrary.org 的 Esri shapefile。它可以从我的保管箱中获得:https://www.dropbox.com/s/etqdw3nky52czv4/Africa%20map.zip。我将这些点保存在文本文件中,也可以从我的投递箱中获取。https://www.dropbox.com/s/scvymytjsr5pvaf/SPM-437-22Nov12.txt。他们指的是疟原虫分子耐药性的研究。我想将它们绘制出来,颜色是具有耐药基因标记的寄生虫的比例,大小是测试的寄生虫的数量。

独立绘制点:

qplot(Longitude, Latitude, data = d.spm.437, colour = Frc437, size = Tot437)

绘制非洲地图:

library(maptools)
africa = readShapePoly("Africa.shp")
africa.map = fortify(africa, region="COUNTRY")
qplot(long, lat, data = africa.map, geom="path", group=group)

任何将这两者放在一起同时保留点显示的帮助将不胜感激。


尝试这样的事情。似乎对我有用。我认为你的一些经纬度坐标是错误的。这fill颜色为geom_point目前设置为Tot437所以你可能想改变这一点。

map

library(ggplot2)
library(rgdal)

africa <- readOGR("c:/test", layer = "Africa")
africa.map = fortify(africa, region="COUNTRY")

africa.points = read.table("c:/test/SPM-437-22Nov12.txt", header = TRUE, sep = ",")
names(africa.points)[which(names(africa.points) == 'Longitude')] <- 'long' # rename lat and long for consistency with shp file
names(africa.points)[which(names(africa.points) == 'Latitude')] <- 'lat'

ggplot(africa.map, aes(x = long, y = lat, group = group)) +
    geom_polygon(colour = "black", size = 1, fill = "white", aes(group = group)) +
    geom_point(data = africa.points, aes(x = long, y = lat, fill = Tot437, group = NULL), size = 4, shape = 21, colour = "black", size = 3)

顺便说一句,查看地图时,您可能很难获得各个区域的详细视图,因此解决这个问题的一种方法是通过子集化,在本例中使用数据框。你可以这样做:

africa.map <- africa.map[africa.map$id == 'Madagascar', ]
africa.points <- africa.points[africa.points$Country == 'Madagascar', ]
ggplot(africa.map, aes(x = long, y = lat, group = group)) +
    geom_polygon(colour = "black", size = 1, fill = "white", aes(group = group)) +
    geom_point(data = africa.points, aes(x = long, y = lat, fill = Tot437, group = NULL), size = 2, shape = 21, colour = "black", size = 2)

...这应该会给你类似的东西:

madagascar

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 ggplot2 中将地图与复杂的点显示结合起来? 的相关文章

  • Mac OS Big Sur R 编译错误:ld:找不到 CoreFoundation 框架

    在我的 Xcode 自动更新到 12 4 后 我的 Rstudio 包编译中断并抛出以下错误 ld framework not found CoreFoundation collect2 error ld returned 1 exit s
  • R中引用和表达式的区别

    gettypes function x paramx substitute x print typeof paramx print class paramx print mode paramx gettypes expression sin
  • 如何在 R 中使用 Torocks5 getURL

    我想使用 TorgetURLR Tor 中的功能正在工作 在 Firefox 中检查 socks5 at port 9050 但是当我在 R 中设置它时 出现以下错误 html lt getURL http www google com f
  • 检查相等性

    我想检查数据集的相等性 数据集看起来像这样 Equips lt c 1 1 1 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4 5 5 5 5 5 5 5 6 7 8 Notifs lt c 10 10 20 55 63 6
  • r + dplyr 过滤时间序列

    我有一些数据观察了一群人以及他们随时间推移所吃的水果 我想使用 dplyr 来观察每个人 直到他们吃香蕉并总结他们吃的所有水果直到他们吃第一根香蕉 data data lt structure list user c 1234L 1234L
  • R:如何跨行应用xts对象?

    我有以下 xts 对象 x lt structure c 30440 5 30441 30441 5 30441 5 30441 30439 5 30440 5 30441 30441 5 NA NA 30439 5 NA NA NA 30
  • R 中带有 ggplot 的背景带

    我正在尝试为不同的组创建箱线图 我想用 3 个水平条带为背景着色 中心观测值 其中所有观测值均接近总体平均值 平均值 体重 0 5 另外 2 个带是下面的和上面的 这些是我的情节 library ggplot2 bp lt ggplot d
  • 将数据框中的变量强制为适当的格式

    我正在处理一个由多种不同数据类型 数字 字符 时间戳 组成的数据帧 但不幸的是它们都作为字符接收 因此 我需要动态且尽可能高效地将它们强制转换为 适当 的格式 考虑以下示例 df lt data frame val1 c 1 2 3 4 v
  • 如何在ggplot2中制作x轴和y轴之间的间隙和突出的刻度线

    如何创建以下样式的图表 注意 x y 轴 红色圆圈 和 x y 轴上突出的刻度 箭头 之间的间隙 我现在最多能做的是 library ggplot2 p lt ggplot mpg aes class hwy geom boxplot th
  • 将 cummean 与 group_by 一起使用并忽略 NA

    df lt data frame category c cat1 cat1 cat2 cat1 cat2 cat2 cat1 cat2 value c NA 2 3 4 5 NA 7 8 我想在上面的数据框中添加一个新列 它采用的累积平均值
  • ggplot2 密度直方图,宽度=.5,vline 和居中条形位置

    我想要一些离散数据的良好密度 总和为 1 直方图 我尝试了几种方法来做到这一点 但没有一种方法完全令人满意 生成一些数据 data set seed 999 d test data frame score round rnorm 100 1
  • 使用 2 个表创建新功能

    table1 lt data frame user id c 1 1 1 1 1 1 1 1 1 1 2 2 product id c 14 24 38 40 66 2 19 30 71 98 7 16 first order c 1 2
  • r 选择数据框中某个值以下和之后的值

    我有一个问题如何从表中选择某些值 我有一个包含时间和值的表 我想在特定时间之后获取下面的行 示例 Data Frame Time Value 02 51 0 08033405 05 30 0 43456738 09 45 0 3605207
  • 在 R 中管理元数据的最佳方法是什么? [复制]

    这个问题在这里已经有答案了 在分析数据时 有关变量的元数据极其重要 您如何在 R 中管理这些信息 例如 有没有办法指定将打印的标签而不是变量名称 R中有哪些工具可以实现这一点 我想到的快速建议是 将数据与对象一起存储的属性 正如 Frank
  • 如何根据R中的条件创建新变量

    我正在尝试根据某些条件创建一个新变量 我的数据看起来像 a b 1 NA 2 3 3 3 NA 2 NA NA 我想要的是一个变量c这样 when a is not NA b is NA c a when a is NA b is not
  • 基本 R 图:帮助减少多个图之间的空间

    我试图减少一个窗口中多个绘图之间的空间量 但无法实现我想要的 情节和代码如下 我想将图例保留在原处 但减少 B 和 C 之间的空间 如何将图 C 向左 移动到靠近图 B 的位置以模仿 A 和 B 之间的间距 同时保持图例就位 我希望传奇是独
  • 如何在 Windows 上使用 freeType 构建 rgl

    我正在尝试 并且非常失败 建立rgl封装有freeType在 Windows 上 因为事实证明 rgl我通过 Rgui 安装的 Windows 二进制文件不包括freeType支持 我需要它的原因是this https stackoverf
  • R 将向量重塑为多列

    假设我在 R 中有一个向量 如下所示 d lt seq 1 100 我想将这个向量重塑为 10x10 矩阵 这样我就可以得到以下数据 1 2 3 10 1 2 3 10 11 12 13 20 21 22 23 30 91 92 93 10
  • R文本文件和文本挖掘...如何加载数据

    我正在使用 R 包tm我想做一些文本挖掘 这是一个文档 被视为一个词袋 我不明白有关如何加载文本文件并创建必要的对象以开始使用诸如 之类的功能的文档 stemDocument x language map IETF Language x 所
  • 如何在 bookdown 定理或示例环境中使用内联 R 代码

    我使用 bookdown 生成 html 和 PDF 文档 如何在定理和示例环境中使用内联 R 代码的结果 这是我尝试过的 title Test output bookdown pdf book toc false html documen

随机推荐

  • 文件对话框中设置的 tkinter 文件模式

    为了在文件对话框中获取具有给定扩展名的预期文件集 我在几个地方看到了这样的写入模式 label pattern 模式位于一个字符串中 然而以下不起作用 from tkinter import filedialog as fd fd asko
  • 需要带有背景图像的空 Div 来强制高度并且必须具有响应能力

    我需要以下内容 空 div 没有内容 背景图片设置到div中 背景图像在调整大小时流畅 响应灵敏 我无法设置固定 div 上的尺寸 我尝试的所有方法都无法强制打开 div 以支持背景图像的大小 任何帮助是极大的赞赏 http www eve
  • 如何在没有插件的情况下搜索选择标签html的选项

    我用 html 制作了选择标签 其中包含所有国家 地区的名称 我想使用搜索栏搜索它们的值 而不需要任何插件或附加组件 这可能吗 Answer 是的 您可以首先在此处查看它的实际效果demo 如果您喜欢所看到的内容 请执行以下操作 HTML
  • 充分使用“if”语句或“try/catch”块?

    给我一些你的想法 关于哪种是更好的编码实践 使代码更高效 看起来更漂亮 无论如何 增加和提高你使用 if 语句来预测和捕获潜在问题的能力 或者只是充分利用 try catch 假设这是针对 Java 的 如果重要的话 Edit 我目前正在摆
  • 自动为所有 SQL Server 作业创建脚本

    目前 我正在尝试为 MS SQL2005 服务器的所有 SQL 作业自动生成创建脚本 我发现的一种方法已经完成 手动http msdn microsoft com en us library ms191450 aspx 我发现第二种方法可以
  • 始终保留n个最佳元素的数据结构

    我需要一个始终保存n迄今为止插入的最大项目 排名不分先后 So if n是 3 我们可以进行以下会话 其中我插入一些数字并且容器的内容发生变化 now insert 1 1 now insert 0 1 0 now insert 4 1 0
  • 寻找 A* 算法的启发式有哪些好方法?

    您有一张方形图块地图 您可以在其中向 8 个方向中的任意方向移动 鉴于您有名为的函数cost tile1 tile2 它告诉您从一个相邻图块移动到另一个图块的成本 您如何找到既可接受又一致的启发式函数 h y goal 给定此设置 寻找启发
  • python 中的端口转发以允许套接字连接

    我使用套接字启动服务器并希望允许客户端连接到它 self sock bind 0 0 0 0 0 0 0 0 0 will allow all connections and port 0 gt os chooses a open port
  • 如何在不传递变量的情况下获取当前异常?

    我正在寻找一种方法来检索当前异常 而不必将其作为变量传递 假设下面的代码 public void MakeItFail try throw new FailException catch Yes I m aware that this sh
  • ng-grid 自动调整列宽

    我正在使用 AngularJS ng grid 并尝试制作它 1 根据列内容自动调整列宽 2 当显示的列较少时 使最后一列宽度自动调整大小以填充空白区域 例如 我有 8 列 每列宽度 100 整个 ng grid 宽度为 800 然后如果我
  • 查找消息的作者

    如果有人写 name arg 我希望我的机器人说消息的作者 你的名字是 arg 我找不到该消息的作者 though client command async def name their name await client say 0 yo
  • Elastic Search 上可以创建的索引数量有限制吗?

    我正在使用 AWS 提供的 Elastic Search 我的网站上以及每次注册时都有一个注册页面 为新用户创建一个新索引 稍后由他的工作组使用 这意味着索引的数量不断增长 现在达到大约 4 5k 我的问题是 索引数量有性能限制吗 为每个新
  • 模板c++的模板?

    我已经成功地创建了一些 preperty 类 其中包含我们期望的所有内容 我的意思是 使用它时 您不需要仅使用来调用函数operator 将完成所有工作 但我想只有一件事如果我们能解决就好了 template
  • 将 javascript 添加到 ASP.NET 文本框控件的 OnBlur 属性

    有没有办法指定一些 JavaScript 在 ASP NET 文本框的 OnBlur 事件上执行 在我看来 如果我向 TextBox 对象添加任何事件处理程序 它们只会导致回发到服务器 而不是执行我想要的操作 基本上 我只想能够在 HTML
  • 如何使用 Jquery 在午夜使 Cookie 过期?

    我这样做了 cookie ultOS i expires 1 但它只会在第二天到期 如何让 cookie 在午夜过期 这会起作用吗 var date new Date var midnight new Date date getFullYe
  • 如何使用 \x1b[2j 清除屏幕?

    我们如何实施clrscr 谷歌搜索我发现 x1b 2j可以用来清屏 但是我们如何使用它呢 标准 C 库不提供清除屏幕的方法 为此 您需要一个依赖于操作系统的库 在 DOS 和 Windows 下 对于在 DOS 或 Windows 控制台中
  • 分发时隐藏swift框架中的源代码

    我创建了一个快速框架来分发给私人客户 这是我第一次创建 iOS 框架 所以我对很多事情都一无所知 我的源代码是否有可能被隐藏 我已经到处搜索 但找不到正确的答案 我不确定我是否解释得很彻底 但为了简化起见 我不希望开发人员能够修改或查看我的
  • ChartJS:数据标签:显示饼图中的百分比值

    我有一个带有四个标签的饼图 var data data 50 55 60 33 labels India China US Canada backgroundColor 4b77a9 5f255f d21243 B27200 borderC
  • CoffeeScript:使用instanceof与Class.constructor.name

    如果我有课 class Haha constructor lolAmount 1 gt alert lolAmount 我想检查一个对象是否属于正确的类 使用它是否总是安全的constructor name haha new Haha un
  • 如何在 ggplot2 中将地图与复杂的点显示结合起来?

    我正在尝试用非洲背景地图绘制研究地点的点 我可以独立创建这两个 但我很难将它们叠加在一起 我使用的非洲地图是来自 maplibrary org 的 Esri shapefile 它可以从我的保管箱中获得 https www dropbox