7979# ' pars = c("alpha", "beta[4]"),
8080# ' prob = 2/3,
8181# ' prob_outer = 0.9,
82- # ' point_est = "mean"
82+ # ' point_est = "mean",
83+ # ' border_size = 1.5 # make the ridgelines fatter
8384# ' )
8485# ' plot(p)
8586# '
176177# ' # Example of hierarchically related parameters
177178# ' # plotted with ridgelines
178179# ' m <- shinystan::eight_schools@posterior_sample
179- # ' mcmc_areas_ridges(m, pars = "mu", regex_pars = "theta") +
180+ # ' mcmc_areas_ridges(m, pars = "mu", regex_pars = "theta", border_size = 0.75 ) +
180181# ' ggtitle("Treatment effect on eight schools (Rubin, 1981)")
181182# ' }
182183# '
@@ -281,6 +282,8 @@ mcmc_intervals <- function(x,
281282
282283# ' @rdname MCMC-intervals
283284# ' @export
285+ # ' @param border_size For `mcmc_areas()` and `mcmc_areas_ridges()`, the size of
286+ # ' the ridgelines.
284287mcmc_areas <- function (x ,
285288 pars = character (),
286289 regex_pars = character (),
@@ -291,6 +294,7 @@ mcmc_areas <- function(x,
291294 prob_outer = 1 ,
292295 point_est = c(" median" , " mean" , " none" ),
293296 rhat = numeric (),
297+ border_size = NULL ,
294298 bw = NULL ,
295299 adjust = NULL ,
296300 kernel = NULL ,
@@ -371,6 +375,12 @@ mcmc_areas <- function(x,
371375 fill = NA
372376 )
373377
378+ if (! is.null(border_size )) {
379+ args_bottom $ size <- border_size
380+ args_outer $ size <- border_size
381+ args_inner $ size <- border_size
382+ }
383+
374384 if (color_by_rhat ) {
375385 args_bottom $ mapping <- args_bottom $ mapping %> %
376386 modify_aes_(color = ~ rhat_rating )
@@ -432,8 +442,8 @@ mcmc_areas <- function(x,
432442 scale_y_discrete(
433443 limits = unique(rev(data $ parameter )),
434444 expand = expansion(
435- add = c(0 , .5 + 1 / (2 * nlevels(data $ parameter ))),
436- mult = c(.1 , .1 )
445+ add = c(0 , 0 .5 + 1 / (2 * nlevels(data $ parameter ))),
446+ mult = c(0.05 , 1 / ( 2 * nlevels( data $ parameter )) )
437447 )
438448 ) +
439449 xlim(x_lim ) +
@@ -454,6 +464,7 @@ mcmc_areas_ridges <- function(x,
454464 ... ,
455465 prob_outer = 1 ,
456466 prob = 1 ,
467+ border_size = NULL ,
457468 bw = NULL , adjust = NULL , kernel = NULL ,
458469 n_dens = NULL ) {
459470 check_ignored_arguments(... )
@@ -484,6 +495,9 @@ mcmc_areas_ridges <- function(x,
484495 fill = NA ,
485496 stat = " identity"
486497 )
498+ if (! is.null(border_size )) {
499+ args_outer $ size <- border_size
500+ }
487501
488502 layer_outer <- do.call(ggridges :: geom_density_ridges , args_outer )
489503
@@ -522,14 +536,21 @@ mcmc_areas_ridges <- function(x,
522536 scale = scale ,
523537 stat = " identity" )
524538
539+ if (! is.null(border_size )) {
540+ args_inner $ size <- border_size
541+ }
542+
525543 layer_list_inner [[par_num ]] <- do.call(ggridges :: geom_ridgeline , args_inner )
526544 }
527545
528546 ggplot(datas $ outer ) +
529547 aes_(x = ~ x , y = ~ parameter ) +
530548 layer_outer +
531549 scale_y_discrete(limits = unique(rev(data $ parameter )),
532- expand = c(0.05 , .6 )) +
550+ expand = expansion(
551+ add = c(0 , 1.4 + 1 / (2 * nlevels(data $ parameter ))),
552+ mult = c(0.05 , 1 / (2 * nlevels(data $ parameter )))
553+ )) +
533554 layer_list_inner +
534555 layer_vertical_line +
535556 scale_fill_identity() +
0 commit comments