连接标签文本和 tmap 图中点的线

2024-05-03

我正在使用形状文件绘制 tmap 绘图,并且我想在形状文件上绘制几个具有长纬度坐标的点。我的绘图工作得很好,但是地图上有太多点,这意味着不同点的标签文本是重叠的,并且一般来说不是特别清晰。

here's what the plot currently looks like. enter image description here i would really like for the text in the plot to be outside of the actual map, and to be connected to the points in the plot by thin lines which blend into the overall aesthetic of the map.

这是一些示例数据:

       name      long      lat
1  location -71.40909 41.82426
2  location -71.41959 41.82796
3  location -71.41277 41.79667
4  location -71.37327 41.81737
5  location -71.37170 41.89266
6  location -71.33356 41.87736

这是我必须显示上面的图的代码: 我们假设上面的数据框是plot2_points.df, while shapes是底层形状文件。

library(tmap)
library(sp)
library(rgdal)


coordinates(plot2_points.df) <- c("long", "lat")
proj4string(plot2_points.df) <- CRS("+proj=longlat +datum=WGS84")

plot2_points.df <- spTransform(plot2_points.df, CRS("+proj=utm +zone=19T ellps=WGS84"))

# plot
tm_shape(shapes) + tm_borders() + tm_shape(plot2_points.df) + tm_dots(col = "blue", size = 0.4) + tm_text("name", col = "blue", size = 0.75, just = "top", ymod = 0.75)

我还没有找到任何可以做到这一点的功能。tm_lines()不起作用,但我觉得这是为了完全不同的东西。另外,也许与just =选项?到目前为止,我尝试过的任何方法都没有任何效果,所以我想我应该在这里问。任何帮助将不胜感激,非常感谢:)


