非刻面图中的小平面标题

时间:2017-07-06 16:26:13

标签: r ggplot2

我非常喜欢刻面图标题的风格:

require(ggplot2)
df <- data.frame(x = rnorm(1E3), labels = as.factor(c(rep("plot1",500), rep("plot2",500))));
ggplot(df, aes(x=x) ) + geom_histogram() +facet_wrap(~labels)

facets

我想格式化其他情节&#39;标题以类似的方式。当我只是将ggtitle()添加到绘图中时,我得到以下内容:

ggplot(df, aes(x=x) ) + geom_histogram() +ggtitle('plot1 and plot2')

ggtitle

如何将ggtitle标题格式化为facet_wrap标题?

谢谢!

2 个答案:

答案 0 :(得分:4)

如果您希望看起来像条带标签一样,您可以为包含单个组的标题创建一个新列,并使用该变量进行分面。

基本上使用带有假变量的facet来获得你喜欢的外观。

df$overall = "plot1 and plot2"

ggplot(df, aes(x=x) ) + 
     geom_histogram() +
     facet_wrap(~overall)

enter image description here

答案 1 :(得分:0)

aosmith的例子很好,但是有时您可能需要一次绘制多个数据集。在这种情况下,最好创建一个仅包含标题的伪数据集,并在 facet_wrap 中使用它。这是一个例子;

require(ggplot2)
df <- data.frame(x = rnorm(1E3), 
                 labels = as.factor(c(rep("plot1",500), 
                                      rep("plot2",500))))
head(df)

            x labels
1 -1.23282556  plot1
2  1.00436360  plot1
3 -0.35275785  plot1
4  0.78827732  plot1
5  0.05207618  plot1
6 -1.75324781  plot1

然后您可以绘制数据:

ggplot(data = data.frame(ftitle = "Plot1 and Plot2")) + 
  facet_wrap(~ ftitle) +
  geom_histogram(data = df,
                 aes(x = x))

enter image description here

我今天需要这样做,希望其他人会觉得有用。