如何从ggplot代码复制直方图

时间:2016-04-25 07:48:37

标签: r plot

我使用ggplot包含以下代码:

ggplot(sub9, aes(x=YR,y=Freq)) + 
  scale_y_continuous(limit=c(0,15),expand=c(0, 0)) +
  geom_bar(stat='identity') + 
  xlab(" ") + ylab("No of papers") +
  theme_bw(base_size = 16) +
  theme(axis.text.x=element_text(angle=45,hjust=1,size=13)) +
  annotate("text",x=3.5,y=14,label="Pollution",cex=7)

我有25个这样的图,需要在同一个图页中绘制多个图。这通常适用于R,使用例如{4}为4 x 4的情节par(mfrow=c(4,4))。这段代码不适用于ggplot,我必须使用函数multiplot,它不能正常工作,因为它不会相应地缩放所有文本和图例。

因此,我问你们中的一些人是否可以帮助我使用hist复制完全相同的情节.x(YR)是一个因子,y(Freq)是数字。

2 个答案:

答案 0 :(得分:1)

不确定您是否要求在同一页面上放置多个ggplots或询问如何运行直方图。

无论如何,这里是虹膜数据直方图的一个例子。

library(ggplot2)
library(gridExtra)

g1 <- ggplot(iris, aes(x=Sepal.Length)) + geom_histogram(binwidth=0.5)

我使用grid.arrange创建了6个重复绘图的3x2布局:

grid.arrange (g1, g1, g1, g1, g1, g1, ncol=3)

enter image description here

答案 1 :(得分:1)

使用facet_wrapfacet_grid

您可能正在寻找facet_wrapfacet_grid,这样您就可以为因子或其他分类变量的不同值创建多个图。当然这也适用于直方图。

文档中的示例

ggplot(mpg, aes(displ, cty)) + geom_point() + facet_grid(drv ~ cyl)

example facet grid