2017-09-11 4 views
4

私は複雑な機能のリボンを色づけしようとしています。しかし、これは(下図参照)うまくいかない:私は、関数の下部のみをペイントするggplot2で複合関数をペイントする方法は?

screenshot

。ただし、この場合、頂点で接続されている部分だけが塗りつぶされ、塗装された部分には曲線が含まれます。

マイコード:

p1 = ggplot(data.frame(x=c(-2.14344,1.25), y=c(0,12.5)), 
      aes(x, y)) 
p1 = p1 + stat_function(fun = function(x)(exp(-18.82 + 16.99 * x) + exp(-0.5497 - 0.6572 * x))) 
p1 = p1 + xlim(-2.14344,1.25) + ylim(0,12.5) 
p1 = p1 + geom_ribbon(fill="blue", alpha = 0.5, 
         aes(ymax = exp(-18.82 + 16.99 * x) + exp(-0.5497 - 0.6572 * x), 
          ymin = 0)) 
print(p1) 

私はこの問題を解決しようとしたとGoogleで解決策を探しました。しかし、私は何の提案も見つけられませんでした。

ご意見がございましたら、解決方法を教えてください。ありがとう!

+0

私はあなたが曲線下面積を意味すると仮定しますか?あなたのニーズに合った答え[ここ](https://stackoverflow.com/questions/33244629/filling-under-the-curve-with-ggplot-graphs)を確認してください。 –

+0

私にURLとすぐ返事を教えてくれて本当にありがとう!私は私の調査の欠如を後悔します。 – LandsEco

答えて

2

1つのオプションは、geom_ribbon一部を除去し、あなたのstat_functiongeom = 'area'を追加することです:

p1 <- ggplot(data.frame(x=c(-2.14344,1.25),y=c(0,12.5)), aes(x,y)) + 
     stat_function(fun=function(x)(exp(-18.82 + 16.99 * x) + exp(-0.5497 - 0.6572 * x)),geom = "area") + 
     xlim(-2.14344,1.25) + ylim(0,12.5) #+ geom_ribbon(fill="blue", alpha=0.5,aes(ymax=exp(-18.82 + 16.99 * x) + exp(-0.5497 - 0.6572 * x), ymin=0)) 
p1 
関連する問題