stat_smooth 和 geom_ribbon 之间的交互不良

2024-02-04

我正在回答这个问题 https://stackoverflow.com/questions/64574595/geom-density-returns-plot-without-considering-real-values,这需要绘制平滑区域,但删除“无用”区域。要在一个简单的geom_area(不顺利),我只是用geom_ribbon with aes(ymax=y, ymin=min(y))。但转一个stat_smooth(geom="area") into a stat_smooth(geom="ribbon", aes(ymax=y, ymin=min(y)))没有产生预期的结果。

geom_area to geom_ribbon(最后的虚拟数据):

ggplot(df, aes(x=x, y=y)) + geom_area() to ggplot(df, aes(x=x, y=y)) + geom_ribbon(aes(ymax=y, ymin=min(y)))

现在是平滑版本:

ggplot(df, aes(x=x, y=y)) + stat_smooth(geom="area") to ggplot(df, aes(x=x, y=y)) + stat_smooth(geom="ribbon", aes(ymax=y, ymin=min(y)))

我想要的输出是这样的:

我找到了一些解决方案,涉及使用“平滑数据”制作新的数据框,然后通常使用geom_ribbon,但这仅适用于您具有已知函数并且可以轻松生成更多观察结果的情况。另一种尝试是将 y 限制设置为ylim(min(y), max(y)),但 ggplot 不会绘制任何“陷入”限制的几何图形,所以也许如果有办法改变该功能,这将是解决我的问题的一种方法。

虚拟数据:

df <- data.frame(
  x = 1:7,
  y = c(12.44, 11.98, 11.40, 12.15, 13.14, 11.99, 12.17))

你的意思是这样的吗?如果您想在映射中使用计算变量,则需要将其包装为after_stat(). after_stat(y)意思是“使用y由统计数据计算的值,而不是y原始数据框中的值。”

library(ggplot2)

df <- data.frame(
  x = 1:7,
  y = c(12.44, 11.98, 11.40, 12.15, 13.14, 11.99, 12.17)
)

ggplot(df, aes(x=x, y=y)) + 
  geom_point() +
  stat_smooth(
    geom="ribbon", 
    aes(ymax = after_stat(y), ymin = after_stat(min(y))),
    fill = "skyblue"
  )
#> `geom_smooth()` using method = 'loess' and formula 'y ~ x'

Created on 2020-10-28 by the reprex package https://reprex.tidyverse.org (v0.3.0)

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

