按面分隔 y 轴标签或删除图例但保留空间

2024-04-03

好吧,我被自制的 ggplot 难住了。

我想做的是具有不同 y 轴的三行一列多面图label对于每个方面。 y 轴的单位都相同。这将是最方便的,但谷歌搜索告诉我这可能不可能。

另外,我发现this https://groups.google.com/forum/#!topic/ggplot2/0gRO0Pkd6Yo使用 grid.arrange 的解决方案,这似乎可以工作。但是,我只想为一个图保留图例,并将其从其他两个图中删除,但保持间距,就好像它仍然在那里一样,以便一切都排列得很好。有人拥有同样的问题 https://groups.google.com/forum/#!topic/ggplot2/qDgMsaPkhCE几年前,但建议的解决方案已被贬值,我无法弄清楚如何使其在现代 ggplot 中工作。

任何帮助表示赞赏!使用方面会是最简单的!

使用下面的 user20560 的 gridArrange 解决方案后进行编辑以添加绘图副本。已经快到了,只是想拿回顶部和底部面板周围的盒子!


我假设(可能是错误的)您想要添加单独的 y 轴标题而不是轴标签。 [如果您想要不同的标签,您可以使用scales论证中facet_grid]

将会有一个ggplot有几种方法可以做到这一点,但这里有几种您可以自己调整 glob 的方法。

所以使用mtcars数据集为例

library(ggplot2)
library(grid)
library(gridExtra)

One way

p <- ggplot(mtcars, aes(mpg, wt, col=factor(vs))) +   geom_point() + 
                                 facet_grid(gear ~ .)

# change the y axis labels manually
g <- ggplotGrob(p)
yax <- which(g$layout$name=="ylab")

# define y-axis labels
g[["grobs"]][[yax]]$label <- c("aa","bb", "cc")

# position of labels (ive just manually specified)
g[["grobs"]][[yax]]$y <- grid::unit(seq(0.15, 0.85, length=3),"npc")

grid::grid.draw(g)


enter image description here
Or using grid.arrange

# Create a plot for each level of grouping variable and y-axis label
p1 <- ggplot(mtcars[mtcars$gear==3, ], aes(mpg, wt, col=factor(vs))) + 
                                 geom_point() + labs(y="aa") + theme_bw()
p2 <- ggplot(mtcars[mtcars$gear==4, ], aes(mpg, wt, col=factor(vs))) +  
                                 geom_point() + labs(y="bb") + theme_bw()
p3 <- ggplot(mtcars[mtcars$gear==5, ], aes(mpg, wt, col=factor(vs))) +  
                                 geom_point() + labs(y="cc") + theme_bw()

# remove legends from two of the plots
g1 <- ggplotGrob(p1)
g1[["grobs"]][[which(g1$layout$name=="guide-box")]][["grobs"]] <- NULL

g3 <- ggplotGrob(p3)
g3[["grobs"]][[which(g3$layout$name=="guide-box")]][["grobs"]] <- NULL

gridExtra::grid.arrange(g1,p2,g3)

如果您想添加轴标题,我应该问why你想要一个不同的标题 - 侧面条文本可以不做吗?

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

