matlab中一页多图,R语言之可视化①⑥一页多图(2)

本文介绍了如何使用R语言中的cowplot和gridExtra包来组合和布局多个ggplot2图形,创建出版物级别的图表。通过实例展示了如何调整图形位置、添加图例标识以及自定义主题,以实现科学出版物中常见的多图排列方式。
摘要由CSDN通过智能技术生成

目录

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

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

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

library(ggplot2)

require(cowplot)

plot.iris

geom_point() + facet_grid(. ~ Species) +

stat_smooth(method = "lm") +

background_grid(major = 'y', minor = "none") +

panel_border() +

labs(title = "dot-line plot")

plot.mpg

geom_point(size=2.5) +

labs(title = "dot plot")

plot.diamonds

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%)。

2096b29a79a4

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

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")

2096b29a79a4

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值