stat_smooth 和 geom_ribbon 之间的交互不良 的相关文章

  • ggplot2:如何标记事件发生的日期

    我想从第二个情节中获取第一个情节的信息 第二张图表示事件发生的天数 它看起来更宽 因为它没有图例 但它是相同的时间尺度 我选择在第一个图中手动分配颜色 I would like to overlay the second plot dots
  • 纵向比较 R 中的值...并进行扭转

    我有许多人在多达四个时间段进行的测试结果 这是一个示例 dat lt structure list Participant ID c A A A A B B B B C C C C phase structure c 1L 2L 3L 4L
  • python 相当于 R 中的 get() (= 使用字符串检索符号的值)

    在 R 中 get s 函数检索名称存储在字符变量 向量 中的符号的值s e g X lt 10 r lt XVI s lt substr r 1 1 X get s 10 取罗马数字的第一个符号r并将其转换为其等效整数 尽管花了一些时间翻
  • 以编程方式将字符串宽度值插入到 sprintf() 中

    我正在尝试以编程方式将字符串宽度值插入到sprintf 格式 期望的结果是 sprintf 20s hello 1 hello 但我想插入20在同一通话中即时进行 因此它可以是任何号码 我努力了 sprintf ds 20 hello 1
  • 如何在将两根柱子保持在一起的同时熔化柱子?

    我有这种宽格式的数据 我想将其转换为长格式 Cond Construct Line Plant Tube shoot weight shoot Tube root weight root 1 Standard NA NA 2 199 95
  • SPSS 中的标准化残差与 R rstandard(lm()) 不匹配

    在寻找 R 相关解决方案时 我发现 R 和 SPSS 版本 24 在计算简单线性模型中的标准化残差方面存在一些不一致 看来SPSS所谓的标准化残差匹配 R学生化残差 我完全不认为某处存在软件错误 但显然这两个程序之间存在差异 看看这个例子
  • 任意列中包含字符串的子集行

    我有一个如下所示的数据集 Col1 Col2 Col3 abckel NA 7 jdmelw njabc NA 8 jdken jdne 如何对数据集进行子集化 使其仅保留包含字符串 abc 的行 最终预期输出 Col1 Col2 Col3
  • 无法更改 RStudio 中的 R 版本

    我的 RStudio V 0 99 491 无法更改 R 版本 我以平常的方式行事Global Options gt R Version 然后它挂起并且不再工作或反应 R 运行良好的初始版本是R 3 1 0 我以前从未遇到过这样的问题 也许
  • 如何修复 R 中 Kaplan Meier 图的风险表计算错误

    以下是一个数据帧 其中 6 个参与者中的每一个都有唯一的 record ID 我想绘制一个生存分析图 其中包含感兴趣事件的复发以及在时间间隔 tstart 到 tstop 内 暴露 药物剂量 数值变量 的时间依赖性协变量 每个参与者的最大
  • 在 Shiny 中的用户会话之间共享反应数据集

    我有一个相当大的反应数据集 该数据集是通过轮询文件然后按预定义的时间间隔读取该文件而派生的 数据更新频繁 需要不断重新加载 诚然 重新加载可以增量完成并附加到 R 中的现有对象 但事实并非如此 然而目前 尽管会话中的数据相同 但此操作是针对
  • 如何更改ggplot2中x轴和y轴的位置

    在我的真实研究世界中 在顶部 或顶部和底部 显示 x 轴 在右侧显示 y 轴是很常见的 然而 ggplot2 中的默认位置是 x 位于底部 y 位于左侧 下列的科斯克在这里发帖 https groups google com forum f
  • 显示特定颜色

    我正在研究颜色分类 我正在用特定颜色初始化一个矩阵 以便可以获得红色 蓝色或绿色的 16x16 矩阵 代码如下 library rgl color1 lt function n lt 3 m lt 16 a lt list numeric
  • 在 R 中打印具有长字符串的数据帧

    让我们有一列包含长字符串的数据框 df lt data frame short rnorm 10 0 1 long replicate 10 paste rep sample letters runif 1 5 8 collapse 如何打
  • 在 R 中绘制逻辑回归的两条曲线

    我正在 R glm 中运行逻辑回归 然后我设法绘制结果 我的代码如下 temperature glm glm Response Temperature data mydata family binomial plot mydata Temp
  • 使用 R 将我的 shapefile 数据投影到传单地图上

    我 在 Win7 上 试图获取我的 shapefile 数据 Here https www dropbox com s f3d46itleoozzjz shapefiles zip dl 0是数据文件 要使用显示leaflet包裹 但没有任
  • rvest如何通过id选择特定的css节点

    我正在尝试使用 rvest 包从网页中抓取数据 简单来说 html 代码如下所示 div class style div
  • R:如何应用输出多列数据帧的函数(使用 dplyr)?

    我想查找数据框中某一特定列与所有其他列之间的相关性 p 值和 95 CI broom 包提供了一个示例 说明如何使用带有 dplyr 和管道的 cor test 在两列之间执行此操作 对于 mtcars 和 mpg 列 我们可以与另一列进行
  • Rstudio 中的 Sweave — pdf 中没有显示任何图

    这里是 Sweave Latex 新手 我在生成常规函数输出时没有问题 但绘图没有显示 这是一个基本示例 documentclass article begin document SweaveOpts concordance TRUE lt
  • 如何处理“不符合”的数组?

    如何对两个数组进行逐元素算术运算 在第一维度中一致 但也有一个额外的维度 示例 乘法数组a 3 x 3 x 2 按数组b 3 x 3 a lt array 1 18 dim c 3 3 2 b lt diag 3 由于数组不一致 因此以下操
  • grep() 搜索数据框的列名

    有没有更清晰 更简单 更直接 更短的方法来做到这一点 其中 df1 是数据框 names df1 grep Yield names df1 我想返回任何包含单词 yield 的列名称 Thanks grep has a value应该适用于

