ggplot2直方图中每个方面的不同断点

2023-12-21

一个 ggplot2 挑战的 latticist 需要帮助:在直方图中请求变量每面中断的语法是什么?

library(ggplot2)
d = data.frame(x=c(rnorm(100,10,0.1),rnorm(100,20,0.1)),par=rep(letters[1:2],each=100))
# Note: breaks have different length by par
breaks = list(a=seq(9,11,by=0.1),b=seq(19,21,by=0.2))
ggplot(d, aes(x=x) ) + 
  geom_histogram() + ### Here the ~breaks should be added
  facet_wrap(~ par,  scales="free")

正如所指出的jucor https://github.com/xfim/ggmcmc/pull/17#issuecomment-19899183, here https://groups.google.com/forum/#!topic/ggplot2/rhPWQEFMx6A更多解决方案。

根据特殊要求,并展示为什么我不是 ggplot 的忠实粉丝,lattice version

library(lattice)
d = data.frame(x=c(rnorm(100,10,0.1),rnorm(100,20,0.1)),par=rep(letters[1:2],each=100))
# Note: breaks have different length by par
myBreaks = list(a=seq(8,12,by=0.1),b=seq(18,22,by=0.2))
histogram(~x|par,data=d,
          panel = function(x,breaks,...){
            # I don't know of a generic way to get the 
            # grouping variable with histogram, so 
            # this is not very generic
            par = levels(d$par)[which.packet()]
            breaks = myBreaks[[par]]
            panel.histogram(x,breaks=breaks,...)
          },
          breaks=NULL, # important to force per-panel compute
          scales=list(x=list(relation="free")))

这是一种替代方案:

hls <- mapply(function(x, b) geom_histogram(data = x, breaks = b), 
              dlply(d, .(par)), myBreaks)
ggplot(d, aes(x=x)) + hls + facet_wrap(~par, scales = "free_x")

如果需要缩小x的范围,那么

hls <- mapply(function(x, b) {
  rng <- range(x$x)
  bb <- c(rng[1], b[rng[1] <= b & b <= rng[2]], rng[2])
  geom_histogram(data = x, breaks = bb, colour = "white")
}, dlply(d, .(par)), myBreaks)

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

