• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    同等学历教学

    同等学历教学

    免费
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      同等学历教学

      同等学历教学

      免费
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      R语言

      • 首页
      • 博客
      • R语言
      • 如何将多个ggplot图组合成可公开的图

      如何将多个ggplot图组合成可公开的图

      • 发布者 weinfoadmin
      • 分类 R语言
      • 日期 2019年1月22日
      测试开头

      如何将多个ggplot图组合成可公开的图


      笔者邀请您,先思考:

      1 如何把多个图组合成一幅图?

      数据科学的生命周期离不开分析/研究结果的交流。事实上,数据可视化是R作为一种数据科学语言相对于最著名的Python具有优势的领域之一。由于ggplot2是R程序员的可视化DSL(领域特定语言),现在的竞争变成了如何有效地使用ggplot2包在给定的位置显示可视化。

      在本教程中,我们将学习如何组合多个ggplot图来生成可公开的图。我们将要使用的R包是cowplot。

      关于包

      正如在包描述中所提到的,“cowplot包旨在为ggplot2提供一个可公开的主题,该主题需要最小限度地调整轴标签的大小、图背景等,还需要将多个图组合成一个图并对这些图进行标记。”

      包安装

      cowplot可以直接从CRAN安装,使用以下代码:

      install.packages("cowplot")

      或者github的开发版本可以使用devtools安装,也可以使用以下代码远程安装:

      #install.packages("devtools")
      devtools::install_github("wilkelab/cowplot")

      包加载

      一旦安装了这个包,我们可以使用下面的代码来加载cowplot(就像在R中加载的其他包一样):

      library(cowplot)
      library(ggplot2)

      建造我们的第一个组合图

      在cowplot中,它的工作方式是,我们将各个ggplot图分配为一个R对象(默认为ggplot类型)。这些对象最终被cowplot用来生成统一的单一图。

      在下面的代码中,我们将使用R的内建数据集iris构建三个不同的直方图,然后将一个个地分配给R对象。最后,我们将使用cowplot包的函数plot_grid()来组合我们感兴趣的两个图。

      #building the first plot  

      plot_histogram_SL <- ggplot(iris) + 
        geom_histogram(aes(Sepal.Length), fill = "#eeff00", bins = 200)

      #building the second plot

      plot_histogram_PL <- ggplot(iris) + 
        geom_histogram(aes(Petal.Length))


      #building the third plot

      plot_histogram_PL_SL <- ggplot(iris,aes(Petal.Length, Sepal.Length)) + 
        geom_point(alpha = 0.2)


      #Arranging Multiple Plots in Columns - 2 in 1

      plot_grid(plot_histogram_SL,
                plot_histogram_PL_SL,
                labels = c('Fig B','Fig C'),
                label_x = 0.2,
                ncol = 2)

      如下图:

      如何将多个ggplot图组合成可公开的图

      在上面的图中,你可以看到这两个图被标注了标题/标签图B和图C。正如上面的代码所写,这些标签被添加到plot_grid()函数的参数标签中。

      我们还可以通过其他方式使用cowplot来排列上面的图。让我们看几个例子:

      将多个图按着2行1列组合

      #Arranging Multiple Plots in Rows - 2 in 1

      plot_grid(plot_histogram_PL,
                plot_histogram_SL,
                labels = c('Fig A','Fig B'),
                label_x = 0.2,
                nrow = 2)

      如下图:

      如何将多个ggplot图组合成可公开的图

      3幅图组合

      #A cowplot plot with ggplot - 3 in 1


      plot_grid(plot_histogram_SL,
                plot_histogram_PL_SL,
                labels = c('Fig B','Fig C'),
                label_x = 0.2,
                ncol = 2) -> new_p1

      plot_grid(plot_histogram_PL,
                new_p1,
                #labels = c('Fig A','Fig B'),
                label_x = 0.2,
                nrow = 2)

      如下图:

      如何将多个ggplot图组合成可公开的图

      正如上面的代码,我们可以把ggplot生成的图通过cowplot组合起来。通过这种方式,我们可以根据给定的位置和业务/用例需求以多种方式组合多个ggplot图。本教程中使用的全部代码可以在github上找到。

      作者:Abdul Majed Raja
      原文链接:
      https://datascienceplus.com/how-to-combine-multiple-ggplot-plots-to-make-publication-ready-plots/

      如何将多个ggplot图组合成可公开的图

      内容推荐


      • 如何阅读论文?

      • 论文管理工具,我用Zotero

      • 一个数据人的2018

      • R机器学习介绍第一部分

      • R机器学习介绍第二部分

      • R中你应该学习的7种可视化

      • R中用线性回归进行预测建模

      • 使用RMarkdown沟通结果

      • 使用LIME探索模型

      • RStudio1.2新功能介绍

      • 使用spotifyr聚类Springsteen专辑

      • 使用R和tidytext对Trustpilot 的评论进行主题建模

      数据人网:数据人学习,交流和分享的平台,诚邀您创造和分享数据知识,共建和共享数据智库。


      测试结尾

      请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

      • 分享:
      作者头像
      weinfoadmin

      上一篇文章

      零基础学python(3)程序出题
      2019年1月22日

      下一篇文章

      学点高效的搜索
      2019年1月22日

      你可能也喜欢

      3-1665801675
      R语言学习:重读《R数据科学(中文版)》书籍
      28 9月, 2022
      6-1652833487
      经典铁死亡,再出新思路
      16 5月, 2022
      1-1651501980
      R语言学习:阅读《R For Everyone 》(第二版)
      1 5月, 2022

      搜索

      分类

      • R语言
      • TCGA数据挖掘
      • 单细胞RNA-seq测序
      • 在线会议直播预告与回放
      • 数据分析那些事儿分类
      • 未分类
      • 生信星球
      • 老俊俊的生信笔记

      投稿培训

      免费

      alphafold2培训

      免费

      群晖配置培训

      免费

      最新博文

      Nature | 单细胞技术揭示衰老细胞与肌肉再生
      301月2023
      lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
      301月2023
      如何快速批量修改 Git 提交记录中的用户信息
      261月2023
      logo-eduma-the-best-lms-wordpress-theme

      (00) 123 456 789

      weinfoadmin@weinformatics.cn

      恒诺新知

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      链接

      • 课程
      • 事件
      • 展示
      • 问答

      支持

      • 文档
      • 论坛
      • 语言包
      • 发行状态

      推荐

      • iHub汉语代码托管
      • iLAB耗材管理
      • WooCommerce
      • 丁香园论坛

      weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      要成为一名讲师吗?

      加入数以千计的演讲者获得100%课时费!

      现在开始

      用你的站点账户登录

      忘记密码?

      还不是会员? 现在注册

      注册新帐户

      已经拥有注册账户? 现在登录

      close
      会员购买 你还没有登录,请先登录
      • ¥99 VIP-1个月
      • ¥199 VIP-半年
      • ¥299 VIP-1年
      在线支付 激活码

      立即支付
      支付宝
      微信支付
      请使用 支付宝 或 微信 扫码支付
      登录
      注册|忘记密码?