2011-07-21 8 views
17

私はy-範囲[min0:max0]とy-範囲[min1:max1]の2つのデータセットを持っているとします。どのようにして、両方のボックスプロットを適切なy範囲[min(min0、min1):max(max0、max1)]で隣り合わせに配置できますか?R:2つのボックスプロットを隣り合わせに配置するにはどうしたらよいですか?

d0 <- matrix(rnorm(15), ncol=3) 
d1 <- matrix(rnorm(15), ncol=3) 

par(mfrow = c(1, 2)) 
boxplot(d0) 
usr <- par("usr") 
plot.new() 
par(usr = usr) 
boxplot(d1, add = TRUE) 

しかし、それだけで私は彼らが正方形になりたいのに対し、両方のプロットを絞るも、最初のプロットのy範囲を維持します。ここ

は、私が試したものです。

アイデア?

+1

コードは再生できません。 http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example –

+0

@RomanLuštrikヒントをお寄せいただきありがとうございます。それは今です。 – htorque

答えて

35
d0 <- matrix(rnorm(15), ncol=3) 
d1 <- matrix(rnorm(15), ncol=3) 

# Using base R graphics 
lmts <- range(d0,d1) 

par(mfrow = c(1, 2)) 
boxplot(d0,ylim=lmts) 
boxplot(d1,ylim=lmts) 

base graphics plot

また、どちらかlatticeまたはggplot2パッケージによって、この使用してグリッドグラフィックスを実行する方法について考えてよいでしょう。グリッドベースのソリューションが今まで持っていることからあなたを保つ方法

# Using lattice 
library(lattice) 
bwplot(~ val|sub.type+d.type ,d) 

lattice plot

注:

# Using ggplot2 
library(ggplot2) 
d <- data.frame(d.type=c(rep(0,15),rep(1,15)),sub.type=rep(c('A','B','C'),10),val=rnorm(30)) 

p <- ggplot(d, aes(factor(sub.type), val)) 
p + geom_boxplot() + facet_grid(. ~ d.type) 

ggplot2

と格子中:

はここggplot2内の1つの試みです制限を指定する。あなたは構造を指定し、ソフトウェアは残りのことを行います。

+0

Hmpf、おそらくboxplotのylim引数を読んだことがあります。ありがとう! – htorque

+0

私はあなたに広範な答えのために別の+1を与えることができたらいいですよ、もう一度ありがとう! – htorque

+0

Nahは、スライス(格子)、美学(ggplot2)、およびグリッドベースのグラフィックをもっと美しく見せるための方法を含んでいました:-) –

関連する問題