美国边界线未添加到美国分散地区的 geom_map 地图中

2024-04-18

我有一张美国分散地区的地图。这是在以下问题中(包含数据链接):

合并数据后,ggplot2 geom_polygon 的映射变得疯狂 https://stackoverflow.com/q/48469441/1813491

回答得很好。然后我尝试添加美国边境线,因此我将 geom_path 添加到应答代码中,但没有结果,它创建了仅包含分散区域的相同地图。

library(ggplot2)
#library(tidyverse)
library(dplyr)
library(maps)
load("./data.rda")

usa <- map_data("usa")
shape_map <- tbl_df(fortify(shape, region="Name"))
colnames(shape_map) <- c("long", "lat", "order", "hole", "piece", "region", "group")


ggplot() +
    geom_path(data = usa, aes(long, lat, group=group))+
    geom_map(data=shape_map, map=shape_map, aes(long, lat, map_id=region)) +
    geom_map(
        data=filter(prop.test, season=="DJF"),
        map=shape_map, aes(fill=prop.mega, map_id=megaregion)
    )

我尝试过 geom_polygon() 和 geom_maps()。没有不同。这是什么原因,又该如何解决呢?

非常感谢你的帮助!


所以,问题在于预测的差异。美国地图采用 UTM 系统,以米为单位给出东距和北距,但命名为长和纬度。而美国地图采用的是纬度/经度坐标系统。我改造了shape就在代码中的 fortify 行之前,如下所示:

library(ggplot2)
library(tidyverse)

usa <- map_data("usa", )

shape <- spTransform(shape, CRS("+proj=longlat +datum=WGS84"))
shape_map <- fortify(shape, region="Name")

colnames(shape_map) <- c("long", "lat", "order", "hole", "piece", "region", "group")

prop.test <- proptest.result[which(proptest.result$variable=="Upward N"),]

ggplot() +
  geom_map(
    data=usa, map=usa, aes(long, lat, map_id=region),
    color="#2b2b2b", fill="#00000000"
  ) +
  geom_map(
    data=shape_map, map=shape_map, 
    aes(long, lat, map_id=region)
  ) +
  geom_map(
    data=filter(prop.test, season=="DJF"),
    map=shape_map, aes(fill=prop.mega, map_id=megaregion)
  ) +
  viridis::scale_fill_viridis(direction=-1) +
  coord_map("polyconic") +
  ggthemes::theme_map()

这是结果图:

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

美国边界线未添加到美国分散地区的 geom_map 地图中 的相关文章

