使用 ggplot R 处理多图

2024-04-05

我有一个大数据框,我正在使用 ggplot。

ggplot()+
  geom_line(data=DATA,aes(logl,PercPos,group=name),col="blue")+
  geom_line(data=DATA,aes(logl,PercNeg,group=name),col="green")+ 
  geom_histogram(data=DATA, aes(x=logl,alpha=.5,group=name),bindwidth=0.1,density=T)+
  facet_wrap(~ name,as.table=T)+
  theme_bw()+
  xlim(min(DATA$logl),max(DATA$logl))

它生成 180 个不同的图。我想将结果绘制在不同的文件中, 例如每个文件中不超过 30 个图。

有没有一种简单的自动方法可以做到这一点?

感谢帮助。


这是一种方法:

library(ggplot2)
library(plyr)

# dummy data with 181 different levels
N <- 181
d <- data.frame(x=rnorm(10*N), y=rnorm(10*N), f=gl(N, 10))

# group levels to fit ppp plots per page
split_df_ppp <- function(d, f, id.var = ".page_split", ppp=30){

  stopifnot(is.factor(f))
  n <- length(levels(f))
  pages <- n%/%ppp + as.logical(n%%ppp)
  groups <- split(levels(f), gl(pages, ppp, n))

  d[[id.var]] <- f
  levels(d[[id.var]]) <- groups

  invisible(d)

}

d2 <- split_df_ppp(d, d$f)
str(d2)

# ggsave() could go in this function, if multiple files are preferred
plot_one_page <- function(.d){
  qplot(x, y, data=.d) +facet_wrap(~f)
}

# here saving all plots as separate pages in one file
pdf("multipage.pdf")
# loop through pages
 d_ply(d2, ".page_split", plot_one_page, .print=TRUE)
dev.off()

您还可以使用marrangeGrob来自 gridExtra,在这种情况下不需要分面:

lp = dlply(d, "f", function(d) qplot(x, y, data=d))
g = do.call(gridExtra::marrangeGrob, c(lp, ncol=5, nrow=6))

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