按面分隔 y 轴标签或删除图例但保留空间 的相关文章

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

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

    我尝试使用 RDCOMClient 在 Outlook 收件箱中搜索电子邮件中的特定主题 然后获取附件 我在一封电子邮件上进行了这项工作 但由于主题包含日期元素 我需要搜索成为一个类似的子句 但不太清楚这适合我的下面的查询 outlook
  • 使用 pkg:sjPlot 函数创建一个生成部分斜体单元格的数据框

    我正在尝试创建一个简单的数据表 其中 Coral taxon 列中的属名称为斜体 而 spp 列中的属名称为斜体 属名后面的部分不大写 我尝试使用 expression 函数对 Coral taxon 的每一行进行编码 但没有成功 sum
  • R 编程常用工具

    如果已经以不同的方式问过这个问题 我深表歉意 但我找不到任何达到我想要的东西 我真的是从其他软件包 SPSS 开始接触 R 的 当我了解真正可以做什么时 我意识到我还需要其他 工具 这让我想到了我的问题 您有哪些用于开发 R 代码的设置 我
  • 如何在 R 中绘制一列与其余列的关系图

    我有一个数据集 其中 1 是时间 接下来的 14 个是幅度 我想在一张图表上散布所有大小与时间的关系 其中每个不同的列都是网格化的 分层在另一个之上 我想使用原始数据来制作这些图表 并单独制作它们 但只想执行此过程一次 数据集A 唯一的自变
  • 排序因素与水平

    有人能解释一下 R 中 ordered 参数的用途吗 R says ordered逻辑标志来确定级别是否应被视为有序 按给定的顺序 所以如果我有一个名为名称的因素并设置ordered TRUE names lt factor c fred
  • 无法部署 ShinyApp:readTableHeader 在“raw”上发现不完整的最后一行(使用默认值:en_US)

    我已经拼命尝试部署我的闪亮应用程序大约一周了 但不幸的是我无法停止收到以下消息 Warning message Error detecting locale Error in read table file file header head
  • 不同 R/lme4 版本的单一拟合结果不匹配

    我试图将 R 版本 3 5 3 lme4 1 1 18 1 的随机效应估计与 R 版本 4 1 1 lme4 1 1 27 1 相匹配 然而 当存在奇异拟合时 这两个版本之间的随机效应存在微小差异 我对奇点警告很满意 但令人费解的是不同版本
  • 使用大矩阵操作

    我必须使用 big matrix 对象 并且无法计算某些函数 让我们考虑以下大矩阵 create big matrix object x lt as big matrix matrix sample 1 10 20 replace TRUE
  • 如何在ubuntu的conda环境中更改Rstudio中的R版本

    我在基本系统中安装了 R 4 3 和 Rstudio 在 conda 环境中安装了旧版本的 R 4 2 3 命令which R返回环境中安装的 R 的目录 home 用户 miniconda3 envs anndata2ri pip bin
  • 无法更新/编辑从 R 中的包(`gratia`)导出的 ggplot2 对象

    我希望我在这里遗漏了一些令人痛苦的明显的东西 我希望更新 例如 修复标题 实验室等 由 生成的 ggplot 对象gratia draw 不太确定为什么我无法更新该对象 有一个简单的解决方案吗 devtools install github
  • randomForest 包在删除一个预测类时的奇怪行为

    我正在运行一个随机森林模型 它产生的结果从统计角度来看对我来说完全没有意义 因此我确信有些东西mustrandomForest 包的代码出现错误 至少在模型的本次迭代中 预测 左侧变量是具有 3 种可能结果的政党 ID 民主党 独立党 共和
  • R、Rcpp 与 Armadillo 中矩阵 rowSums() 与 colSums() 的效率

    背景 来自 R 编程 我正在扩展到 C C 形式的编译代码Rcpp 作为循环交换 以及一般的 C C 效果的实践练习 我实现了 R 的等效项rowSums and colSums 矩阵的函数Rcpp 我知道它们以 Rcpp 糖的形式存在 并
  • 将字符串列拆分为多个虚拟变量

    作为 R 中 data table 包的相对缺乏经验的用户 我一直在尝试将一个文本列处理为大量指示符列 虚拟变量 每列中的 1 表示特定的子字符串是在字符串列中找到 例如我想处理这个 ID String 1 a b 2 b c 3 c 进入
  • 为什么数据帧上的 is.vector 不返回 TRUE?

    tl dr R 中的向量到底是什么 长版 R 中很多东西都是向量 例如 数字是长度为 1 的数值向量 is vector 1 1 TRUE 列表也是一个向量 is vector list 1 1 TRUE 好的 所以列表是一个向量 显然 数
  • 使用 R 下载压缩数据文件、提取和导入数据

    EZGraphs 在 Twitter 上写道 很多在线 csv 都被压缩了 有没有办法下载 解压缩存档并使用 R 将数据加载到 data frame Rstats 我今天也尝试这样做 但最终只是手动下载 zip 文件 我尝试过类似的东西 f
  • 尝试使用 JRI 将 R 与我的 Java 应用程序集成,但出现错误。谁能解释一下原因和解决办法吗?

    我需要将 Java 与 R 集成来运行一些数学命令并使用 R 的功能进行绘图 以下部分代码给出了错误 public static void main String args HelloRWorld r new HelloRWorld r h
  • R - 计算 bin 中特定值的数量

    我有一个如下所示的数据框 df Value lt c 1 1 0 2 1 3 4 0 0 1 2 0 3 0 4 5 2 3 0 6 Sl lt c 1 20 df lt data frame Sl Value gt df Sl Value
  • 警告消息 - 来自 dummies 包的 dummy

    我正在使用 dummies 包为分类变量生成虚拟变量 其中一些变量具有两个以上类别 testdf lt data frame A as factor c 1 2 2 3 3 1 B c A B A B C C C c D D E D D E
  • 如何在 data.table 中分组后使用条件计算行数

    我有以下数据框 dat lt read csv s1 s2 v1 v2 a b 10 20 a b 22 NA a b 13 33 c d 3 NA c d 4 5 NA c d 10 20 dat gt A tibble 6 x 4 gt