虽然您要求的确切解决方案(从文本注释中绘制细线)非常不切实际,并且(据我所知)没有在 tmap 中实现,但您可以通过使用来改善根本问题tm_symbols()代替tm_dots()并使用shape水疗中心名称的属性 (tm_dots()将形状设置为#16 = 点)。然后,这些符号的含义将在标准图例中得到解释。

这将是解决重叠文本注释问题的更“lege artis”的方式。

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

连接标签文本和 tmap 图中点的线 的相关文章

  • 如何从R中的日期中提取月份

    我正在使用lubridate封装并应用month从日期中提取月份的函数 我在日期字段上运行了 str 命令 得到了 Factor w 9498 levels 01 01 1979 01 01 1980 5305 1 1 1 1 1 1 1
  • 访问 R 工作区中的数据[重复]

    这个问题在这里已经有答案了 我是自学 R 的 可能有一些非常基本的东西我可能不熟悉 如果是这样我道歉 我正在尝试访问外部来源提供给我的数据 它作为一个工作空间出现 我的流程如下 gt ls 1 2003OHT HR gt attach 20
  • 将日期时间字符串转换为 Date 类

    我有一个带有日期时间字符列的数据框 当我使用as Date 除了少数实例之外 我的大多数字符串都被正确解析 下面的示例有望向您展示发生了什么 my attempt to parse the string to Date uses the s
  • R:如何找到向量的模式[重复]

    这个问题在这里已经有答案了 下面是我的data frame我想知道每个内存类别 1 到 8 的模式是什么 gt dput d structure list MEMORY1 c 5 5 7 1 5 6 4 5 4 5 5 4 1 5 5 2
  • stat_function 从函数生成平线

    我有以下代码 library ggplot2 f lt function x if x gt 2 1 x 0 3 else 0 graph lt ggplot data frame x c 0 10 aes x graph lt graph
  • ggplot 图例标签内的希腊字母、符号和换行符

    我在尝试着 有换行符 自动或强制 对齐文本 左对齐或左右对齐 有希腊字母和百分号 在 gglot 图例标签内 我尝试了几种方法 但我似乎无法将我读到的所有技巧结合起来 我可以通过插入来换行 n进入标签 但这似乎不适用于希腊字母 不适用于图例
  • 使用自定义渐变填充直方图箱

    我想在 R 和 ggplot2 中创建一个直方图 其中根据连续的 x 值填充箱 大多数教程仅通过离散值或密度 计数进行着色 下列的这个例子 https stackoverflow com questions 40284227 how to
  • R闪亮主面板显示样式和字体

    我正在学习闪亮的应用程序 并且有一些关于调整布局的基本问题 特别是样式和字体 希望得到指点或明确的答案 谢谢 考虑一个基本的输入输出应用程序 用户在 sidebarPanel 中输入数据 然后在 mainPanel 中反应性地输出结果 如何
  • 改进R中从google获取股票新闻数据的功能

    我已经编写了一个函数来从 Google 获取和解析给定股票代码的新闻数据 但我确信有一些方法可以改进它 对于初学者来说 我的函数返回一个 GMT 时区的对象 而不是用户当前的时区 如果传递的数字大于 299 它就会失败 可能是因为 goog
  • R data.table 多个条件连接

    我设计了一种解决方案 用于从两个单独数据表的多个列中查找值 并添加基于新列的值计算 多个条件比较 代码如下 它涉及在计算两个表中的值时使用 data table 和联接 但是 这些表没有联接在我正在比较的列上 因此我怀疑我可能无法获得 da
  • 如何在基数 R 中进行分组

    我想使用以下 SQL 查询来表达base R 没有任何特定的包 select month day count as count avg dep delay as avg delay from flights group by month d
  • 如何总结此R问题中的销售数量、售出酒类数量和花费金额

    我使用以下代码在 R 上上传我的数据 if file exists ames liquor rds url lt https github com ds202 at ISU materials blob master 03 tidyvers
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • zsh:未找到命令:使用 Big Sur Mac 的终端上的 R

    我从官方 cran 网站安装了 R 我可以从 Rstudio 运行 R 但是当我尝试从终端使用 R 时 我得到以下结果 base ege Eges MBP R zsh command not found R base ege Eges MB
  • 通过 r markdown 中的循环创建代码片段

    如同如何使用R中的knitr创建一个包含代码块和文本的循环 https stackoverflow com questions 36373630 how to create a loop that includes both a code
  • 通过 Shiny 中的串扰将 Plotly 与 DT 结合使用

    我正在编写一个应用程序来将 csv 文件读取为闪亮的并将散点图与 DT 表链接起来 我几乎遵循了 Plotly 网站上 DT 数据表上的示例 https plot ly r datatable https plot ly r datatab
  • 如果条目出现次数少于 x 则删除数据框中的行

    我有以下数据框 称之为 df 它是由三个向量组成的数据框 姓名 年龄 和 邮政编码 df Name Age ZipCode 1 Joe 16 60559 2 Jim 20 60637 3 Bob 64 94127 4 Joe 23 9412
  • 汇总表中各列的字符值比例

    在这种数据框中 df lt data frame w1 c A A B C A w2 c C A A C C w3 c C A B C B 我需要计算所有列中字符值的列内比例 有趣的是 以下代码适用于大型实际数据集 但对上述玩具数据会引发错
  • 如何从 R 数据框中提取关键字

    我是 R 中文本挖掘的新手 我想从数据框的列中删除停用词 即提取关键字 并将这些关键字放入新列中 我尝试制作一个语料库 但它对我没有帮助 df C3是我目前拥有的 我想添加栏目df C4 但我无法让它工作 df lt structure l
  • 合并数据框而不重复行

    我想合并两个数据框 但如果有多个匹配项 则不想重复行 相反 我想总结一下那天的观察结果 来自 合并 提取两个数据框中与指定列匹配的行并将其连接在一起 如果有多个匹配项 则所有可能的匹配项各贡献一行 这是一些示例代码 days lt as d

随机推荐

  • JavaScript 在数组中查找

    我有一个像这样的数组 var movies Name The Red Violin ReleaseYear 1998 Director Fran ois Girard Name Eyes Wide Shut ReleaseYear 1999
  • Swift:如何获取从字符的开始到最后一个索引的子字符串

    我想学习将一个字符串转换为另一个字符串的最佳 最简单方法 但只有一个子集 从开头开始一直到字符的最后一个索引 例如 将 www stackoverflow com 转换为 www stackoverflow 什么样的代码片段可以做到这一点
  • 如何在 Eclipse 中使用 Tomcat 8.5.x 和 TomEE 7.x?

    我需要设置一个 Tomcat8 5 xEclipse 中的服务器版本 当我尝试使用 Eclipse GUI 创建服务器时 我进入 Eclipse Luna 作为选择最新版本 阿帕奇汤姆猫 v8 0当我选择它并浏览到我的 Tomcat 8 5
  • 组件是否定义为请求范围延迟加载?

    组件是用请求范围定义的 它提供基于请求的数据HttpServletRequest对象如下图所示 Component RequestScope Getter public class RequestDataHolder private fin
  • Hibernate:将多对多映射到 Map

    我正在开发一个处理以下两个实体的应用程序 Products 我们将其命名为 X Y Z 并且材料 a b c 众所周知 每种产品都有一个配方 表明制造该产品所需的材料 例如 要生成 1 个 X 我们需要 2 个 a 6 个 c 和 4 个
  • ImportError:现有延迟链接器编译文件的版本检查。寻找版本 0.211,但没有找到

    C Users meela Anaconda3 python exe E TTIGAN test py You can find the C code in this temporary file C Users meela AppData
  • C++中如何判断传入的缓冲区是否有效?

    在我的函数中 内存指针及其大小作为参数传递 int myFun uintptr t mem ptr int mem size Code here 有没有办法判断这块内存是否真的有效 操作系统是 CentOS Linux 版本 7 9 200
  • 虹膜和面部识别生物识别技术

    In blog Android P 中更好的生物识别技术 https android developers googleblog com 2018 06 better biometrics in android p html他们说 为了确保
  • 在显示之前在后台加载 Activity

    在将视图切换到该活动之前 是否可以在后台加载新活动 例如 我想要一个被调用并显示启动屏幕的斜杠屏幕活动 当显示此启动屏幕时 将加载下一个活动 当加载完成时 当 onCreate 完成时 启动屏幕活动结束 并显示新的活动 我知道另一个选择是在
  • GCDdispatch_barrier还是dispatch_sync?

    我有一些疑问dispatch barrier and dispatch sync 这是代码 void addPhoto Photo photo if photo 1 dispatch barrier async self concurren
  • NoneType 对象没有属性 find_all 使用 beautiful Soup 时出错

    我正在尝试阅读以下内容 我的目标是阅读此页面上的每个职位名称 https www cvbankas lt miestas Vilnius padalinys 5B 5D keyw python 我尝试过的 import requests f
  • 如果specfile中的某些条件不满足,如何中止rpm包的安装?

    还有一些事情Requires标签不满足 所以我写了一个脚本来验证这些东西 但是我把它们放在哪里呢 如果没有找到 那么我想退出安装 提示用户在尝试再次安装此 rpm 之前执行这些步骤 writing exit 1 in installtag
  • 如何在 Angular2 中嵌入视频?

    我想开发单页应用程序 它是一个视频门户 用户可以登录 查看视频列表 导航到单个视频 对视频进行评分 并可以执行所有媒体相关任务 例如 播放 暂停 调整音量和寻找视频位置 既然有
  • 设置文本并从剪贴板获取文本[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 在Android中 我需要一些代码来
  • Gremlin 按顶点属性分组并获取同一顶点中其他属性的总和

    我们有顶点来存储各种作业及其类型 并算作属性 我必须按状态和数量进行分组 我尝试了以下查询 该查询适用于一个属性 receiveCount g V hasLabel Jobs has Type within A B C group by T
  • OpenAL 初始化问题,仅限 iPod(?)

    我遇到了 OpenAL 问题 似乎只发生在 iPod 硬件上 奇怪的是它was工作正常 但现在不行了 我正在设置音频会话 AVAudioSession sharedInstance setCategory AVAudioSessionCat
  • Julia:如何使用 PyPlot 创建不同大小的子图?

    我想创建一个包含多个绘图的图形 不过我希望能够使每个图具有不同的大小 例如 我希望第一个子图的宽度大约是第二个子图的两倍 我希望做这样的事情 using PyPlot a rand 500 900 b rand 500 400 notice
  • Java for every循环工作

    我正在执行某项任务 当我无意中做错事时但代码执行并提供了正确的结果 我对此并不感到惊讶 并且想到每个循环的所有这些是如何工作的 示例 示例程序 public static void main String args String myInp
  • 使用 hisorian.py 时显示“找不到结束时间”

    我正在尝试收集我的应用程序的电池统计信息 运行指定的所有命令后http developer android com tools performance batterystats battery historian index html ht
  • 连接标签文本和 tmap 图中点的线

    我正在使用形状文件绘制 tmap 绘图 并且我想在形状文件上绘制几个具有长纬度坐标的点 我的绘图工作得很好 但是地图上有太多点 这意味着不同点的标签文本是重叠的 并且一般来说不是特别清晰 here s what the plot curre