ggplot2直方图中每个方面的不同断点 的相关文章

  • 如何使用“NA”作为字符串

    我有一个 csv 文件 其中一列是字符类型 该变量的很少有值是 NA 字符串 但是当我使用 read csv 读取 R 中的 csv 文件时 NA 字符串存储为 NA 我该如何修复它 您可以使用na strings论证中read csv r
  • 使用 lapply、Reduce 和 union 折叠 data.table 中的行

    我有一个 data table 示例 JACcar 它应该使用下面的代码根据 ID 折叠成一行 但是 我不明白为什么它不会折叠少于 2 行 我还尝试通过将列限制为仅包含 NA 以外的值的列来验证我的输出 因为原始数据中有 123 列 有人可
  • 单击 hPlot 图表中闪亮的数据点时打印组名称

    我有一个闪亮的应用程序 它使用 rCharts 中的 highcharts 库显示一些图表 在某些情况下 我在单个图表上有多个图表 这些图表是使用 hPlot 中的组选项创建的 我希望在单击图表时打印单个数据点的所有参数 x y 和组值 我
  • 如何根据另一列的条件语句将因子列添加到数据框?

    我有一个数据框 我需要根据条件语句添加一个因子列 这里是data https www dropbox com s hujiacus8ek5o5z MoroccoCGE CC Stats csv Code morstats agri f lt
  • 在 R data.table 中计算时间增量

    我有一个篮球运动员数据的数据表 其中包括每场比赛和多名球员的比赛日期 我想创建一个列来计算自上一场比赛以来的天数 我在 R 中使用 data table 包 PLAYERID GAME DATE 1 2989 2014 01 1 2 298
  • 将 SAS sas7bdat 数据读入 R

    R 有哪些选项可以读取本机 SAS 格式的文件 sas7bdat 进入R The NCES 共同核心 https nces ed gov ccd pubschuniv asp例如 包含以此格式保存的大量数据文件存储库 为了具体起见 让我们集
  • 如何使用 R 更改 png 文件的大小

    我正在绘制 png 文件并获取一张小图片 你知道一些可以改变 png 图大小的简单代码吗 我的地块太高太 薄 另外有没有办法改变情节的分辨率 谢谢 伊格尔 png png filename Rplot 03d png width 480 h
  • 最新的 Windows 10 更新后 R 将无法运行

    我已经更新了我的 Windows 但 R 无法运行 因此 R studio 也无法运行 当我运行 R GUI 时 它只是冻结并且没有响应 我已允许防火墙豁免铬 我正在使用 Windows Insider 计划并且刚刚更新到 Windows
  • 写入抓取数据的 csv 文件时如何拆分项目名称

    我有兴趣使用 R 从网上抓取的数据创建 csv 或类似的 Excel 兼容文件 到目前为止 我通过执行以下操作来存储数据 require textreadr spiegel lt read html http www spiegel de
  • 如何使用“downloadHandler”在闪亮的可反应内部创建下载按钮?

    我创建downloadlinksa 的行内reactable 我这样做是为了DT datatable and a reactable reactable 我还创建了相应的output downloadHandler在 ids 上使用 app
  • 如果 RCurl::getURL() 执行时间太长,如何停止执行?

    有没有办法告诉 R 或 RCurl 包在超过指定时间段时放弃尝试下载网页并转到下一行代码 例如 gt library RCurl gt u http photos prnewswire com prnh 20110713 NY34814 b
  • ggplot2中的两列分组

    是否可以按两列分组 于是叉积就画出来了 经过geom point and geom smooth 例如 frame lt data frame series lt rep c a b 6 sample lt rep c glass wate
  • 将多个函数应用于一个向量

    我正在寻找一种将多个函数应用于一个向量的选项 我认为这对于逆应用函数来说是一种仁慈 其中一个函数应用于许多向量 或列 有没有办法指定两个或多个函数 例如 min 和 max 并将其应用于向量 与 CathG的评论类似 但没有get v lt
  • 如何从数据框中按降序获取前n家公司

    我正在尝试从数据框中获取排名前 n 的公司 下面是我的代码 data Forbes2000 package HSAUR sort Forbes2000 profits decreasing TRUE 现在我想从这个排序向量中获取前 50 个
  • 将一长行带空格的数据导入R中

    这个问题是我上一个问题的后续问题 将一长行数据导入到 R 中 https stackoverflow com questions 8389913 我有一个由单行文本组成的大型数据文件 格式类似于 Cat 14 15 Horse 16 我最终
  • 如何使用 Rrank() 函数创建新的ties.method? [复制]

    这个问题在这里已经有答案了 我试图按人口和日期排序这个数据框 所以我使用order and rank 功能 gt df lt data frame idgeoville c 5 8 4 3 4 5 8 8 date c rep 1950 4
  • 缩放geom_密度以将geom_bar与y上的百分比相匹配

    因为我对数学感到困惑上次我尝试问这个问题 https stackoverflow com questions 32412805 ggplot2 histogram with density curve that sums to 1 这是另一
  • “条件长度 > 1 并且仅使用第一个元素”错误

    我对 f 语句有疑问 因为它返回给我以下错误消息 条件长度 gt 1 并且仅使用第一个元素 我有一个名为 data summary 的数据框 我想创建两个新变量vol up and vol down取决于我的数据框的其他变量 这是我的脚本代
  • 使用 alpha 通道叠加两个 ggplot2 stat_密度2d 图

    我想叠加两个ggplot2使用 alpha 通道进行绘图 结果图像显示两个数据集 这是我的测试数据 data read table text P1 1 0 4 nP2 0 0 2 nP3 2 1 8 nP4 2 2 6 nP5 0 5 2
  • 将 r 中的一列从出生日期更改为年龄

    我是第一次使用 data table 我的表中有大约 400 000 个年龄的列 我需要将它们从出生日期转换为年龄 做这个的最好方式是什么 我一直在思考这个问题 到目前为止对这两个答案都不满意 我喜欢用lubridate 就像 KFB 所做

