使用 ggplot 从 SpatialPolygonsDataFrame 创建分区统计图

2024-01-13

我有一个来自 UScensus2010 包的 SpatialPolygonsDataFrame 。我正在尝试创建一个分区统计图。当我这样做时,这将按预期工作:

data(colorado.county10)
choropleth(colorado.county10,
           "P0010001",
           color = list(fun = "rainbow", 
                        attr = list(4)),
           main="2010 US Counties",
           type="plot",
           border="black")

但由于未找到“P0010001”而失败

data(colorado.county10)
ggplot(colorado.county10, aes(long, lat, group = group)) +
  geom_polygon(aes(fill = P0010001), colour = alpha("white", 1/2), size = 0.2) +
  scale_fill_brewer(pal = "PuRd")

当我试图弄清楚这一点时,我注意到 colorado.county10$P0010001 返回一个数字数组,但 colorado.county10["P0010001"] 返回一个 SpatialPolygonsDataFrame。

对正在发生的事情有什么见解吗?


如果你想使用ggplot你需要强制SpatialPolygonsDataFrame to a data.frame.

ggplot2提供了一些fortify将创建正确格式的数据的方法。

目前fortify.SpatialPolygonsDataFrame方法不保留data组件,它确实提供了一个列id其中包含来自data.framedata原来的插槽SpatialPolygonsDataFrame.

注意data.frames是存储此信息的低效方法(每个多边形的每个顶点 1 行)。

因此,以下内容可以工作,但速度很慢并且可能会导致内存问题

c10 <- fortify(colorado.county10)

c10d <- cbind(c10, colorado.county10@data[c10$id,])

ggplot(c10d, aes(long, lat, group = group)) +
   geom_polygon(aes(fill = factor(P0010001)), colour = alpha("white", 1/2), size = 0.2) +
   scale_fill_brewer(pal = "PuRd") 

Using base绘图功能会更快,并且不会占用太多资源。

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

