在线条末端绘制标签

2024-01-06

我有以下数据(temp.dat完整数据请参见尾注)

   Year State     Capex
1  2003   VIC  5.356415
2  2004   VIC  5.765232
3  2005   VIC  5.247276
4  2006   VIC  5.579882
5  2007   VIC  5.142464
...

我可以制作以下图表:

ggplot(temp.dat) + 
  geom_line(aes(x = Year, y = Capex, group = State, colour = State))

我希望标签不是图例

  1. 颜色与系列相同
  2. 每个系列最后一个数据点的右侧

我注意到巴蒂斯特在以下链接的答案中的评论,但是当我尝试调整他的代码时(geom_text(aes(label = State, colour = State, x = Inf, y = Capex), hjust = -1)) 文本不出现。

ggplot2 - 在绘图之外进行注释 https://stackoverflow.com/questions/12409960/ggplot2-annotate-outside-of-plot

temp.dat <- structure(list(Year = c("2003", "2004", "2005", "2006", "2007", 
"2008", "2009", "2010", "2011", "2012", "2013", "2014", "2003", 
"2004", "2005", "2006", "2007", "2008", "2009", "2010", "2011", 
"2012", "2013", "2014", "2003", "2004", "2005", "2006", "2007", 
"2008", "2009", "2010", "2011", "2012", "2013", "2014", "2003", 
"2004", "2005", "2006", "2007", "2008", "2009", "2010", "2011", 
"2012", "2013", "2014"), State = structure(c(1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L), .Label = c("VIC", 
"NSW", "QLD", "WA"), class = "factor"), Capex = c(5.35641472365348, 
5.76523240652641, 5.24727577535625, 5.57988239709746, 5.14246402568366, 
4.96786288162828, 5.493190785287, 6.08500616799372, 6.5092228474591, 
7.03813541623157, 8.34736513875897, 9.04992300432169, 7.15830329914056, 
7.21247045701994, 7.81373928617117, 7.76610217197542, 7.9744994967006, 
7.93734452080786, 8.29289899132255, 7.85222269563982, 8.12683746325074, 
8.61903784301649, 9.7904327253813, 9.75021175267288, 8.2950673974226, 
6.6272705639724, 6.50170524635367, 6.15609626379471, 6.43799637295979, 
6.9869551384028, 8.36305663640294, 8.31382617231745, 8.65409824343971, 
9.70529678167458, 11.3102788081848, 11.8696420977237, 6.77937303542605, 
5.51242844820827, 5.35789621712839, 4.38699327451101, 4.4925792218211, 
4.29934654081527, 4.54639175257732, 4.70040615159951, 5.04056109514957, 
5.49921208937735, 5.96590909090909, 6.18700407463007)), class = "data.frame", row.names = c(NA, 
-48L), .Names = c("Year", "State", "Capex"))

更新的解决方案是使用ggrepel:

library(ggplot2)
library(ggrepel)
library(dplyr)

