2013-07-05 15 views
5

Rの "ggplot2"に "階段"または "階段"のヒストグラムをプロットするにはどうすればよいですか?Rのggplot2でステップヒストグラムをプロットする方法は?

enter image description here

各水平ラインの幅は、(x軸値の)ビンサイズを表し、高さは取り付けとは異なり(そのビンに入るデータの フラクションに対応

:のようなもの画像は確率密度です!)。 geom_histogramでこれを行う方法はありますか?

答えて

8

いくつかのデータを生成します。

foo <- data.frame(bar=rnorm(100)) 

ヒストグラムをy軸上のステップのgeomおよび密度

ggplot(foo,aes(x=bar)) + stat_bin(geom="step") 

ヒストグラム:

y軸上のステップのgeomとカウントと210

そして、「そのビンに該当するデータの割合」と:geom_histogram` `には2つのコールがある理由

ggplot(foo,aes(x=bar)) + stat_bin(aes(y=..count../sum(..count..)),geom="step") 

enter image description here

2

これを行うには他の、よりきれいな方法かもしれませんが、ここに1つのアイデアがあります。

foo <- data.frame(bar = rnorm(100)) + theme_bw() 
p <- ggplot(data = foo, aes(x = bar, y = ..count../sum(..count..))) ## or aes(x = bar, y = ..density..) if you want that 
p + geom_histogram(size = 2, colour = "red", fill = "white") + geom_histogram(colour = "transparent", fill = "white") 

enter image description here

編集:

geom_histogram(size = 2, colour = "red", fill = "white")は私が最終的な出力が素敵に見えるようにsize = 2にアウトラインの太さを編集し、この enter image description here

を作成します。この段階ではひどく見えます。インテリアライン(と私はsize = 2が良さそうだと思う理由は、アウトラインの一部)をカバー上に別のヒストグラムを描画します、あなたがgeom_histogram(colour = "transparent", fill = "white")を追加内部の行を削除するには

+0

あなたが説明してもらえますか? – user248237dfsf

+0

@ user248237dfsfもう1つを削除して何が起こるかを見てください。それは明らかです。 – Roland

+0

@Roland:適切な色/ stepshapeを取得しようとするのはやり手です...しかし、これを一般化して、df内の変数に 'colour'を設定して、さまざまな条件をエンコードする方法。 – user248237dfsf

関連する問題