两个图在ggplot2中共享x轴与不同的geom

时间:2014-05-08 17:58:39

标签: r ggplot2

我喜欢共享水平轴但具有不同垂直轴的图。如果我希望它们使用相同的facet_grid,那么使用geom会很容易,但它们有不同的geoms。

我到目前为止最好的facet_grid以上:

library(gridExtra)
library(reshape2)

n = 10
df <- data.frame(X = seq.int(n), 
                 Count = sample(1:50, size=n), 
                 Y = sample(1:10000000, size=n))

long <- melt(df, id="X")
long$Y <- with(long, ifelse(variable=="Y", value, NA))
long$Count <- with(long, ifelse(variable=="Count", value, NA))
long$variable <- factor(long$variable, levels = c("Y", "Count"))

ggplot(long) + 
  geom_point(aes(x=X, y=Y)) +
  geom_bar(aes(x=X,y=Count), stat="identity") +
  facet_grid(variable ~ ., scales="free_y") +
  ylab("")

plotcurrent

在此之前,我正在这样做(这可能导致轴对齐错误并且通常非常脆弱):

pointsPlot <- ggplot(df) + geom_point(aes(x=X, y=Y))
barPlot <-  ggplot(df) + geom_bar(aes(x=X, y=Count), stat="identity")
grid.arrange(pointsPlot, barPlot, ncol=1)

plot

有没有人有更少的hacky方式建议?

0 个答案:

没有答案