改变函数内的美观ggplot2图层对象

2023-12-27

我正在尝试改变原始绘图调用中未定义的几何图形的美感。

例如形状和尺寸

p=iris%>%ggplot(aes(x=Sepal.Length,y=Sepal.Width,colour=Species))+geom_point()+theme_bw()

change_shape=function(a){
  a$layers[[1]]$aes_params[['shape']]=5
  a$layers[[1]]$aes_params[['size']]=10
  return(a)
}

pnew=change_shape(p)
p

从现有绘图对象克隆图层 (l) 并使其不连接到原始绘图

cloneLayer=function(l){
   layer.names=c('mapping','data','geom','position',
            'stat','show.legend','inherit.aes',
            'aes_params','geom_params','stat_params')
   x=sapply(layer.names,function(y){
    b=l[[y]]

    if('waiver'%in%class(b)) b=NULL

    if(y=='geom') b=eval(parse(text=class(b)[1]))

    if(y%in%c('position','stat')) {
        b=gsub(y, "", tolower(class(b)[1]))
      }

    b
  }) 
x$params=append(x$stat_params,x$geom_params)
x$params=append(x$params,x$aes_params)
x$params=x$params[!duplicated(names(x$params))]
x$geom_params<-x$aes_params<-x$stat_params<-NULL
do.call(layer,x)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

改变函数内的美观ggplot2图层对象 的相关文章

  • 如何使用 dplyr 独立过滤每列的行

    我有以下内容 library tidyverse df lt tibble tribble gene colB colC a 1 2 b 2 3 c 3 4 d 1 1 df gt A tibble 4 x 3 gt gene colB c
  • 在 R 中打印具有长字符串的数据帧

    让我们有一列包含长字符串的数据框 df lt data frame short rnorm 10 0 1 long replicate 10 paste rep sample letters runif 1 5 8 collapse 如何打
  • rvest如何通过id选择特定的css节点

    我正在尝试使用 rvest 包从网页中抓取数据 简单来说 html 代码如下所示 div class style div
  • R:大向量的高效迭代子集和过滤

    我想更快地执行以下操作 Logic 我有一个向量big共 4 个元素1 2 3 4 我还有一个相同长度的阈值向量1 1 3 1 4 1 5 1 我希望每个元素找到第一个元素的索引next元素高于相应的阈值 在这种情况下 我的预期输出是 2
  • R闪亮数据表在开始时不显示记录(行)

    我正在构建一个带有数据表的闪亮应用程序 我想要的是启动时不显示任何记录 行 这样您只能看到表格顶部的过滤器 当您开始输入时 会显示行 我在数据表中找不到选项 这可能吗 下面是示例代码 shinyApp ui navbarPage title
  • dplyr / left_join 中的嵌套管链

    在尝试获取分组滞后变量的过程中 仅使用这是不可能的 lag 建议的解决方案是将数据拉出 滞后不同的行 然后重新加入它 我更喜欢在不创建中间对象的情况下执行此操作 并且希望在链中间执行此操作 然而 它似乎没有像我预期的那样工作 问题似乎是使用
  • 如何在R中得到一个大的稀疏矩阵? (> 2^31-1)

    我使用一些 C 代码从数据库中获取文本文件 并从该文件创建 dgcMatrix 类型稀疏矩阵Matrix包裹 我第一次尝试构建一个具有超过 2 31 1 个非稀疏成员的矩阵 这意味着稀疏矩阵对象中的索引向量也必须比该限制长 不幸的是 向量似
  • grep() 搜索数据框的列名

    有没有更清晰 更简单 更直接 更短的方法来做到这一点 其中 df1 是数据框 names df1 grep Yield names df1 我想返回任何包含单词 yield 的列名称 Thanks grep has a value应该适用于
  • R - 在浏览器中获取帮助而不是内置的 R 帮助程序

    我见过 R help 的两种不同行为 当你输入 density例如 帮助已在您的默认浏览器中打开 帮助在内置 R 帮助程序中打开 R 中的窗口 我目前有第二种行为 但我想在浏览器中打开帮助 我可以轻松地在这两种行为之间切换吗 无需重新安装
  • 有没有办法在 RStudio 中调试 RScript 调用?

    假设我从命令行运行 R 脚本 如下所示 Rscript prog R x y z 我想检查某一行的代码 目前 我无法在 RStudio 中以交互方式调试它 因为我不知道如何传递参数 由于它设计为从命令行运行 因此如何通过命令行 RStudi
  • 如果“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 中 hist() 中的 bin 数量?

    我尝试指定垃圾箱的数量hist R为10 如下 gt hist x breaks 10 但垃圾箱的数量并不完全是 10 我尝试了几个其他数量的垃圾箱 结果发生了同样的情况 hist says breaks可以指定 给出直方图单元格数量的单个
  • 如何生成向量的所有组合[重复]

    这个问题在这里已经有答案了 假设我有 3 个绿球 2 个橙球和 8 个黄球 我想订购它们 鉴于所有相同颜色的球都是相同的 如何生成所有可能的序列 在 R 中 使用gregmisc 我可以 balls lt c orange orange g
  • 如何使用 r 中的 caret 包在最佳调整超参数的 10 倍交叉验证中获得每次折叠的预测?

    我试图使用 R 中的插入符包使用 10 倍交叉验证和 3 次重复来运行 SVM 模型 我想使用最佳调整的超参数获得每次折叠的预测结果 我正在使用以下代码 Load packages library mlbench library caret
  • 将 JSON URL 转换为 R 数据帧

    我在将 JSON 文件 从 API 转换为 R 中的数据帧时遇到问题 例如 URL 我尝试了 S O 的一些不同建议 包括将json数据转换为R中的数据框 https stackoverflow com questions 28683769
  • dplyr,do(),从模型中提取参数而不丢失分组变量

    R 帮助中关于 do 的示例略有不同 by cyl lt group by mtcars cyl models lt by cyl gt do mod lm mpg disp data coefficients lt models gt d
  • 当每个记录都是一个段落并且某些记录有 4 个字段而其他记录有 6 个字段时,如何将文本文件读入 R

    如何读取文本文件 其中每条记录都是一个段落 每个换行符表示单独的字段 复杂的是 有些记录有 4 行 有些记录有 6 行 当字段数量的差异为 1 时 DWin 解决了我的问题 但当字段数量差异为 2 时 一切都崩溃了 你可以有一个在这里看看他
  • 从 R 中的 HTTPS 连接逐行读取

    当创建连接时open r 它允许逐行读取 这对于批量处理大数据流非常有用 例如这个脚本 https gist github com jeroenooms d33a24958d99bb969ac0通过一次读取 100 行来解析相当大的 gzi
  • 将 sf voronoi 多边形裁剪到边界框时出错

    我正在尝试将 voronoi polygons 使用 sf package 创建 剪辑 到边界框 但它引发了我无法定义的错误 我对 R 的空间世界不太有经验 感谢所有帮助 样本数据 stations lt structure list ST

随机推荐

  • android mediacodec:实时解码h264 nals

    我正在尝试使用 android 低级媒体 api 实时解码 h264 nals 每个 nal 包含一个完整的帧 所以我希望在用我的 nal 提供输入并调用之后dequeueOutputBuffer它会 立即 当然有一点延迟 显示我的框架 但
  • 如何使用 boost::date_time 获取两个日期之间的天数

    boost date time 中是否有可用的 API 来获取两个特定于日历的日期之间的天数 例如 2005 01 01 和 2006 12 31 之间的天数在 7 天日历中为 730 在 5 天日历中为 504 是的 posix time
  • Android 12 启动画面 API - 增加启动画面持续时间

    我正在学习 Android 12 中引入的 Android 新 SplashScreen API 到目前为止 我已经让它可以在我的模拟器和 Google Pixel 4A 上运行 但我想增加其持续时间 在我的启动屏幕中 我不需要花哨的动画
  • C# - 尝试找到剩余的事件处理程序以防止控制超出范围

    长话短说 我继承了一个相当复杂的应用程序 我正在尝试追踪涉及表单的内存泄漏 现在 每次关闭表格并提出新表格时 旧表格都会保留在内存中 我跟踪到了程序中控件拥有和设置的静态事件的问题 显然 只要设置了静态事件 该控件的实例就不会被认为超出范围
  • 是否有可能处理网站上没有 ID 的元素?

    在 Vb net 中 通过网络浏览器 我通常使用GetElementById来寻址例如按钮 我知道有GetElementFromPoint 我觉得这非常费力 当ID未知时 有没有更好 更简单的方法 您将需要使用某种类型的选择器 The 通过
  • 实时编码演示的软件或技巧

    我很快将举办有关 Ruby on Rails 的介绍 培训课程 我想让它变得有趣和引人入胜 同时仍然看起来 精致 由于这是一门实践课程 大多数人都会与我一起构建应用程序 我希望能够展示我的终端 编辑器并显示生成的网页 但是我不想总是在窗口之
  • 在 C# 中读取 Excel 文件并在数据库中插入记录 - Windows Azure

    我的应用程序的要求是浏览 Excel 文件 上传文件 从 Excel 文件中读取每一行并插入到数据库中 我正在 Windows Azure 中构建此应用程序 在此之前我已经成功使用过OleDbDataAdapter将excel文件中的数据读
  • 如何使用gradle设置系统属性?

    我想知道是否可以使用 Gradle 为 Java 应用程序设置系统属性 我尝试使用 gradle properties 文件并将属性定义为 systemProp name my name 但是当我尝试使用 Java 应用程序获取该属性时 S
  • 将图标附加到 vuetify 数据表中的表列?

    我有一个 Vuetify 数据表 我正在尝试将一个图标附加到 td 其中含有蛋白质 但它的呈现方式 我无法理解我将如何去做 所以我有一个组件正在导入到 Vuetify 数据表模板中 并且该组件单独包含图标div td
  • XCFramework 问题,标识符为“ios-armv7_arm64”的库已存在

    创建 XCFramework 时 我在终端上收到以下消息 但未生成 xcframeworkA library with the identifier ios armv7 arm64 already exists 这是我正在运行的命令 xco
  • jOOQ - 多字段插入

    我想表达以下几点INSERT陈述 context insertInto TABLE A set
  • 计算 pandas DataFrame 中的行百分比?

    我的数据位于 pandas DataFrame 中 如下所示 cat val1 val2 val3 val4 A 7 10 0 19 B 10 2 1 14 C 5 15 6 16 我想计算该类别的百分比 cat 每个值都有 例如 对于类别
  • 为什么 GCC 不能为两个 int32 的结构生成最佳运算符 == ?

    一位同事向我展示了我认为没有必要的代码 但果然 这是必要的 我希望大多数编译器会将所有这三种相等测试尝试视为等效 include
  • numpy 数组类型错误:只有整数标量数组可以转换为标量索引

    i np arange 1 4 dtype np int a np arange 9 reshape 3 3 and a gt gt gt array 0 1 2 3 4 5 6 7 8 a 0 1 gt gt gt array 0 3 6
  • Debug.WriteLine 不工作

    在过去 也许是我现在使用的 2008 年之前的 Visual Studio 版本 我会在 VB NET 代码中执行类似以下操作 System Diagnostics Debug WriteLine Message 输出将转到输出窗口 现在不
  • 使用文档字符串

    这是一个新手问题 但我没有设法在谷歌上搜索任何关于这个主题的相当简洁但具有启发性的内容 我有Sublime Text编辑器和优秀的插件DocBlockr https github com spadgos sublime jsdocs htt
  • 为什么 FAT32 磁盘的文件大小限制为 4GB?

    我不是在寻找解决方法 我想要一个解释 我通过 Google 找到的大多数链接只是告诉我文件限制为 4GB 但没有告诉我原因 我知道维基百科的解释 http en wikipedia org wiki File Allocation Tabl
  • 安装 gifski 时未找到 Rust 编译器

    我正在尝试安装gifski这是一个依赖项gganimate 我收到这个错误 RUST COMPILER NOT FOUND Cargo was not found on the PATH Please install cargo rustc
  • R中的隐马尔可夫模型包

    我需要一些帮助在 R 中实现 HMM 模块 我是 R 新手 对此没有太多了解 所以我必须使用 HMM 来实现 IE 我有 2 个包含文件的文件夹 一个包含句子 另一个包含我想从每个句子中学习的相应标签 folder1 gt event1 t
  • 改变函数内的美观ggplot2图层对象

    我正在尝试改变原始绘图调用中未定义的几何图形的美感 例如形状和尺寸 p iris gt ggplot aes x Sepal Length y Sepal Width colour Species geom point theme bw c