使用 ggplot R 处理多图 的相关文章

  • 使用 ggplot 构面时增加闪亮的绘图大小

    有没有办法增加绘图窗口的大小shiny取决于在一个中使用的面的数量ggplot图 也许使用垂直滚动 例如 使用下面的示例 当输入为 A 有三个方面 情节看起来不错 当选项 B 选择绘图数量会增加 但绘图窗口保持相同大小 导致绘图太小 是否有
  • 汇总表中各列的字符值比例

    在这种数据框中 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 中绘制龙卷风图 又名敏感性图 目标是可视化某些变量增加 10 和减少 10 的效果 到目前为止我已经得到这个结果 这是我正在使用的代码 Tornado plot data lt matrix c 0 02 0 02 0 0
  • 使用 RDCOMClient 搜索 Outlook 收件箱

    我尝试使用 RDCOMClient 在 Outlook 收件箱中搜索电子邮件中的特定主题 然后获取附件 我在一封电子邮件上进行了这项工作 但由于主题包含日期元素 我需要搜索成为一个类似的子句 但不太清楚这适合我的下面的查询 outlook
  • 排序因素与水平

    有人能解释一下 R 中 ordered 参数的用途吗 R says ordered逻辑标志来确定级别是否应被视为有序 按给定的顺序 所以如果我有一个名为名称的因素并设置ordered TRUE names lt factor c fred
  • 如何定义“f_n-chi-square”函数并使用“uniroot”求置信区间?

    I want to get a 95 confidence interval for the following question 我已经写了函数f n在我的 R 代码中 我首先使用 Normal 随机采样 100 个样本 然后定义函数h
  • 当有很多列时,使用 readr::read_csv() 导入数据时覆盖列类型

    我正在尝试使用 R 中的 readr read csv 读取 csv 文件 我导入的 csv 文件大约有 150 列 我只包含示例的前几列 我希望将第二列从默认类型 我执行 read csv 时为日期 覆盖为字符或其他日期格式 GIS Jo
  • ubuntu中R的igraph包的安装

    我使用以下命令在 ubuntu 中安装 R 的 igraph 包 install packages igraph 但我收到一条错误消息 警告 无法访问存储库的索引 http ftp iitm ac in cran src contrib h
  • 如何使用 R 将每个文件的数据添加为附加行,从而将不同的 .csv 文件合并为一个完整的文件?

    我有几个不同的文件夹 它们都包含一个 csv 文件 所有这些 csv 文件都有一个单独的列 其中包含实验的一种条件的数据 我想以将每个文件的数据添加为新列的方式合并这些 csv 文件 目前 它看起来像这样 C1 csv 102 106 15
  • 融化R中的下半矩阵

    如何融化下半三角形加对角矩阵 11 NA NA NA NA 12 22 NA NA NA 13 23 33 NA NA 14 24 34 44 NA 15 25 35 45 55 A lt t matrix c 11 NA NA NA NA
  • R 将多个值与向量进行比较并返回向量[重复]

    这个问题在这里已经有答案了 我有一个向量 A 对于 A 的每个元素 我想检查它是否等于第二个向量 Targets 中的任何元素 我想要一个逻辑值向量 其长度为 A 作为返回 也提到了同样的问题here http r 789695 n4 na
  • 获取函数的命名空间

    我正在开发一个包 我希望在其中向对象添加编辑历史记录 该包允许其他包注册用于编辑对象的函数 我正在寻找一种方法来记录注册用于编辑的函数的包的版本 问题是 给定一个函数 如何从导出的位置获取包 我的想法是调查它的搜索路径 但是search 仅
  • R、Rcpp 与 Armadillo 中矩阵 rowSums() 与 colSums() 的效率

    背景 来自 R 编程 我正在扩展到 C C 形式的编译代码Rcpp 作为循环交换 以及一般的 C C 效果的实践练习 我实现了 R 的等效项rowSums and colSums 矩阵的函数Rcpp 我知道它们以 Rcpp 糖的形式存在 并
  • 如何在 R 中合并同名列表中的数据框?

    我有一个包含很多数据框的列表 如果它们具有相同的名称 我想合并它们 即合并所有具有相同名称 a 和 b 的数据框 像这样 a lt aaaaa b lt bbbbb c lt ccccc g lt list df1 lt data fram
  • 为什么数据帧上的 is.vector 不返回 TRUE?

    tl dr R 中的向量到底是什么 长版 R 中很多东西都是向量 例如 数字是长度为 1 的数值向量 is vector 1 1 TRUE 列表也是一个向量 is vector list 1 1 TRUE 好的 所以列表是一个向量 显然 数
  • 使用officer R导出时如何提高ggplots的分辨率

    我想将图表导出到 PPT 并使用Officer 包来实现相同的目的 但是 图表的默认分辨率较低 我想更改它 我目前正在使用以下电话 ph with gg p1 type chart res 1200 其中 p1 是 ggplot 对象 运行
  • 正态分布平均值的贝叶斯推理玩具 R 代码 [降雪量数据]

    我有一些降雪观测 x lt c 98 044 107 696 146 050 102 870 131 318 170 434 84 836 154 686 162 814 101 854 103 378 16 256 我被告知它遵循正态分布
  • R 闪亮仪表板中的动态重复条件面板

    我正在尝试创建一个动态条件面板 所以我的条件如下 在用户界面中输入 selectInput inpt Input Number seq 1 50 1 selectize FALSE 我的条件面板 UI 输入是 conditionalPane
  • 如何在 Shiny 中提取动态生成的输入值?

    我正在创建一个闪亮的应用程序 它将根据客户的不同功能为客户生成分数 在我闪亮的应用程序中 我提供了 checkboxGroupInput 来选择所需的功能 根据所选功能 应用程序将动态地将 numericInput 添加到 Web ui 以
  • 如何按时间间隔匹配数据帧?

    这是我从数据记录器导入原始数据时经常出现的问题 温度记录仪设置为每十分钟记录一次温度 单独的气体记录仪设置为记录最后十分钟间隔内使用的气体 我想将这两个记录器的数据合并到一个数据框中进行绘图和分析 但时间并不完全一致 我希望每十分钟的时间段

