2017-04-17 4 views
0

1つのページに4つのグラフを配置します。各プロットは、単一の統計量とその信頼区間の点推定値を示しています。私は各プロットでgeom_errorbarウィスカーの幅を変更することに苦労しています。 geom_errorbar()のwidth引数を変更しても、変更されていないようです。multiplot内のgeom_errorbarの幅を変更できません

ポイントの見積もりと信頼区間は、下のグラフからわかるように、統計ごとに異なる範囲で定義されているため、4つの統計を別々にグラフ化することが重要です。複数のグラフをプロットするために使用するmultiplot関数は、http://www.cookbook-r.com/Graphs/Multiple_graphs_on_one_page_(ggplot2)/で定義されています。

#creates data.frame where point estimates and confidence intervals will be 
#stored 
#the numbers inputed in df are similar to the ones I get from previously 
#performed regressions 
w<-c(1:4) 
x<-c(0.68,0.87,2.93,4.66) 
y<-c(0.47,0.57,0.97,3.38) 
z<-c(0.83,1.34,4.17,7.46) 
df<-data.frame(w,x,y,z) 

#plot each statistic 
#(each row from df is a statistic: w for index, x for point estimate, 
#y for ci lower bound and z for ci upper bound) 

p1 <- ggplot(df[1,], aes(x = w, y = x)) + 
     geom_point(size = 4) + 
     geom_errorbar(aes(ymax = y, ymin = z),width=.1) + 
     labs(x="",y="") 

p2 <- ggplot(df[2,], aes(x = w, y = x)) + 
     geom_point(size = 4) + 
     geom_errorbar(aes(ymax = y, ymin = z),width=.1) + 
     labs(x="",y="") 

p3 <- ggplot(df[3,], aes(x = w, y = x)) + 
     geom_point(size = 4) + 
     geom_errorbar(aes(ymax = y, ymin = z),width=.1) + 
     labs(x="",y="") 

p4 <- ggplot(df[4,], aes(x = w, y = x)) + 
     geom_point(size = 4) + 
     geom_errorbar(aes(ymax = y, ymin = z),width=.1) + 
     labs(x="",y="") 

multiplot(p1, p2, p3, p4, cols=2) 

私は大いに助けと助言をいただきありがとうございます。

おかげで、 ガブリエル

EXAMPLE PLOT HERE. How can I change errorbar whisker width for each graph separately?

答えて

0

変化であるが、x軸はエラーバーの幅と一致するようにスケーリングされます。たとえば、xlimなどのx軸を手動で設定する必要があります。 p1については

、あなたはまた、あなたが例えば、scale_x_continuousexpand引数を使用することができ+ xlim(0.8, 1.2)

を試みることができますscale_x_continuous(expand = c(0, 0.1))

+0

ありがとう、@ニックネネネ!私はx軸を除外しました(グラフの唯一の関連する要素はy軸です)、実際に幅が変更されました。 –

+0

@GabrielJardaの心配はありません。回答を受け入れたものとみなしてください。また、私はファセットを使用することを検討したいと思います。なぜなら、それは多分multiplotよりあなたのニーズに適しているからです。 yの縮尺を自由にする必要があることに注意してください。 –

関連する問題