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

栏目: R语言 · 发布时间: 5年前

内容简介:数据科学的生命周期离不开分析/研究结果的交流。事实上,数据可视化是R作为一种数据科学语言相对于最著名的Python具有优势的领域之一。由于ggplot2是R程序员的可视化DSL(领域特定语言),现在的竞争变成了如何有效地使用ggplot2包在给定的位置显示可视化。在本教程中,我们将学习如何组合多个ggplot图来生成可公开的图。我们将要使用的R包是cowplot。正如在包描述中所提到的,“cowplot包旨在为ggplot2提供一个可发布的主题,该主题需要最小限度地调整轴标签的大小、图背景等,还需要将多个图

数据科学的生命周期离不开分析/研究结果的交流。事实上,数据可视化是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/

版权声明: 作者保留权利。文章为作者独立观点,不代表数据人网立场。严禁修改,转载请注明原文链接:http://shujuren.org/article/822.html

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


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

OKR工作法

OKR工作法

克里斯蒂娜•沃特克 (Christina Wodtke) / 明道团队 / 中信出版社 / 2017-9-1 / CNY 42.00

《OKR工作法》讲述了一种风靡硅谷科技企业的全新工作模式。 如何激励不同的团队一起工作,全力以赴去实现一个有挑战性的目标? 硅谷的两个年轻人汉娜和杰克,像很多人一样,在萌生了一个创意后,就走上创业之路。但是,很快他们发现好的想法远远不够,必须还有一套适合的管理方法确保梦想能实现。为了让创业团队生存下来,汉娜和杰克遭受了内心的苦苦挣扎和煎熬。他们患上“新奇事物综合症”,什么都想做,导致无......一起来看看 《OKR工作法》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

MD5 加密
MD5 加密

MD5 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换