专栏首页生信小驿站R语言之可视化①⑥一页多图(2)目录

R语言之可视化①⑥一页多图(2)目录

cowplot包是ggplot2的简单附加组件。 它旨在为ggplot2提供一个出版物就绪的主题,这个主题需要最少量的轴标签尺寸,情节背景等。对'ggplot2'库的一些有用的扩展和修改。 特别是,这个软件包可以很容易地将多个'ggplot2'图组合成一个并用字母标记它们,例如 A,B,C等,这是科学出版物经常需要的。 该软件包还提供了一个流线型和干净的主题,用于Wilke实验室,因此包名称代表Claus O. Wilke的绘图库。

library(ggplot2)
require(cowplot)

plot.iris <- ggplot(iris, aes(Sepal.Length, Sepal.Width)) +
  geom_point() + facet_grid(. ~ Species) +
  stat_smooth(method = "lm") +
  background_grid(major = 'y', minor = "none") +
  panel_border() +
  labs(title = "dot-line plot")
plot.mpg <- ggplot(mpg, aes(x = cty, y = hwy, colour = factor(cyl))) +
  geom_point(size=2.5) +
  labs(title = "dot plot")
plot.diamonds <- ggplot(diamonds, aes(clarity, fill = cut)) +
  geom_bar() +
  theme(axis.text.x = element_text(angle=70, vjust=0.5)) +
  labs(title = "bar plot")
ggdraw() +
  draw_plot(plot.iris, 0, .5, 1, .5) +
  draw_plot(plot.mpg, 0, 0, .5, .5) +
  draw_plot(plot.diamonds, .5, 0, .5, .5) +
  draw_plot_label(c("A", "B", "C"), c(0, 0, 0.5), c(1, 0.5, 0.5), size = 15)

其中 draw_plot(plot.iris, 0, .5, 1, .5)代表的是A图左下角在坐标轴的位置是(0,0.5),然后图片占据X轴的1(100%),占据Y轴的0.5(50%)。

image.png

同样可以使用grid和gridExtra包达到同样的结果

library(grid)
library(gridExtra)
grid.newpage()  ###新建图表版面
grid.text("title of this panel", vp = viewport(layout.pos.row = 1, layout.pos.col = 1:2))
pushViewport(viewport(layout = grid.layout(2,2))) ####将版面分成2*2矩阵
vplayout <- function(x,y){viewport(layout.pos.row = x, layout.pos.col = y)}
print(plot.iris, vp = vplayout(1,1:2))   ###将(1,1)和(1,2)的位置画图plot.iris
print(plot.mpg, vp = vplayout(2,1))     ###将(2,1)的位置画图plot.mpg         
print(plot.diamonds , vp = vplayout(2,2))    ###将(2,2)的位置画图plot.diamonds

grid.arrange( arrangeGrob(plot.iris,left="A"), 
              arrangeGrob(plot.mpg, left="B"), 
              arrangeGrob(plot.diamonds, left="C"),
              layout_matrix = matrix(c(1,1,2,3), ncol=2, byrow=TRUE), 
              top = "Title",left = "This is my global Y-axis title")

image.png

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • R语言 循环作图

    用户1359560
  • R语言之可视化①⑧子图组合patchwork包目录正文

    -可以通过将部分子图包装在括号中来制作嵌套布局。在这种情况下,画布布局的范围为不同的嵌套级别。

    用户1359560
  • R语言第二章数据处理(9)数据合并

    =========================================

    用户1359560
  • 【R语言入门】R语言环境搭建

    R 语言是一个功能十分强大的工具,几乎绝大多数的数据分析工作都可以在 R 中完成,并且拥有很极强的绘图功能支持,能让你手中的数据以各种姿势进行可视化呈现,而且支...

    弗兰克的猫
  • plot绘图填充(2)

    万木逢春
  • python matplotlib.pyplot.plot()参数用法

    默认情况下,每个行被指定一个由“颜色周期”指定的不同颜色。要改变这种行为,可以编辑axes.color_cycle中的rcparam。

    砸漏
  • 「R」cowplot(四)图形排列

    如果你指定labels="AUTO"或labels="auto",那么标签会自动按照大写或小写排列:

    王诗翔呀
  • Python数据可视化——matplotlib使用

    总第57篇 01|Figure和Subplot: matplotlib的图像都位于figure对象中,相当于一块画布。figure的属性figsize是用来设置...

    张俊红
  • [PHP]算法- 判断是否为二叉搜索树的后序遍历序列的PHP实现

    陶士涵
  • 七个开源的 Spring Boot 前后端分离项目,一定要收藏!

    前后端分离已经在慢慢走进各公司的技术栈,根据松哥了解到的消息,不少公司都已经切换到这个技术栈上面了。即使贵司目前没有切换到这个技术栈上面,松哥也非常建议大家学...

    江南一点雨

扫码关注云+社区

领取腾讯云代金券