0

我需要在一个页面上绘制多个图。我想在每个图的左上角有一个字母(例如 A 或 B 等)。我将如何使用 ggplot2 执行此操作?

ggplot2 手册(Hadley Wickham)中没有提到它,我也无法通过搜索网络索引找到它。

这是一些可用于说明的代码。

library( ggplot2 )
p1 <- qplot( rnorm( 10 ), rnorm( 10 ) )
p2 <- qplot( rnorm( 10 ), rnorm( 10 ) )
grid.arrange( p1, p2, nrow=1 )
4

2 回答 2

1

我建议将所有数据放在一个数据框中,并包含一个具有“a”、“b”等因素的变量,然后使用分面。所以例如这样:

require('ggplot2')
df <- data.frame(cbind(rnorm(20),rnorm(20),c('A','B','C','X')))
ggplot(df, aes(x=X1,y=X2)) + geom_point() + facet_wrap(~ X3, ncol=2)

别介意丑陋的标签,但我认为它可以满足您的需求!

于 2013-05-29T19:38:49.613 回答
0

使用 Cowplot 可以解决这个问题。

plot_grid(p,q,labels=c('1','2'))

p 和 q 是 ggplot 对象。

于 2016-03-21T14:14:58.910 回答