在 Patchwork 中手动定位图例

2023-11-21

我想将图例(所有绘图共有)放置在拼凑布局的空白区域中。从我在网上可以找到的内容来看,我无法使用手动定位图例legend.position如果我也使用guides="collect"(但可以使用左、右等)。

我尝试过使用l <- get.legend进而+ inset_element(l, 0.6, 0.6, 1, 1)但它不明白l。我也尝试过混入+ inset_element(gridExtra::tableGrob(l))没有运气。

我的目标是将图例放在空白处。我的实际拼凑图更复杂,但有两个空白空间,我希望图例位于其中。

MWE

library(patchwork)    
library(ggplot2)
p1 <- ggplot(mtcars) + 
  geom_point(aes(mpg, disp, color = mpg)) + 
  ggtitle('Plot 1')

p2 <- ggplot(mtcars) + 
  geom_boxplot(aes(gear, disp, group = gear)) + 
  ggtitle('Plot 2')

p3 <- ggplot(mtcars) + 
  geom_point(aes(hp, wt, colour = mpg)) + 
  ggtitle('Plot 3')    

design <- "
1111
223#
"    
p1 + p2 + p3  + plot_layout(guides = 'collect') + plot_layout(design=design, guides = "collect")  &
  theme(legend.position = 'right',
        legend.direction = 'vertical')

改变你的design对象包含第四个元素并使用guide_area()放置指南。

library(patchwork)    
library(ggplot2)

design <- "
1111
2234
"    
p1 + p2 + p3 + guide_area() + plot_layout(design=design, guides = "collect") 

enter image description here

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

在 Patchwork 中手动定位图例 的相关文章