随机推荐

  • Azure MobileApp 自定义身份验证、刷新令牌

    我需要我的应用程序支持针对我们的私人数据库的自定义身份验证 并遵循此处 Adrian Hall 书中的建议https adrianhall github io develop mobile apps with csharp and azur
  • 在Java中,如果子类用实例子变量隐藏静态父变量,继承的方法将使用哪个变量?

    正如中所讨论的 这可能是一件坏事Java中的父类和子类可以有相同的实例变量吗 https stackoverflow com questions 3501060 can parent and child class in java have
  • JPA:无法使 OrderBy 工作

    我正在尝试在保留并检索后打印有序列表 我的实体 Entity public class News Id GeneratedValue private Long id private String content OneToMany casc
  • '没有找到应用程序。要么在视图函数中工作,要么推送应用程序上下文。 [复制]

    这个问题在这里已经有答案了 我正在尝试将 Flask SQLAlchemy 模型分成单独的文件 当我尝试跑步时db create all I get No application found Either work inside a vie
  • 有选择地将不记名令牌添加到 Retrofit 中的标头中

    我想知道是否有任何选项可以根据 Retrofit 中的标志或注释启用 禁用标头拦截器 由于我的 API 中很少有不需要令牌的路径 因此我需要跳过向这些 API 调用添加令牌的过程 目前我有一个简单的拦截器 它将向我的应用程序发出的所有请求添
  • 如何使用 babel/register 忽略非 js 文件

    当我的 Node 应用程序包含来自我的应用程序的路由时 我想忽略非 js 文件 例如 import scss App scss i e via Router js gt Routes js gt App js 目前 Node 显然会抛出解析
  • React 测试库 fireEvent.click 不起作用

    我基本上只是想改变一个计数器并显示该值已经改变 我正在这样做getByTestId那么这可能是问题所在 这是我的组件 import React useState from react import logo from logo svg im
  • Python 3.7 psycopg2 - Xcode 错误“错误:命令‘gcc’失败,退出状态 1”

    对于我目前正在处理的 Python Kivy 项目 使用 PyCharm 我设置了一个 postgreSQL 数据库 当我尝试使用终端安装 psycopg2 适配器时 pip install psycopg2我收到错误 错误 命令 gcc
  • 删除的 DataTable 行在排序后再次添加

    我正在使用数据表 https datatables net用于显示 HTML 表格的 jQuery 插件 我做了一个AJAX发送删除的行删除函数POST后台请求并显示返回的结果HTML消息在 infodiv 并删除相关的HTML行从DOM使
  • IDEA中有@NonNullByDefault注解吗?

    Eclipse 有 NonNullByDefault注释 它将所有值视为 NonNull除非你明确地将它们注释为 Nullable IntelliJ IDEA 中是否有等效的选项 或者您必须始终使用 Nonnull Idea 版本 14 将
  • 使用express/multer时更改文件名

    我在上传 pdf 时遇到问题 我正在使用ng file upload 到达express js的文件json是 fieldname file originalname db pdf encoding 7bit mimetype applic
  • JQuery 模式在提交前询问

    我有一个表单 用户可以在其中输入他的姓名 必填 出生日期 不需要 并且在提交表单之前 有一个确认信息 表明他 她是否确定提交没有出生日期的表单 我正在使用一个模式 它将提交上面的表格 我尝试运行下面的代码 但我看不出为什么不起作用的问题 当
  • 帮助构建修补的 Android 框架

    我是 Android 平台开发的新手 我刚刚成功构建氰化物7 http www cyanogenmod com 应用补丁后的源 这会向系统添加额外的 jar 适合 system framework 目录 刷新设备并检查新的自定义 jar 是
  • MySQL - 获取组的 sum() 分组 max()

    我有如下表结构 每行都是一场游戏 每个人每个月可以玩很多次或不玩 id person score date 1 32 444 2011 05 2 65 528 2011 05 3 77 455 2011 05 4 32 266 2011 0
  • MySQL:主机列中的 % 代表什么以及如何更改用户密码

    嗯 这就是我能看到的 select host user from mysql user host user me 127 0 0 1 root 1 root localhost localhost debian sys maint loca
  • JDBC 字符编码

    我有一个在 GlassFish 3 上运行的 Java Web 应用程序和在 MySQL 上运行的 JPA EclipseLink 我面临的问题是 如果我使用以下命令将实体保存到数据库中update 方法 String领域失去完整性 显示而
  • 在编译时计算小整数的阶乘

    我刚刚实现 再次 一个递归模板 用于在编译时计算整数的阶乘 谁会想到有一天我实际上会需要它 不过 我没有自己动手 而是去了Boost http www boost org 寻找答案 然而 特殊数学中的阶乘函数明确禁止将其与整数类型一起使用
  • 在Java BufferedImage中绘制完全透明的“白色”

    这可能听起来有点奇怪 但请耐心听一下 那里is一个原因 我正在尝试在灰色背景上的文本周围生成白色发光 为了生成发光 我创建了一个比文本大的新 BufferedImage 然后将白色文本绘制到图像的画布上 并通过卷积运算 http docs
  • 如何在Python中将csv转换为json?

    我对编程非常陌生 过去 3 4 周一直在学习 python 这是给出的作业之一 Input A B C D 1 2 3 4 5 6 7 8 Output A 1 B 2 C 3 D 4 A 5 B 6 C 7 D 8 我一直在尝试将代码设置
  • stat_smooth 和 geom_ribbon 之间的交互不良

    我正在回答这个问题 https stackoverflow com questions 64574595 geom density returns plot without considering real values 这需要绘制平滑区域