ggplot密度プロットに幾何学を追加したいが、データの表示制限を変更せずに、カスタムコードで必要な制限を計算する必要もない。例与えるために:私はへのプロットをトリミングしたい :最初のプロットでggplot2:制限に影響を与えずにgeomを追加する
set.seed(12345)
N = 1000
d = data.frame(measured = ifelse(rbernoulli(N, 0.5), rpois(N, 100), rpois(N,1)))
d$fit = dgeom(d$measured, 0.6)
ggplot(d, aes(x = measured)) + geom_density() + geom_line(aes(y = fit), color = "blue")
ggplot(d, aes(x = measured)) + geom_density() + geom_line(aes(y = fit), color = "blue") + coord_cartesian(ylim = c(0,0.025))
を、(かなりひどく「測定」データをフィット)適合曲線は、測定データの形状が不明瞭最初GEOMからのすべてのデータが含まれていますが、2番目のプロットのように、フィットカーブをトリミング:
-
:私は
- 自分のコードで制限を計算する必要があります(面倒でエラーが発生しやすい)
- 自分のコードで制限を計算することは、面取りとは互換性がありません。ファセット単位の軸制限を
coord_cartesian
と指定することはできません(AFAIK)。しかし私は、第二のgeomを制限座標計算時に考慮されなかった場合、facet_wrap(scales = "free")
coord_cartesian
と2番目のプロットを生成することができますが
![Desired output](https://i.stack.imgur.com/SNnqA.png)
が、これは2つの欠点を持っています
所望の出力が達成されると、プロットを組み合わせることが必要 - カスタムRコードにおける限界を計算することなく可能ことですか?
質問 R: How do I use coord_cartesian on facet_grid with free-ranging axisは関連していますが、満足のいく回答はありません。
私はそれがfacet_wrap' 'のコンテキストで行うことができるとは思いません。これを回避するには、事前にデータを手作業でトリミングして、必要なプロット制限を超えるデータがなく、したがって 'ggplot2'が軸のサイズを変更しようとしないことがあります。 Cludgy、しかし、私は 'facet_wrap'を使うときには別の方法を考えることができません。 – Lyngbakr