随机推荐

  • WPF 中的数据模板

    我有一个关于 WPF 中的数据模板的一般性问题 假设我有一个名为 Question 的抽象类 以及各种子类 例如 MathQuestion GeographyQuestion 等 在某些情况下 使用 Question 数据模板将问题呈现为
  • 从作为引擎安装的 gem 重载 lib 文件

    我正在使用作为引擎安装的 gem 并想要自定义一些类 我想要重载的文件位于我的本地 rvm 目录中 rvmdir gem lib modulename containers file to override rb 我将文件复制到我的应用程序
  • 如何保证时间戳始终是唯一的?

    我使用时间戳对程序中的并发更改进行临时排序 并要求更改的每个时间戳都是唯一的 但是 我发现只需调用DateTime Now是不够的 因为如果快速连续调用它通常会返回相同的值 我有一些想法 但我认为没有什么是 最佳 解决方案 我是否可以编写一
  • MSBuild:包含自定义资源文件作为嵌入资源

    我在构建时使用 MSBuild 动态生成资源文件 但为了能够在运行时读取该资源文件 我需要它成为嵌入式资源 我到处都在研究如何在 a 中标记文件 csproj作为嵌入式资源 我什至尝试过这一点 但没有成功
  • json.net 特殊字符转义

    对 JSON 有点陌生 所以请原谅这个简单的问题 但根据找到的特殊字符列表here http www w3schools com js js special characters asp and here https developer m
  • Qt-fy 现有枚举与 Qt 元数据一起使用

    假设我有一个现有的enum X A B 并希望将其与 Qt 元数据一起使用 例如QMetaObject QMetaEnum QMetaObject meta FsxSimConnectQtfier staticMetaObject for
  • 高可靠性/可用性/安全性编码 - 我应该阅读哪些标准?

    我听说汽车行业有一个叫做 MISRA C 的东西 其他高可靠性 可用性 安全行业的相关标准是什么 比如 Space Aircraft 银行 金融 汽车 Medical 国防 军事 Adam 参观戈达德太空飞行中心及其编码标准 http so
  • 使用“mysql_fetch_row”从数据库检索结果并使用 PHP 和 mysqli 插入数组?

    我需要从几行检索数据 然后将结果插入到枚举数组中 这样我就可以使用 for 循环来回显它 我有这个 我已经连接到数据库 genres sql SELECT genreID FROM genres WHERE imdbID if stmt g
  • 如何基于Web服务更改android中的语言

    目前 我正在开发我正在使用的 Android 项目English作为主要语言 我在用着strings xml字符串常量文件 现在 我想根据网络服务动态更改语言 该服务将根据用户选择 在 设置 中 创建 我知道我们必须为每种语言创建单独的 s
  • 如何最好地设计具有多个过滤器的 REST API?

    作为一个个人编程项目 我正在抓取我大学的课程目录并以 REST API 的形式提供数据 我已成功抓取所有数据并将其存储在数据库中 现在正在开发 API 课程可以根据许多标准进行过滤 教师 学院 学分 时间 日期等 在这种情况下提供 API
  • 微风错误:非法构造 - 使用“或”组合检查

    我遇到了这个微风错误 非法构造 使用 或 来组合检查 在 Chrome 上加载实体的编辑页面时 当我刷新页面时 错误消息不再出现 此错误在我的网站上随机 不规则地发生 我无法使用指定的场景重现它 只是随机遇到它 我在 Breeze 代码中看
  • Nuxt中间件无限重定向问题

    您好 我正在尝试在我的 Nuxt 3 应用程序中执行这个中间件 我正在尝试遵循文档 但收到无限重定向错误 export default defineNuxtRouteMiddleware to from gt const user id 1
  • python TypeError:“列表”对象不可调用错误

    我是 python 新手 我试图理解这里的一个基本错误 我在下面的代码中收到 TypeError list object is not callable 错误 有人可以解释一下我的代码有什么问题吗 graph a b c b a c c b
  • 通过 AKS 群集中的负载均衡器访问服务

    我配置了一个集群 其中的服务 及其相关的 Pod 容器 全部部署到私有子网中 其中一个 Pod 代表应用程序的 UI 我定义了一个具有公共 IP 的负载均衡器来提供对 UI 的访问 至少这是我的意图 当我在浏览器中输入包含负载均衡器 IP
  • Angular Js+ TypeScript:如何创建动态表

    我是打字稿和角度的新手 我已经使用打字稿和角度js实现了一个模块 在其中我需要创建一个动态表 它将获取演示文稿的类型并相应地附加到我的视图 就像我之前在 C 中所做的那样 我在下面给出了我的 c 代码 private void ShowCu
  • 需要均匀分布的按钮行

    我尝试使用 3 行和 4 列将所有按钮水平均匀地隔开 但失败了 垂直的就好 下面是 3 种不同的按钮间隔尝试 我的 3 行每行 1 种 第一行拉伸图形 这是不需要的 第二行不拉伸但没有间距 图形之间需要间距 而第三行拉伸没有任何间距 请帮我
  • 使用 IoC 进行单元测试

    如何使用 IoC 容器进行单元测试 使用 IoC 管理大型解决方案 50 多个项目 中的模拟是否有用 有什么经验吗 有哪些 C 库适合在单元测试中使用它 一般来说 单元测试不需要 DI 容器 因为单元测试就是分离职责 考虑一个使用构造函数注
  • Mongoose 在启动时调用 EnsureIndex,但不建议这样做。那么为什么它是默认的呢?

    我无法理解一件事 当我们读到猫鼬文档 http mongoosejs com docs guide html 当您的应用程序启动时 Mongoose 会自动调用ensureIndex对于架构中每个定义的索引 虽然有利于开发 但建议在生产中禁
  • 获取 Windows 中本地计算机用户名列表

    如何使用 C 获取 Windows 中本地计算机用户名列表 using System Management SelectQuery query new SelectQuery Win32 UserAccount ManagementObje
  • ggplot2直方图中每个方面的不同断点

    一个 ggplot2 挑战的 latticist 需要帮助 在直方图中请求变量每面中断的语法是什么 library ggplot2 d data frame x c rnorm 100 10 0 1 rnorm 100 20 0 1 par