1

2 つの棒グラフを同じ縮尺で並べて表示するのに苦労しています

私のコードは次のようになります

library(ggplot2)
library(gridExtra)
#dataframe definition
rm(list=ls(all=TRUE))
mydata <- data.frame(a=1:10,b=c('yes','no'),c=seq(2,20,2))

plot1<- ggplot(mydata, aes(x=factor(mydata$b), y=100*a), order=f, fill=grey) + 
  stat_summary(fun.y="mean", geo    m="bar", colour="black")+xlab("Factor b") + 
  ylab("Value of a")    

plot2<- ggplot(mydata, aes(x=factor(mydata$b), y=c), order=f) + 
  stat_summary(fun.y="mean", geom="bar", colour="black")+xlab("Factor b") + 
  ylab("Value of b")    

grid.arrange(plot1, plot2, ncol=2)

これにより、次の画像が生成されます。

ggplot2 からの画像出力

縦軸が両方の棒グラフで同じスケールになるように配置したいと思います。gridExtra マニュアルに関するドキュメントは見つかりませんでした。

4

1 に答える 1

2

このようなものはどうですか?

library(ggplot2)
library(reshape2)

mydata <- data.frame(a=1:10,b=c('yes','no'),c=seq(2,20,2))
df <- melt(mydata, id.vars="b")
df[which(df$variable=="a"),]$value <- df[which(df$variable=="a"),]$value * 100
ggplot(df, aes(factor(b), value))  + 
  stat_summary(fun.y="mean", geom="bar", colour="black") + facet_grid(.~variable)


# If you need free scales, then:

ggplot(df, aes(factor(b), value))  + 
  stat_summary(fun.y="mean", geom="bar", colour="black") + 
  facet_wrap( ~variable, scales = "free_y")
于 2012-10-31T16:38:00.497 に答える