随机推荐

  • 在 Xamarin.Forms 中编写设备平台特定的代码

    我有以下内容Xamarin Forms ContentPage类结构 public class MyPage ContentPage public MyPage do work to initialize MyPage public voi
  • 在 Apps 脚本上创建新触发器时收到错误

    尝试创建新触发器时收到此错误 脚本授权失败 请检查您的弹出窗口阻止程序设置 然后重试 已尝试允许该网站接受弹出窗口 甚至关闭弹出窗口阻止程序 但没有产生任何影响 有人有解决办法吗 我遇到了同样的问题 并设法通过首先从脚本编辑器手动执行我的脚
  • PHP 7 用户会话问题 - 无法初始化存储模块

    在 PHP 7 0 中使用各种 PHP 框架会话驱动程序时存在错误 我最初在使用 CodeIgniter 数据库驱动程序时遇到了这个问题 并认为这是一个 CodeIgniter 问题 但后来在多个会话驱动程序和多个框架上遇到了这个问题 此时
  • 在android中使用多点触控进行旋转、缩放和移动

    我想在多点触摸事件上旋转 缩放和移动图像 它似乎工作正常 但工作不完美 我真的很想修复我的错误代码 所以请帮助我 我的代码在那里 public class ImageControl extends Activity DragView dra
  • 使用 Selenium IDE 解析查询字符串值的 URL

    我是集成测试的新手 但到目前为止 我已经使用 Se IDE 构建了一套测试 取得了巨大的成功 当我运行测试时 我突然意识到我正在生成大量数据 并且我想自己清理 我的大多数测试都涉及创建一个新的 页面 并且 id 在查询字符串中可用 我想让
  • __doPostBack() 函数不起作用 (asp.net)

    我正在尝试从 JS 代码触发按钮事件 但doPostBack在JS函数中reg 不指向 c 代码 请告诉我出了什么问题 这是我的代码
  • 正则表达式返回未定义的字符串

    我试图从磁力链接中提取哈希值 但它返回不明确的 var tesst magnet xt urn btih 2B78EDFDDC87DC9605FB285997A80B787888C194 var test tesst match magne
  • 当文本框为空时,C++ Windows 窗体应用程序出现未处理的异常错误

    我正在 Visual Studio 中为 C 课程构建温度转换应用程序 它是一个 Windows 窗体应用程序 我的问题是 当我运行应用程序时 如果我没有在 txtFahrenheit 或 txtCelsius2 文本框中输入任何内容 我会
  • 委托和变量范围

    我有以下代码 public void SetMove Position3D pos float time float linearity bool relative ExecuteOnActiveClients delegate Neuro
  • 32 位整数按位与

    如何在 C 中对两个 32 位整数执行按位 AND 运算 Related 最常见的 C 位运算 https stackoverflow com questions 93744 most common c bitwise operations
  • WPF MVVM - ItemsControl 内部的命令绑定

    我目前正在将一个小型 WPF 项目转换为 MVVM 我有一个List
  • 在 jQuery 模板中获取索引

    我正在使用 jQuery 模板插件 不知道如何获取项目的索引 http api jquery com category plugins templates http api jquery com category plugins templ
  • 解析器组合器的类型

    如果我有一个解析器a Parser A和一个解析器b Parser B然后我可以将它组合成一个解析器a b Parser Either A B 这可行 但当您开始添加更多替代方案并获取类似类型时 会变得有点棘手Either A Either
  • Play Framework 2.6 CSRF 和会话

    我遇到了奇怪的问题 我正在我的网站上实现购物车功能 并使用会话来存储购物车位置 我有一个 POST 操作来将新位置添加到购物车 并且我启用了 CSRF 过滤器来保护网站 我在产品页面上用ajax调用它 所以第一次调用没问题 但第二次调用说未
  • Android相机参数setPictureSize导致图片出现条纹

    我正在尝试使用 Android 相机拍照 我需要捕获 1600 宽 x 1200 高 图像 第 3 方供应商要求 我的代码似乎适用于许多手机摄像头 但 setPictureSize 会导致某些手机 三星 Galaxy S4 三星 Galax
  • 为什么 Java 的 SSLSocket 发送版本 2 客户端问候?

    The SSLSocket getEnabledProtocols 方法返回以下内容 SSLv2Hello SSLv3 TLSv1 事实上 当我打电话时connect 并且我打开了 SSL 调试 我看到使用了 v2 客户端 hello ma
  • Java:BufferedReader 的 readLine 方法的效率和可能的替代方案

    我们正在努力减少延迟并提高用 Java 编写的进程的性能 该进程通过 readLine 方法从套接字消费数据 xml 字符串 缓冲读取器 http java sun com javase 6 docs api java io Buffere
  • /dev/mem的访问权限

    我有一系列关于 dev mem 网上很多文章 好像都提到了 dev mem作为通往 Physical RAM 但如果我是对的 dev mem是通往 Physical Address Space 处理器的控制寄存器可能包括许多硬件外设的控制寄
  • 如何创建 Android Spinner 作为弹出窗口?

    我想在用户点击菜单项时弹出一个旋转对话框 以允许用户选择一个项目 我是否需要一个单独的对话框 或者我可以直接使用 Spinner 吗 我懂了这个链接 http developer android com reference android
  • 美国边界线未添加到美国分散地区的 geom_map 地图中

    我有一张美国分散地区的地图 这是在以下问题中 包含数据链接 合并数据后 ggplot2 geom polygon 的映射变得疯狂 https stackoverflow com q 48469441 1813491 回答得很好 然后我尝试添