随机推荐

  • 如何在 django 模板中实现运行总计?

    我有一个视图返回按 sales date 分组的销售摘要 例如 sale date datetime datetime 2010 10 5 0 0 salesum 2 item 1 sale date datetime datetime 2
  • 从 @OneToMany 关系获取最后一条记录

    我有几个具有 ManyToOne 和 OneToMany 关系的实体 问题是我正在寻找一种方法来获取从关系的 OneToMany 端插入的最后一条记录 而不加载列表中的所有记录 实际上 我将最后一条记录保存在 ClassB 中的 OneTo
  • 如何在 Android 中与正在运行的线程进行服务通信

    我的目标是推出一项能够满足所有应用程序网络需求的服务 我想也许打开2个套接字用于数据传输 我希望异步处理数据 所以我想我应该在两个单独的线程中运行它们 每个线程针对每个套接字 这样数据就可以在两个不同的 链接 异步中进行流式传输 所以 我希
  • 删除所有具有给定名称的 XML 属性

    我正在编辑一系列 XML 文件 需要删除所有名为 foo 的属性 此属性出现在不止一种类型的元素中 XML 的示例片段可能是
  • Delphi - 如何使用 Delphi 制作所见即所得 HTML 编辑器? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何制作一个 易于 使用的所见即所得
  • 使用 PHP 流式传输大文件

    我有一个 200MB 的文件 我想通过下载提供给用户 但是 由于我们希望用户只下载该文件一次 因此我们这样做 echo file get contents http some secret location com secretfolder
  • 通过 UIMenuController 的 UIMenuItem 传值

    我正在使用以下方法在 UITableViewCell 中长按时显示菜单 我需要将按删除菜单项的值传递给 void numberDelete 方法 void handleLongPress UILongPressGestureRecogniz
  • 如何使 colspan 工作而不影响其他行的宽度

    我注意到a的内容td所有列上的 colspan 都会影响其他行的宽度td 谁能解释一下这是为什么以及如何让它正常工作 我有两个要求 第一行第二列应占用尽可能多的空间 展开 第二行应采用 100 宽度 在示例中使用 colspan 2 Not
  • Python Json小写nan

    我正在尝试在 python 中解析一些 json 并且我正在利用 NaN 不幸的是 我的源代码将 NaN 写为如下 foo nan 这实际上并不少见 在Python中是这样的float nan 得到 NaN 和 C 输出nan来自 NaN
  • bq 命令行工具 - 如何插入具有嵌套字段的大查询表?

    我有三个 BigQuery 表 如下所示 Employee Employee id Department id Location id Name Age 部门 Department id Department Name Department
  • 使用硬件加速内容截取 WKWebview 的屏幕截图

    我在截屏时遇到严重问题WKWebview内容当有硬件加速内容 一些在 iframe 内运行的特定赌场游戏 到目前为止 我使用了像大家建议的标准截图方式 UIGraphicsBeginImageContextWithOptions conta
  • PHP 中可选包含

    我有一个包含常规配置的配置文件 在 git 存储库中 以及一个覆盖配置属性的本地配置文件 在存储库中被忽略 现在本地配置文件包含在配置文件的开头 include once local config php 但我希望包含是有条件的 仅当文件
  • 防止 PR 完成后删除分支

    在 Azure Devops 中 我有一个带有开发分支的 git 存储库 我们从此分支创建多个功能分支 并通过拉取请求将代码合并到开发中 一旦我们完成拉取请求 功能分支就会被删除 我想阻止这种情况发生 我想保留这些功能分支 我怎样才能做到这
  • 使用 Celery 创建动态队列

    这是我的场景 当用户登录我的网站时 我会为给定用户排队一堆任务 通常每个任务需要 100 毫秒 每个用户有 100 多个任务 这些任务排队到默认的 Celery 队列中 并且我有数百个工作线程正在运行 当任务在后端完成时 我使用 webso
  • 将新的 Date() 格式设置为 EEE MMM dd HH:mm:ss zzz yyyy

    我使用 new date 显示日期 时间 目前显示的是 Thu May 31 2012 13 04 29 GMT 0500 CDT 我需要这个 Thu May 31 13 04 29 CDT 2012 我该如何格式化它 您可以使用正则表达式
  • 两个 .Net 应用程序之间的高效通信

    我目前正在用 c 编写一个 Net 应用程序 它有两个主要组件 数据生成器 生成大量数据的组件 Viewer 能够可视化生成器创建的数据的 WPF 应用程序 这两个组件目前是我的解决方案中的两个单独的项目 此外 我正在使用棱镜4 0框架 以
  • 安排 Web Api 方法按设定的时间间隔运行

    在我当前的项目中 需要安排一个方法以设定的时间间隔运行 例如每周一次 目前这是通过 Windows 服务创建 HttpClient 并点击所需的控制器方法来完成的 我想知道这是否可以在 Web Api 项目本身中实现自动化 而不是使用外部服
  • JsonIgnore 在 System.Web.Mvc.Controller 中不起作用

    我有一个 Web API 项目和一个带有一些属性的简单类 其中一些已标记
  • Android SQLite 数据库,为什么删除表并在升级时重新创建

    在我正在关注的教程以及更多地方我看到了这一点 onUpgrade gt 删除表 如果存在 然后重新创建表 这样做的目的是什么 private static class DbHelper extends SQLiteOpenHelper pu
  • 使用 ggplot R 处理多图

    我有一个大数据框 我正在使用 ggplot ggplot geom line data DATA aes logl PercPos group name col blue geom line data DATA aes logl PercN