在 R 或 ggplot2 中向多图输出添加徽标

2024-01-30

我试图将徽标添加到从 grid.arrange 或rangeGrob 派生的输出中。

我有以下代码:

库(ggplot2)

p1 <- ggplot(ChickWeight, aes(x=Time, y=weight, colour=Diet, group=Chick)) +
         geom_line() +
         ggtitle("Growth curve for individual chicks")

 p2 <- ggplot(ChickWeight, aes(x=Time, y=weight, colour=Diet)) +
          geom_point(alpha=.3) +
           geom_smooth(alpha=.2, size=1) +
          ggtitle("Fitted growth curve per diet")

 p3 <- ggplot(subset(ChickWeight, Time==21), aes(x=weight, colour=Diet))         
          + geom_density() +
          ggtitle("Final weight, by diet")

 p4 <- ggplot(subset(ChickWeight, Time==21), aes(x=weight, fill=Diet)) +
         geom_histogram(colour="black", binwidth=50) +
         ggtitle("Final weight, by diet") 

我使用 grid.arrange(p1,p2,p3,p4,ncol=2,clip=4) 将多个图放置到一个图中。

但我在将徽标插入上述 grid.arrange 输出时遇到问题。

我尝试了以下方法,但收到以下错误消息。

    b <- rasterGrob(img, width=unit(5,"cm"), x = unit(40,"cm")) 
     z1 <- ggplotGrob(grid.arrange(p1,p2,p3,p4,ncol=2,clip=4)) 
     z1<- gtable_add_grob(z1,b, t=1,l=1, r=5)
     grid.newpage()
      grid.draw(z1)

错误:图中没有图层

有没有一种方法或方法可以在arrangeGrob或grid.arrange之后向输出添加徽标。


Not a gtable答案,但这是添加徽标的稍微不同的方式,可能会有所帮助

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

# Read png
img <- readPNG(system.file("img", "Rlogo.png", package="png"), FALSE)

# Create grobs to add to plot
my_g <- grobTree(rectGrob(gp=gpar(fill="black")),
                 textGrob("Some text", x=0, hjust=0, gp=gpar(col="white")),
                 rasterGrob(img, x=1, hjust=1))

# Plot
p <- ggplot(mtcars , aes(wt , mpg)) + 
           geom_line() +
           theme(plot.margin=unit(c(1, 1, 1,1), "cm"))

# Add as a strip along top
grid.arrange(my_g, arrangeGrob(p,p,p,p, ncol=2), heights=c(1, 9))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 R 或 ggplot2 中向多图输出添加徽标 的相关文章

