2013-08-27 4 views
5

ggplot2のボックスウィスカープロットからウィスカーを削除する方法はありますか?R?私は箱だけを保管したいと思っています。ボックスウィスカープロットのウィスカーを除去する

MWE:meadian、25及び75パーセンタイルを算出するstat_summary_df()を使用し、geom="crossbar"でそれらのデータをプロットする

library("ggplot2") 
p <- ggplot(mtcars, aes(factor(cyl), mpg)) 
p + geom_boxplot(outlier.size = 0) 

答えて

7

我々は唯一の引数coef = 0追加する必要があります。

library(ggplot2) 
p <- ggplot(mtcars, aes(factor(cyl), mpg)) 
p + geom_boxplot(outlier.size = 0, coef = 0) 

enter image description here

+0

素晴らしいことです!あなたはどうやってこれを知ったのですか? ** coef' **について議論している文書は見つかりませんでした。私はそれが何をしているのか理解していますが、非常に強力で、他のプロットで調整できる** coef **があると思われます。ありがとう! –

+1

@MikeWilliamsonありがとう。正直言って私は覚えていない。 'geom_boxplot'のドキュメントでは、この引数は"ウィスカーの長さをIQRの倍数で決める "としていますので、おそらく0を試しました。Rベースを使ったボックスプロットでは、 ?bxp')whiskltyとstaplelty: 'boxplot(mpg〜cyl、data = mtcars、whisklty = 0、staplelty = 0)' – mpalanco

7

一つの方法は、あろう。自動的にstat_summary_df()の中に"median_hilow"で行うことができます。このためには、ライブラリHmiscを追加し、プロットする前に関数stat_summary_df(を定義する必要があります。 "median_hilow"のデフォルト値は2.5と97.5パーセンタイルなので、引数conf.int=0.5を追加する必要があります。

stat_sum_df <- function(fun, geom="crossbar", ...) { 
    stat_summary(fun.data=fun, colour="red", geom=geom, width=0.2, ...) 
} 

library(Hmisc) 
ggplot(mtcars, aes(factor(cyl), mpg)) + 
    stat_sum_df("median_hilow",conf.int=0.5,fill="white") 

enter image description here