temp.dat %>%
  mutate(label = if_else(Year == max(Year), as.character(State), NA_character_)) %>%
  ggplot(aes(x = Year, y = Capex, group = State, colour = State)) + 
  geom_line() + 
  geom_label_repel(aes(label = label),
                  nudge_x = 1,
                  na.rm = TRUE)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在线条末端绘制标签 的相关文章

  • 如果“testthat”测试在“R”中失败,则打印自定义诊断信息

    I use a testthat单元测试来检查是否data frame函数返回的结果与我期望它返回的结果相同 如果测试失败 testthat打印一些诊断信息 例如 MyFunction df orig is not identical to
  • 从网络源获取 R 中的数据作为数据框

    我正在尝试使用 RCurl 包将一些空气污染背景数据作为 data frame 直接加载到 R 中 该网站有 3 个下拉框 用于在下载 csv 文件之前选择选项 如下图所示 我试图从下拉框中选择 3 个值 并使用 下载 CSV 按钮将数据作
  • R read_excel:libxls 错误:无法解析文件

    我试图使用 readxl read excel 将 xls 文件读入 R 但它给出了以下错误 Error filepath data xls libxls error Unable to parse file 还尝试了 readxl exc
  • 用于清除工作空间和转储存储的 R 全局函数

    我希望创建一个全局函数来清除我的工作区并转储我的内存 我将我的函数称为 cleaner 并希望它执行以下代码 remove list ls gc 我尝试在全局环境中创建该函数 但是当我运行它时 控制台仅打印该函数的文本 在我要获取的函数文件
  • 使用 R 的 flextable 包时,有没有办法将传递给 add_header_lines() 的字符串部分加粗

    我正在使用我喜欢的 flextable 包为 Word 文档创建几个表格 但是 我在将表格标题中的部分文本加粗时遇到了一些麻烦 例如 我希望标题为 Table 1 我的表格标题的其余部分 而不是 表 1 我的表格标题的其余部分 I 找到这个
  • 在函数内部调用 clusterApply 时,性能会下降

    我遇到了一个奇怪的问题clusterApply 我已经能够尽可能地隔离它 如下所示 首先 我从全局环境运行以下代码 require parallel cl lt makeCluster rep localhost 20 SOCK xl lt
  • 如何更新条件公式?

    让我直接进入示例 考虑以下等式 frml lt formula y a b x z 使用这样的公式规范 例如和AER ivreg 我想更新这个公式 使其显示为 frml2 lt y a b c x z w 但是 我不确定如何更新条件标志之前
  • 改进 D3 序列旭日示例

    This D3示例作为我的出发点 http bl ocks org kerryrodden 7090426 http bl ocks org kerryrodden 7090426 我想更改提供图表的数据 并且我做了以下新示例 http j
  • 从 R 中的 HTTPS 连接逐行读取

    当创建连接时open r 它允许逐行读取 这对于批量处理大数据流非常有用 例如这个脚本 https gist github com jeroenooms d33a24958d99bb969ac0通过一次读取 100 行来解析相当大的 gzi
  • R 编程:如何计算数据框中两个单元格之间的差异并将它们保存在新列中

    尝试学习 R 并陷入自相关示例中 我想将 x 的差异与 y 的差异进行回归 我在数据框中有 x 和 y 并且希望将 x2 x1 的差值保存在新列 例如 dx 中 我不知道该怎么做 我拥有的 data1 x y 5 3 8 9 3 1 1 5
  • 将函数应用于 3d 数组的每一层,返回一个数组

    假设您有一个包含行 列和层的 3 维数组 A lt array 1 27 c 3 3 3 想象你有一个函数 它接受一个矩阵作为输入并返回一个矩阵作为输出 就像t 如何将该函数应用于数组的每一层 返回与第一层大小相同的另一个数组 我觉得我应该
  • 逻辑回归/二项式的 glmnet 误差

    当尝试将 glmnet 与 family binomial 配合以进行逻辑回归拟合时 出现此错误 gt data lt read csv DAFMM HE16 matrix csv header F gt x lt as data fram
  • 如何按 data.table 中的十分位数组计算统计数据

    我有一个 data table 想按组计算统计数据 R set seed 1 R DT data table a rnorm 100 b rnorm 100 这些组应该定义为 R quantile DT a probs seq 1 9 1
  • r 中的 5 维图

    我正在尝试在 R 中绘制 5 维图 我目前正在使用rgl包以 4 个维度绘制数据 使用 3 个变量作为 x y z 坐标 另一个变量作为颜色 我想知道是否可以使用这个包添加第五个变量 例如空间中点的大小或形状 这是我的数据和当前代码的示例
  • 表单提交时出现 rvest 错误

    我想从以下网页中抓取数据 https swgoh gg u zozo collection 180 emperor palpatine https swgoh gg u zozo collection 180 emperor palpati
  • R - 通过覆盖和递归合并列表

    假设我有两个带有名字的列表 a list a 1 b 2 c list d 1 e 2 d list a 1 b 2 b list a 2 c list e 1 f 2 d 3 e 2 我想递归地合并这些列表 如果第二个参数包含冲突的值 则
  • ggplot散点图中的图例问题

    我想使用 ggplot 创建显示方法比较数据的散点图 绘图应包含原始数据 理想线和带误差的拟合线 图例应显示理想线和拟合线的线型 线宽 线颜色 我可以获得大部分我想要的东西 但是图例存在以下问题 图例显示每种线型有 2 条线 为什么 如何解
  • 如何匹配 R 中的所有匹配项?

    我有 1000 个名字的列表 说A 我还有另外 5 个名字的清单 说B 我想找出这5个名字出现在1000个号码列表中的第几行 例如 Amy 在 A 中可以出现 25 次 B 里有艾米 我想知道 Amy 出现在 A 中的哪些行 我以前使用过
  • R 中的 Websocket

    我设法在 R 中建立到 Mtgox websocket 的连接 规格如下 url https socketio mtgox com mtgox Currency USD https socketio mtgox com mtgox Curr
  • 替换字符串/文本中“从第 n 次到最后一次”出现的单词

    这个问题以前曾被问过 但尚未得到令提问者满意的答案 https stackoverflow com questions 36368712 how to use stringrs replace all function to replace

