1
- # ' @param adjust see \code{\link{density}} for details
1
+ # ' @param bw the smoothing bandwidth to be used, see
2
+ # ' \code{\link{density}} for details
3
+ # ' @param adjust adjustment of the bandwidth, see
4
+ # ' \code{\link{density}} for details
2
5
# ' @param kernel kernel used for density estimation, see
3
6
# ' \code{\link{density}} for details
4
7
# ' @param trim This parameter only matters if you are displaying multiple
17
20
# ' @export
18
21
# ' @rdname geom_density
19
22
stat_density <- function (mapping = NULL , data = NULL , geom = " area" ,
20
- position = " stack" , adjust = 1 , kernel = " gaussian" ,
23
+ position = " stack" , bw = " nrd0 " , adjust = 1 , kernel = " gaussian" ,
21
24
trim = FALSE , na.rm = FALSE ,
22
25
show.legend = NA , inherit.aes = TRUE , ... ) {
23
26
@@ -30,6 +33,7 @@ stat_density <- function(mapping = NULL, data = NULL, geom = "area",
30
33
show.legend = show.legend ,
31
34
inherit.aes = inherit.aes ,
32
35
params = list (
36
+ bw = bw ,
33
37
adjust = adjust ,
34
38
kernel = kernel ,
35
39
trim = trim ,
@@ -47,7 +51,7 @@ StatDensity <- ggproto("StatDensity", Stat,
47
51
required_aes = " x" ,
48
52
default_aes = aes(y = ..density.. , fill = NA ),
49
53
50
- compute_group = function (data , scales , adjust = 1 , kernel = " gaussian" ,
54
+ compute_group = function (data , scales , bw = " nrd0 " , adjust = 1 , kernel = " gaussian" ,
51
55
trim = FALSE , na.rm = FALSE ) {
52
56
if (trim ) {
53
57
range <- range(data $ x , na.rm = TRUE )
@@ -56,7 +60,7 @@ StatDensity <- ggproto("StatDensity", Stat,
56
60
}
57
61
58
62
compute_density(data $ x , data $ weight , from = range [1 ], to = range [2 ],
59
- adjust = adjust , kernel = kernel )
63
+ bw = bw , adjust = adjust , kernel = kernel )
60
64
}
61
65
62
66
)
0 commit comments