Tag: gtable

如何使用具有双y轴ggplot的构面

我一直试图从这里扩展我的scheme,以利用方面(特别是facet_grid() )。 我已经看到这个例子 ,但是我似乎无法得到它为我的geom_bar()和geom_point()组合。 我试图使用从facet_wrap更改为facet_wrap的示例代码,这似乎也使第一个层不显示。 当谈到栅格和栅格时,我是一个新手,所以如果有人能够给出一些指导,让我们看看如何让P1显示左边的y轴,P2显示在右边的y轴上,那将是非常棒的。 数据 library(ggplot2) library(gtable) library(grid) library(data.table) library(scales) grid.newpage() dt.diamonds <- as.data.table(diamonds) d1 <- dt.diamonds[,list(revenue = sum(price), stones = length(price)), by=c("clarity","cut")] setkey(d1, clarity,cut) p1&p2 p1 <- ggplot(d1, aes(x=clarity,y=revenue, fill=cut)) + geom_bar(stat="identity") + labs(x="clarity", y="revenue") + facet_grid(. ~ cut) + scale_y_continuous(labels=dollar, expand=c(0,0)) + theme(axis.text.x = element_text(angle = 90, hjust = 1), axis.text.y […]

左alignment两个graphics边(ggplot)

我正在使用ggplot,并有两个图表,我想要显示在彼此之上。 我使用grid.arrange的grid.arrange来堆叠它们。 问题是我希望graphics的左边缘alignment以及右边缘,而不pipe轴标签。 (问题出现是因为一个图的标签很短而另一个图的标签长)。 问题: 我该怎么做? 我不嫁给grid.arrange,但ggplot2是必须的。 我试过了: 我试着用宽度和高度以及ncol和nrow来制作一个2 x 2的网格,并将视觉对象放在对angular上,然后用宽度进行播放,但是我不能在对angular看到视觉效果。 require(ggplot2);require(gridExtra) A <- ggplot(CO2, aes(x=Plant)) + geom_bar() +coord_flip() B <- ggplot(CO2, aes(x=Type)) + geom_bar() +coord_flip() grid.arrange(A, B, ncol=1)