随机推荐

  • 反序列化匿名 JSON 数组?

    我有一个想要反序列化的匿名数组 这里是第一个数组对象的示例 time 08 55 54 date 2016 05 27 timestamp 1464332154807 level 3 message registerResourcePath
  • angular-google-maps 搜索功能的工作示例

    有没有人有一个有效的搜索框示例 例如 angular google maps team 在本网站的 搜索框 下显示的搜索框 https angular ui github io angular google maps api https a
  • 将对象初始化为全零

    通常 数据结构的有效初始化是将所有成员设置为零 即使在使用 C 进行编程时 也可能需要与外部 API 进行交互 这种情况就是如此 之间有什么实际区别 some struct s memset s 0 sizeof s 简单地 some st
  • 当指定为对象属性时,IIFE 如何影响其中的此关键字

    var a name Rhona check function return this name console log a check This returns 一个空字符串我希望它返回 Rhona 它没有给出 undefined 或 n
  • 为什么 ToUpperInvariant() 比 ToLowerInvariant() 更快?

    我在 CLR via C 中读到 Jeffrey Richter 写的String ToUpperInvariant 比String ToLowerInvariant 他说这是因为 FCL 使用 ToUpperInvariant 来规范化字
  • 更改内存提供程序的默认用户对象

    我只是想更改默认值User内存中提供程序的对象 默认User对象是Symfony Component Security Core User User 但是这个对象不能满足我的要求 所以我复制了该对象并添加了一些满足我的要求的属性 然后将其命
  • getmtime() 与 datetime.now():

    此代码每年在时钟转换的晚上打印一次错误警告 中欧夏令时间到中欧时间 import os import datetime now datetime datetime now age now datetime datetime fromtime
  • Git:在一个命令中搜索所有提交消息、分支名称、提交内容

    我想搜索所有可能的引用 提交 分支 标签 所有提交消息 所有分支名称和所有提交内容 由于还没有人建议一系列命令 并且如果您还没有自己制作它 git config alias findall f echo e nFound in refs n
  • 是否可以在远程服务器上运行 matlab 并使用瘦客户端上的 matlab GUI 对其进行控制?

    类似于 emacs 与 slime 的功能 核心服务可以在高性能远程计算机上运行 而我可以在上网本上从 emacs gui 编辑和运行代码 我和我的同事经常需要用机器做一些demo 学习在matlab中运行的脚本 这需要我们随身携带笨重的笔
  • HTML Web Worker 和 Jquery Ajax 调用

    我想知道是否可以在 Web Worker 文件中使用 jQuery Google Chrome 给我这个错误 Uncaught ReferenceError 未定义 这是代码 父文件 var loader new Worker BASE U
  • 错误:php55w-common 与 CentOS 6.5 上的 php-common 冲突

    我已经安装了新的 64 位 CentOS 6 5 带有 PHP5 Mysql5 5 等 现在 当我想安装不同的 apache 模块 例如 php soap 时 我收到此错误 gt Package php soap x86 64 0 5 3
  • 默认 Android 浏览器的浏览器插件

    我想为默认的 android 浏览器开发一个插件 它将指定 google 搜索结果中的网站类别 Android 浏览器没有明确显示插件架构 我想知道如何做到这一点以及与之相关的任何参考资料 Thanks 我最近尝试制作一个android插件
  • 是否可以分离 Hibernate 实体,以便对对象的更改不会自动保存到数据库?

    我有必须转换为 JSON 的 Hibernate 实体 并且必须翻译实体中的一些值 但是当我翻译值时 这些值会立即保存到数据库中 但我不想将这些更改保存到数据库中 有解决这个问题的方法吗 您可以通过调用来分离实体Session evict
  • 清空用户定义类内的 std::vector 时未释放内存

    当我们遇到一些内存问题时std vector是一个类的一个字段 我们用大量数据填充这个向量 在程序的某个点需要释放这些数据 然而 即使向量容量为零 内存也没有被释放或完全释放 这里您有我们程序的简化版本 正如你所看到的 类Foo只有一个字段
  • 移动装箱函数时“无法移动 FnOnce 类型的值”

    我正在尝试用 Rust 进行一些高阶编程 但在处理闭包时遇到一些困难 这是一个代码片段 说明了我遇到的问题之一 pub enum Foo Bar Box
  • 有没有办法批量读取firebase文档

    我正在使用 flutter 制作一个移动应用程序 并以 firebase 作为后端 我有一个存储用户信息的用户文档集合 其中一个字段是一组引用 另一个集合中的引用文档 我想在像批处理这样的操作中使用它 然后允许读取所有文档 我知道批处理只允
  • Sequelize:查找没有关联的条目

    给出以下简单模型 class A extends Model A init aField DataTypes STRING sequelize class B extends Model B init bField DataTypes ST
  • 如何模拟应用程序更新

    我正在使用 SQLite 来存储一些数据 最近 一位用户向我投诉 每次更新应用程序时 数据库都会被擦除 我想解决这个问题 但首先我需要模拟应用程序更新 而不是将其上传到 google play 并等待 您无需将apk上传到google 您可
  • URLSessionTask如何运行

    假设我创建了一个实例URLSessionTask let task URLSession shared dataTask with url data response error in print Thread current I star
  • 按面分隔 y 轴标签或删除图例但保留空间

    好吧 我被自制的 ggplot 难住了 我想做的是具有不同 y 轴的三行一列多面图label对于每个方面 y 轴的单位都相同 这将是最方便的 但谷歌搜索告诉我这可能不可能 另外 我发现this https groups google com