2011-07-16 13 views
0

私は現在、次のコードを使ってオーバーレイ(my_funによって与えられる)でヒストグラムをプロットしようとしています。Rのggplotを拡張する

dfr = data.frame(x) 
ggplot(dfr,aes(x)) + geom_histogram(colour="darkblue", binwidth = 0.1, 
     aes(y =..density..), size=1, fill="blue", freq = TRUE)+ 
      stat_function(fun = my_fun, colour = "red") 

ggplotのx軸は1から2(私のデータの範囲です)です。しかし、0から3までのx軸をプロットして、オーバーレイを範囲(0,3)に描画できるようにしたいと思います。

私はcoord_cartesian(xlim=c(0, 3))を追加しようとしましたが、これは動作しません。範囲を変更するための提案を私に提供してもらえますか?ありがとうございました。

+0

'my_fun'とは何ですか?あなたは' dput(dfr) 'の結果を提供できますか? – Chase

答えて

2

ちょうどあなたがあなたの質問に少しだけ有益な情報を提供しているので、ここで推測するが、これは私の作品:

dat <- data.frame(x=rnorm(100)) 

ggplot(dat,aes(x=x)) + 
    geom_histogram(aes(y=..density..),freq=TRUE) + 
    stat_function(fun = dnorm, colour="red") + 
    xlim(c(-4,4)) 

xlimではなく、coord_cartesianを使用。しかし、あなたのデータや機能に関する詳細を提供していないので、あなたのケースでこれが機能することを保証することはできません。

+0

ありがとうございます。これは機能します。関数myfunは実際には密度関数 –

+0

であり、ジョランの答えに加えて、時々等しいフレームを設定するのが理にかなっています: '+ xlim(c(-max(abs(dat $ x))、max(abs(dat $ x)) )) ') –

関連する問題