随机推荐

  • 从 ABC 和 django.db.models.Model 继承会引发元类异常

    我正在尝试使用Python 3实现一个Django数据模型类 它也是一个接口类 我这样做的原因是 我正在为我的同事编写一个基类 并且需要他全部实现三个方法他从我的课程中派生出来的 我试图为他提供一种简化的方式来使用我设计的系统的功能 但是
  • 如何让Python Yaml库以人性化的方式保存?

    这是我得到的 Python 代码 d ToGoFirst aaa Second bbb Pagargaph Lorem ipsum dolor sit amet consectetur adipiscing elit sed do eius
  • 每次抽奖都重画不变的背景?

    这可能是一个非常简单的问题 但我搜索后发现没有其他方法可以做到这一点 每次绘制时都重新绘制背景是没有意义的 有没有办法画一些东西并将它们留在屏幕上 我试图注释掉 GraphicsDevice Clear Color CornflowerBl
  • 从另一个应用程序窗口获取焦点控件的句柄

    我有一个应用程序有一些控件 按钮 编辑等 的窗口 我需要模拟用户事件 如 Tab 单击和输入文本 我在用着keybd event在 Tab 键顺序控件 编辑框 之间移动焦点并为其输入文本 但我需要知道当前焦点控件的句柄 例如从中获取文本或更
  • 使用 ASP.NET Web API 并行进行基本身份验证和表单身份验证

    免责声明 首先我要说的是 我是 MVC4 Web Api 一般 Web 服务 JQuery 的新手 我可能从错误的角度攻击这个问题 我正在尝试用 C 为 NET 4 构建一个 Web MVC 应用程序 Web API 以部署在 Azure
  • async_resolve 中的 boost::asio::ip::tcp::resolver::iterator 的生命周期是多少?

    当我打电话时boost asio ip tcp resolver async resolve 我的处理程序收到一个ip tcp resolver iterator迭代一个或多个ip tcp resolver entries 他们的寿命是多少
  • 位列的唯一约束仅允许 1 个真 (1) 值

    我有这张表 CREATE TABLE tblExample ExampleID int IDENTITY 1 1 NOT NULL WordsAndStuff nvarchar max NOT NULL Active bit NOT NUL
  • 如何使 Django sessionId cookie 安全

    这是我目前的sessionIdcookie属性 设置 Cookie sessionid 3jdpjxgepk49vrnhbabdvju3r80ci581 过期 2018 年 8 月 6 日星期一 12 40 14 GMT 仅 Http 最大
  • 通过显示文本查找带有selenium的元素

    我试图将鼠标悬停在带有硒的菜单栏中的元素上 但很难找到该元素 该元素显示如下 div class mainItem TextToFind div 这种类型有多个元素 因此我需要通过以下方式找到该元素TextToFind 我试过了 drive
  • Bootstrap 4:带有徽标和 2 行的导航栏

    我正在尝试使用 Bootstrap 4 创建一个符合下面原理图的网站标题 我用来实现此目的的代码如下 省略了无关代码 div class navbar div class container yellow div class row div
  • 尝试将 Braintree-Web 集成到 Angular2 中

    我正在尝试在我的 Angular2 应用程序中使用 Braintree SDK braintree web 我真的很感激任何有关如何使其发挥作用的指示 我认为这是因为我没有导入 Braintree web 模块 但我也不知道如何导入 我可以
  • 如何删除 HTML 中字符之间的空格?填充不起作用

    即使我将填充添加为 0px 为什么字母 之前有空格 以红色标记 span style margin 0 padding 0 border 1px solid blue font size 48px span That space is pa
  • 这段代码会删除文件扩展名吗?

    这不是我的代码 我想弄清楚这到底是做什么的 这是一个用 C 语言编写的大型古老系统的一部分 实际上它是 4 年前编写的 但很可能是由 80 年代末程序员心态编写的 部分代码 char DestFile 256 char DestFile2
  • Python3 SMTP ValueError:server_hostname 不能为空字符串或以前导点开头

    import smtplib smtp smtplib SMTP smtp connect smtp gmail com 587 220 b smtp gmail com ESMTP h15 v6sm187291iog 48 gsmtp s
  • @IdClass 使用 JPA 和 Hibernate 生成“实例的标识符已更改”

    对于使用不区分大小写的数据库架构的 JPA 实体模型 当我使用 IdClass 注释时 我始终会收到 实例的标识符已更改 异常 对于具有 字符串 主键的对象 当数据库中存在一种大小写的字符串并且使用仅大小写不同的相同字符串执行查询时 会发生
  • Jquery live() 与 delegate() [重复]

    这个问题在这里已经有答案了 我在这里和网上其他地方读过一些关于两者之间差异的帖子live and delegate 但是我还没有找到我正在寻找的答案 如果这是一个骗局 请告诉我 我知道之间的区别live and delegate就是它liv
  • FTP获取所有文件

    我已使用 PHP 成功连接到 FTP 并且可以使用以下命令查看所有文件 ftp nlist 但是 有没有一种简单的方法可以下载当前目录中的所有这些文件 我找不到任何关于如何执行此操作的示例 Thanks 另一个简单的解决方案是 列出数组中的
  • 有没有办法在 d3 中向饼图添加突出显示?

    我希望我使用了正确的术语 但基本上我试图在 D3 中的饼图顶部创建突出显示 我见过很多添加阴影的东西 但一直无法使其成为高光 因此 我尝试在图表顶部添加弧线并为其添加高斯模糊 但它有两个问题 它不会与图表的其余部分一起过渡 并且突出显示会延
  • OpenStreetMap:从地址获取坐标

    OpenStreetMap 中是否有任何函数可以为您提供地址坐标 就像是 http router project osrm org locate request GetGeocoding nbaddresses 1 outputFormat
  • 在 R 或 ggplot2 中向多图输出添加徽标

    我试图将徽标添加到从 grid arrange 或rangeGrob 派生的输出中 我有以下代码 库 ggplot2 p1 lt ggplot ChickWeight aes x Time y weight colour Diet grou