随机推荐

  • 在Python中解析日期字符串(将字符串转换为日期)

    我有一个字符串形式的日期时间字符串 如下所示 2011 10 23T08 00 00 07 00 我如何将此字符串解析为日期时间对象 我阅读文档后执行了以下操作 date datetime strptime data 4 Y m d Z 但
  • 页面刷新后 Material UI 按钮失去样式

    我正在使用 useStyles 来设计我的登录页面 页面上的所有内容都有正确的样式 并且刷新后不会丢失 除了按钮之外 该按钮是页面中唯一在刷新后丢失样式的内容 登录 js import useEffect useState Fragment
  • 使用 JavaFx 制作深色模式

    我想知道是否有一种简单的方法可以使用 JavaFx 和 CSS 制作暗模式 我有一个带有名为 深色模式 的 CheckMenuItem 的菜单栏 当我单击它时 我希望场景变暗 文本变白 这是我的 更新 前一个太不透明了 root fx ac
  • JBoss 部署问题 - 无法部署此 Jar

    我正在尝试在 jBoss 中部署应用程序 但遇到了这个问题 我正在尝试部署一个 jar 但遇到了问题 附完整日志 jboss ubuntu usr share jboss as 7 1 1 Final bin standalone sh c
  • Spring Boot Amazon AWS S3 存储桶文件下载 - 访问被拒绝

    我有一个自动配置的 AWS Spring Boot 应用程序 并且我正在尝试设置一个终端节点 该终端节点将仅从 Amazon S3 中的给定存储桶下载特定文件 我使用 AWS 控制台将 JPEG 文件从我的计算机上传到存储桶中 现在我尝试使
  • 通过云函数读取云存储数据

    我正在尝试对用 Python 构建数据处理管道进行快速概念验证 为此 我想构建一个 Google 函数 当某些 csv 文件被放入云存储中时 该函数将被触发 我也跟着这个 Google Functions Python 教程虽然示例代码确实
  • 可以修改 jQuery ajax 请求中的 cookie 值吗?

    我正在开发一个 Chrome 扩展 它允许用户记录站点的所有 HTTP 请求 修改请求的各个部分 然后重新发送 我希望使用jQuery的ajax方法构造并发送修改后的请求 我已经能够构建请求的其他部分 但据我所知 无法在请求中包含 cook
  • H.264 编解码器解释[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在制作一个支持视频通话的应用程序 并且正在寻找解释 h 264 编解码器结构的教程 文档 我希望能够打包流 将其包装在数据报中 在接收端发送和解
  • iPhone 模拟器/Mac OS 10.8.4 上的简单应用程序崩溃

    今天早上 将 Mac 上的 Mac OS 更新到 10 8 4 后 我在 Xcode 4 6 2 上编写了一些代码 然后按 运行 按钮进行编译 你知道 我没有停止模拟器 只需按 运行 按钮即可编译并运行 然后 应用程序崩溃了 我尝试了其他一
  • ASP.NET Core 在 Web API 中处理自定义响应/输出格式的方法

    我想创建自定义 JSON 格式 它将响应包装在数据中并返回 Content Type 例如 vnd myapi json 目前 我已经创建了一个包装类 我在控制器中返回它 但如果可以在后台处理它会更好 public class ApiRes
  • 建立一个数据库来跟踪哪些用户点击了哪些链接?

    我将尝试进一步详细说明我的问题 我最近在我的大学获得了一个入门级兼职开发人员职位 以努力提高我的开发技能 虽然我过去使用过 MySQL 但只是在一门课程中简要介绍了它 因为我主要是前端人员 HTML CSS JS 不管怎样 雇用我的部门有一
  • 如何保护我的进程不被杀死?

    我们在 Linux 之上有一个关键任务服务器程序 我们不希望其他人意外终止它 如果有人终止它或它崩溃 我们希望它重新启动 所以我们计划编写另一个程序 比如说程序B 我们希望程序B和服务器程序能够互相保护 如果我们的服务器程序退出 程序B将重
  • 在 Go 中向特定客户端发送 Websocket 消息(使用 Gorilla)

    我对 Go 很陌生 并且发现自己使用套接字作为我的第一个项目 这是一个多余的问题 但我无法理解如何 将 websocket 更新发送到 Go 中的特定客户端 使用 Gorilla 我试图解决的主要问题是 使用 websockets 和 ES
  • 停止 Jenkins 工作以防新工作开始

    是否可以指定 如果作业 A 被触发多次 则先前的作业将从队列中删除 并且只有最新的作业留在队列中或在有足够的空闲槽位时启动 提前致谢 use execute system groovy script step import hudson m
  • Python 通过写入 stdin 取消 raw_input/input?

    首先 我使用的是 python 2 7 5 和 Windows x64 我的应用程序针对的是这些参数 我需要一种方法来在一段时间过去后取消 raw input 目前 我的主线程启动两个子线程 一个是计时器 threading Timer 另
  • PyCharm 中的“未指定可执行文件”错误

    当我尝试在 PyCharm 中运行 python 脚本时 收到以下错误消息 error running myscript Executable is not specified 并且脚本不运行 如何通过 PyCharm 运行我的脚本 您需要
  • 如何将 PIL 图像对象上传到 Discord 聊天而不保存图像?

    我正在尝试将 PIL 图像对象发送到不和谐聊天 但我不想保存文件 我有一个函数可以从互联网收集图像 将它们垂直连接在一起 然后返回一个 PIL Image 对象 下面的代码从我本地计算机上的 PIL Image 对象创建一个文件图像 然后将
  • 使用 AWS API Gateway 请求验证器时启用 CORS

    我成功地使用 CORS 设置了 AWS API Gateway 当请求有效时 我有一个 200 状态代码和 CORS 标头 这很好 但是 当 AWS API Gateway 请求验证器检测到无效输入时 状态代码为 400 但未发送 CORS
  • Spring Data Rest 将自定义端点添加到特定存储库

    我想将自定义搜索端点添加到我现有的用户存储库 我的用户存储库如下所示 RepositoryRestResource collectionResourceRel users path users public interface UserRe
  • 在 Patchwork 中手动定位图例

    我想将图例 所有绘图共有 放置在拼凑布局的空白区域中 从我在网上可以找到的内容来看 我无法使用手动定位图例legend position如果我也使用guides collect 但可以使用左 右等 我尝试过使用l lt get legend