使用 ggplot 从 SpatialPolygonsDataFrame 创建分区统计图 的相关文章

  • 如何导入 .tsv 文件

    我需要读取一个表 tsvR 中的文件 test lt read table file drug info tsv Error in scan file what nmax sep dec quote skip nlines na strin
  • r testthat 和 covr 在非包库中使用

    我希望能够使用testthat and covr在一个项目中not一个 r 包 事实上不使用任何第三方服务 只是普通的旧 r 源文件的集合 我正在努力找出这是否可行 如果可以 则已设置有关如何设置的说明 我发现假设你正在编写一个 r 包 我
  • Mac OS X 10.13 上的 RStudio 在尝试使用 fix() 时出现 X11 不可用错误

    我已经使用自制程序在我的计算机上安装了 XQuartz 然后重新启动了我的计算机 当我尝试在 RStudio 中使用 fix 命令时 出现以下错误 gt College read csv College csv header T na st
  • 通过删除连续的重复项来减少字符串长度

    我有一个包含 2 个字段的 R 数据框 ID WORD 1 AAAAABBBBB 2 ABCAAABBBDDD 3 我想通过仅保留字母而不是重复中的重复项来简化具有重复字母的单词 e g AAAAABBBBB应该给我AB and ABCAA
  • 如何在environment.yml中安装CRAN包

    我正在使用 miniconda 来管理数据科学包的安装 这是我现在已经建立的工作流程 所以我希望它也能在这种情况下工作 我也认为它可以工作 因为它应该在这样的情况下有所帮助 比纯 python 需要更多的依赖项 我想安装pythonCDT工
  • 获取行名以 ABC111 开头的所有行

    我们有以下数据框 col1 col2 col3 ABC111001 12 12 13 ABC111002 3 4 5 ABC000111 7 6 1 ABC000112 9 23 1 如何获取行名以 开头的所有行ABC111 如下 ABC1
  • 双向条形图,两侧带有正标签ggplot2

    我尝试在 ggplot 中创建一个双向条形图 其中轴上方和下方的轴标签和数据标签均为正值 例如 如果您的数据是 myData lt data frame category c yes yes no no month c Jan Feb Ja
  • 将 r 数据框中的列字符串转换为数字

    我有一个数据框 其中有一列字符串 如下所示 mydata lt c 1 356670 35 355030 1 356670 35 355030 1 356620 35 355890 1 356930 35 358660 1 357000 3
  • 带有 geom_errorbar 的position_dodge

    我有以下代码 require ggplot2 pd lt position dodge 0 3 ggplot dt aes x Time y OR colour Group geom errorbar aes ymin CI lower y
  • dmvnorm MVN 密度 - RcppArmadillo 实现比 R 包慢,包括一些 Fortran

    The solution现已上线RCPP画廊 http gallery rcpp org articles dmvnorm arma 我从 RcppArmadillo 中的 mvtnorm 包重新实现了 dmvnorm 我有点喜欢犰狳 但我
  • 读取并绘制从大文件中读取的数据

    我们有相当大的文件 大约为 1 1 5 GB 主要是日志文件 其中包含易于解析为 csv 的原始数据 随后应该将其绘制成图表以生成一组图形图像 目前 我们正在使用 bash 脚本将原始数据转换为 csv 文件 其中仅包含需要绘制图表的数字
  • 自定义 colorRampPalette 中的颜色条

    我定义了一个 colorRampPalette my colors colorRampPalette c light green yellow orange red 如何为其绘制颜色条 图例 项目 最好仅使用基本包 我正在寻找一个充满该颜色
  • 如何在R中使用OpenNLP获取POS标签?

    这是 R 代码 library NLP library openNLP tagPOS lt function x s lt as String x word token annotator lt Maxent Word Token Anno
  • 向图像添加坐标,以用作 R 中的 Leaflet、Shiny 和 Shinydashboard 包中的地图

    我计划使用 Leaflet Shiny 和 Shinydashboard 沿着以下很棒的路线创建一个带有医院 OHS 事件标记的交互式地图交互式地图和直方图模板 http shiny rstudio com gallery superzip
  • Openxlsx 多次验证损坏输出文件

    我正在尝试添加多个验证并将公式添加到 Excel 文件 这是我使用的代码 library openxlsx fileTemplate lt New01 xlsx wbTemplate lt loadWorkbook fileTemplate
  • 如何加速 R for 循环?

    我正在为 R 中 GWmodel 包中的 gwr basic 函数运行以下 for 循环 我需要做的是收集任何给定带宽的估计参数的平均值 代码如下 library GWmodel data DubVoter Dub voter LARent
  • S4 类 [(子集)带有附加参数的继承

    这是一个扩展在 R 中的访问器函数中使用 callNextMethod https stackoverflow com q 24875284 2752888 2017 03 25 更新 为了说明如何仅在加载方法时失败 但在构建的包中时不会失
  • 无重叠的抖动点

    My data a lt sample 1 5 100 replace TRUE b lt sample 1 5 100 replace TRUE c lt sample 1 10 100 replace TRUE d lt sample
  • 使用 purrr::map() 更改和分配新变量名称

    我刚刚开始掌握编写函数并使用 lapply purrr map 使我的代码更加简洁 但显然还没有完全理解它 在我当前的示例中 我想重命名 lm robust 对象的系数名称 然后更改 lm robust 对象以合并新名称 我目前这样做 li
  • ggplot堆叠条 - 隐藏标签但保留标签位置

    我在 ggplot 中有一个堆积条形图 其中 geom text 标签位于每个条形的中心 我想隐藏小条上的标签 以便图表看起来不会过于拥挤 我可以使用下面的代码来完成此操作 但它会弄乱标签的位置 正如您在下面的链接图片中看到的那样 它们不再

随机推荐

  • Node/Express 的 MongoDB 示例 AJAX 调用?

    这是从一个非常基本的页面开始 HTML 表单 一个按钮和一个 div 框 单击按钮将通过 AJAX POST 表单数据 数据将存储在 MongoDB 中 并在不刷新页面的情况下检索到 div box 中 来自index html的AJAX
  • VMWare 如何防止虚拟机更新其日期和时间

    我想知道虚拟机 VMWare 如何更新其日期和时间以及如何禁用它 因为我注意到 即使我将虚拟机暂停 关闭一年 当我再次打开它时 它也会有正确的时间和日期 对于物理机 我知道主板上固定的中央单元内有一个小电池 有助于在计算机关闭并断开电源时保
  • Apache Zeppelin 0.6.1:运行 Spark 2.0 Twitter Stream 应用程序

    我有一个安装了 Spark 2 0 和 Zeppelin 0 6 1 的集群 自从上课以来TwitterUtils scala从 Spark 项目移至 Apache Bahir 我无法再在我的 Zeppelin 笔记本中使用 Twitter
  • C# 中实现相等性的最少代码

    In this Eric Lippert 在第 9 点中指出 C 具有 太多的平等性 他指出有 9 或 10 种不同的方法或运算符可以重载以提供对象相等性 我的第一个问题是 如果重写 Object Equals object 方法 编译器是
  • Linux 下 Java 的虚拟内存使用情况,使用了太多内存

    我在 Linux 下运行 Java 应用程序时遇到问题 当我使用默认最大堆大小 64 MB 启动应用程序时 我看到使用 tops 应用程序为该应用程序分配了 240 MB 虚拟内存 这会给计算机上的一些其他软件带来一些问题 而计算机的资源相
  • 调整标题大小 onscroll React

    我基本上需要在 React 中重写这个 codepen https codepen io lili2311 pen dJjuL https codepen io lili2311 pen dJjuL function resizeHeade
  • 伪随机数生成器给出相同的第一个输出,但随后表现如预期

    使用随机类和时间种子 NULL 均匀分布总是给出相同的第一个输出 即使使用不同的编译 但第一个输出之后的行为就像您期望的伪随机数生成器的行为一样 这是建筑造成的 还是我使用不当 MWE include
  • 在“ForEach”上引用初始值设定项“init(_:content:)”要求“Planet”符合“可识别”

    我目前正在构建一个 ios 应用程序 似乎有以下问题 Referencing initializer init content on ForEach requires that Planet conform to Identifiable
  • 适用于 Android 的 OpenGL ES 2.0 中的纹理

    我是 OpenGL 新手 我正在通过使用 ES 2 0 为 Android 制作 2D 游戏来自学 我首先创建一个 Sprite 类 该类创建一个平面并向其渲染纹理 为了练习 我有两个 Sprite 对象 它们在同一位置交替绘制 我在 ES
  • 普通用户无法读取/proc/net/dev

    我很确定我在这里遗漏了一些东西 但我不确定到底是什么 这是 root 可以看到的 root opteron16 ls l grep proc dr xr xr x 290 root root 0 2012 01 14 02 03 proc
  • Caddy - 在本地域上设置 HTTPS

    我想将 HTTPS 添加到我的本地域 但是我们无法在本地主机上执行此操作 当我使用此 Caddyfile 运行时 我的网站运行良好 localhost 2020 bind ADDRESS proxy http 192 168 100 82
  • Android中的ListView打开超链接

    有什么办法可以显示名称吗 TechCrunch Twit NASA 在列表视图中 当用户单击其中一个时 它应该打开一个意图 其中包含列出的相应网站的链接 任何想法表示赞赏 如果你不想要ListView由数据库生成 并且您希望将每个网站添加到
  • 无论如何将构造函数参数传递给 JAXB 适配器?

    我在我编写的 WebService 中使用 Spring 3 IOC 和 JAXB JAX WS 我现在遇到一个小问题 数据必须在返回给消费者之前进行四舍五入 因为它们无法处理值的完整精度 为了最大限度地减少对 WS 设计和计算的影响 我选
  • Eclipse:有没有办法快速导出JAR

    所以这可能看起来有点模糊 快 到底有多快等等 好吧 我只是想知道是否有一种方法可以比以下更快地导出 JAR 文件 File gt Export gt JAR File等等等等 就像我可以Ctrl Drag到资源管理器并导出项目标题和 jar
  • 删除继承的 ASP.NET Core 应用程序设置

    我的启动中有以下设置 var builder new ConfigurationBuilder AddJsonFile appsettings json true true AddJsonFile appsettings env Envir
  • Google Charts 堆叠了列,每个列都有不同的注释

    我希望你能帮助我解决这个问题 我有一个堆积柱形图 所有柱形图的每列中都有两个要堆积的值 我已经成功创建了图表 但我需要为每列的每一部分添加注释 我不知道它的正确名称 指示该部分在其自己的列中所代表的总数的百分比 在下面给出的示例中 我需要设
  • 如何在 Java Swing for Hangman 游戏中获取从侦听器更新的文本字段?

    我正在尝试从 Hangman 程序编写代码 我不确定这个想法是否正确 我正在考虑在文本字段中添加破折号 当用户按下按钮时 该破折号必须动态更改 例如 如果用户按下下面代码中的 A 按钮 则破折号应更改为 A 即用户猜对了字母A 我仍然对如何
  • 将带点或逗号的字符串转换为浮点数

    我总是喜欢在函数中输入以获取范围从 0 1 到 999 9 的数字 小数部分始终用 分隔 如果没有小数则没有 例如 9 或 7 无论本地化如何 如何将此字符串转换为浮点值 某些国家 地区使用 来分隔数字的小数部分 我总是用 来获取它 这取决
  • 在进程之间移动数据

    我问这个问题的原因是寡妇不支持进程间通信的好方法 所以我想为Windows进程之间的通信点创建一个DLL 线程由一个进程拥有 不能交给另一个进程 每个线程都有自己的堆栈 如果加载 DLL loadlibray 并调用 DLL 函数 该函数会
  • 使用 ggplot 从 SpatialPolygonsDataFrame 创建分区统计图

    我有一个来自 UScensus2010 包的 SpatialPolygonsDataFrame 我正在尝试创建一个分区统计图 当我这样做时 这将按预期工作 data colorado county10 choropleth colorado