随机推荐

  • 是否可以在重构文本中以两栏样式书写?

    我想使用重组文本写一篇研究论文 是否可以采用此类文档固有的两栏样式 我看了看规格 http docutils sourceforge net docs ref rst restructuredtext html但除了使用桌子这将是一个真正的
  • 检测nuxt中元素外部的点击

    我有一个 nuxt 项目 我需要编写一个 click outside 指令 通过它我可以检测元素的外部点击以关闭它们 我该如何实施 答案是在插件中创建一个directives js 文件并将其注册到config nuxt js 文件中 di
  • 使用 SWIFT 解析 PDF

    我想解析一个没有图像 只有文本的 PDF 我正在尝试寻找一些文字 例如搜索字符串 Name 并能够读取 后面的字符 我已经能够打开 PDF 获取页数并循环浏览它们 问题是当我想使用类似的函数时CGPDFDictionaryGetStream
  • Reactjs保存组件的当前状态

    我有组件 A 和组件 B 在组件 A 中 用户可以将过滤器应用于元素列表 并使用侧栏在两个组件之间导航 每当用户单击转到 B 然后返回 A 时 过滤器就会设置回初始状态 保存组件 A 状态的最佳方法是什么 以便当他们返回组件 A 时 他们可
  • 使用 PowerShell 和 Azure CLI 将代码从 GitLab 存储库部署到 Azure Web App

    我想使用 PowerShell 脚本和 Azure CLI 设置从 GitLab 存储库到 Azure 应用程序的持续部署 已经有一个答案可以使用Azure RM 模块和 Windows PowerShell https stackover
  • 对需要带有模式的整数的元素使用 JAXB 生成的类

    我的 XML 架构中有一个元素定义如下
  • python QTconsole 的数据隐藏

    目前我正在制作一个图像身份验证项目 其中我需要借助密钥来验证图像 我将钥匙作为raw input用户通过 IPython 控制台 我想隐藏正在输入的密钥 预期结果 Enter the key or Enter the key nothing
  • pandas 将函数应用于多列和多行

    我有一个数据帧 其行和列 xpos ypos 中具有连续的像素坐标 我想计算连续像素之间每条路径的角度 以度为单位 目前我有下面介绍的解决方案 该解决方案工作正常 并且对于我的文件大小来说足够快 但迭代所有行似乎不是 pandas 的方式
  • 如何在大型项目中进行单元测试

    我们有一个项目开始变大 我们需要在开始重构时开始应用单元测试 将单元测试应用于已存在的项目的最佳方法是什么 我 在某种程度上 习惯从头开始做这件事 我将测试与第一行代码一起编写 当功能已经到位时 我不确定如何开始 我应该开始为存储库中的每个
  • MongoDB NumberLong 和简单 Integer 之间的区别?

    MongoDB 中数据类型 double NumberLong NumberInt 或简单 Integer 之间的主要区别是什么 大小 速度等 如果我想保存一个小的固定数字 0 到 1000 之间的数字 我应该使用哪种数据类型 数字整数 默
  • 如何在引导日期选择器中添加最大日期

    我需要为日期选择器添加 maxdate 并且我正在使用这个插件 cdnjs cloudflare com ajax libs bootstrap datepicker 1 3 0 js bootstrap datepicker min js
  • omp 并行与 omp 并行 for

    这两者有什么区别 A pragma omp parallel pragma omp for for int i 1 i lt 100 i B pragma omp parallel for for int i 1 i lt 100 i 这些
  • 在springboot应用程序中配置mvc异步任务执行器

    我试图覆盖 SpringBoot SpringMVC 应用程序中 RequestMappingHandlerAdapter bean 使用的默认任务执行器 javadocs 建议替换默认值的使用 但没有给出任何关于如何执行此操作的指示 我也
  • 如何获取整个矩阵、数组或数据帧的平均值、中位数和其他统计数据?

    我知道这是一个基本问题 但由于某种奇怪的原因我无法找到答案 我应该如何在整个数组 矩阵或数据帧上应用基本统计函数 如平均值 中位数等 以获得唯一的答案 而不是行或列上的向量 由于这个问题出现得相当频繁 我将更全面地对待这个问题 包括 等等
  • Spring MVC 3.1 异常:Errors/BindingResult 参数预计紧随模型属性参数之后

    我升级到 Spring 3 1 1 RELEASE 现在我在以下方法中遇到异常 RequestMapping method RequestMethod POST params finish public ModelAndView doPos
  • 为什么这个 Java String.replaceAll() 代码不起作用?

    我以前在 Java 中使用过 string replaceAll 没有遇到任何问题 但我对这个感到困惑 我认为它会正常工作 因为没有 或 字符 这是我正在尝试做的事情 String testString constant float win
  • 如何使用 babel 或 webpack 在 ES6 导入/导出模块中使用 Node.js CommonJS 模块?

    如果这是重复的 我很抱歉 我使用搜索工具仔细查找 但没有任何结果 有人知道如何转译 Node js CommonJS 模块以便它们可以在 ES6 导入 导出项目中使用吗 我知道有 babel plugin transform modules
  • 使用 C++ 类的架构 x86_64 的未定义符号

    我已阅读有关此主题的其他问题 但仍不知道如何解决我的问题 预先感谢您的帮助 我的错误是 体系结构 x86 64 的未定义符号 Record Record std 1 vector std 1 allocator gt std 1 alloc
  • Android:如何知道 MediaPlayer 是否已暂停?

    MediaPlayer isPlaying 不允许知道是否MediaPlayer已停止或暂停 如何知道是暂停了还是没有停止 Thanks 执行此操作的一种方法是检查媒体播放器是否未播放 暂停 并检查它是否位于起始位置 1 以外的位置 Med
  • 在线条末端绘制标签

    我有以下数据 temp dat完整数据请参见尾注 Year State Capex 1 2003 VIC 5 356415 2 2004 VIC 5 765232 3 2005 VIC 5 247276 4 2006 VIC 5 57988