2011-08-15 11 views
6

私は少しずつオフセットされたポイントのペアを持つプロットを持っています。各点の組には、関連するエラーバーがあります。私は、ペアの最初の点のシンボルが2番目のシンボルのシンボルと異なることを指定しました(黒丸と白丸)。エラーバーが開いているシンボルには表示されないようにしたいと思います。ここでエラーバーは開いたシンボルで表示されます

はモックのデータセットである:

x = runif(4,-2,2) 
x_1 = runif(4,-1,3) 
dfr <- data.frame(
x = c(x, x_1), 
y = rep(c("A","B","C","D"), 2), 
upper = c(x+2, x_1+1), 
lower = c(x-2, x_1-2), 
type = rep(c("alpha", "beta"), each = 4)) 

そして、ここではプロットである:あなたが提供することができます任意の助け

dodge=position_dodge(width=0.5) 
ggplot(dfr,aes(x=y,y=x,colour=type)) + 
    geom_point(size=8,aes(shape=type),position=dodge) + 
    geom_errorbar(aes(ymax=upper,ymin=lower),position = dodge) + 
    scale_colour_manual(values = c('gray','black')) + 
    scale_shape_manual(values = c(19,21)) + 
    coord_flip() + 
    opts(legend.position="none") 

rplot

ありがとう!

答えて

4

「オープン」ポイントを作成し、エラーバーにトラフを表示させない方法は考えられません。これを行う唯一の方法は、ポイントを背景と同じ色で塗りつぶすことですが、あなたのグリッド線はその点から見えません。

はこれを行うには、fill美的型にマップ、およびtheme_grey設定で塗りつぶしの色grey90scale_fill_manualを指定:

ggplot(dfr,aes(x=y,y=x,colour=type, fill=type)) + 
    geom_errorbar(aes(ymax=upper,ymin=lower),position = dodge) + 
    geom_point(size=8,aes(shape=type),position=dodge) + 
    scale_colour_manual(values = c('gray','black')) + 
    scale_fill_manual(values=c('grey', 'grey90')) + 
    scale_shape_manual(values = c(19,21)) + 
    coord_flip() + 
    opts(legend.position="none") 

enter image description here

+0

は素晴らしい作品、ありがとう!私はtheme_bwを使用しているので、塗りつぶしを白に変更しました。 – jslefche

1

colorを次の修正コードに示すように使用しないでください。それも黒い円を埋めるでしょう。それが受け入れられるかどうかはわかりません。

ggplot(dfr,aes(x=y,y=x,colour=type)) + 
    geom_point(size=8,position=dodge) + 
    geom_errorbar(aes(ymax=upper,ymin=lower),position = dodge) + 
    scale_colour_manual(values = c('gray','black')) + 
    coord_flip() + 
    opts(legend.position="none") 
関連する問題