Plotting functions for posterior analysis, model checking, and MCMC diagnostics. The package is designed not only to provide convenient functionality for users, but also a common set of functions that can be easily used by developers working on a variety of R packages for Bayesian modeling, particularly (but not exclusively) packages interfacing with 'Stan'.

(GitHub issue/PR numbers in parentheses)

- New plotting function
`mcmc_parcoord()`

for parallel coordinates plots of MCMC draws (optionally including HMC/NUTS diagnostic information). (#108) `mcmc_scatter`

gains an`np`

argument for specifying NUTS parameters, which allows highlighting divergences in the plot. (#112)- New functions with names ending with suffix
`_data`

don't make the plots, they just return the data prepared for plotting (more of these to come in future releases):`ppc_intervals_data()`

(#101)`ppc_ribbon_data()`

(#101)`mcmc_parcoord_data()`

(#108)`mcmc_rhat_data()`

(#110)`mcmc_neff_data()`

(#110)

`ppc_stat_grouped()`

,`ppc_stat_freqpoly_grouped()`

gain a`facet_args`

argument for controlling**ggplot2**faceting (many of the`mcmc_`

functions already have this).- The
`divergences`

argument to`mcmc_trace()`

has been deprecated in favor of`np`

(NUTS parameters) to match the other functions that have an`np`

argument. - Fixed an issue where duplicated rhat values would break
`mcmc_rhat()`

(#105).

(GitHub issue/PR numbers in parentheses)

`bayesplot::theme_default`

is now set as the default ggplot2 plotting theme when**bayesplot**is loaded, which makes changing the default theme using`ggplot2::theme_set`

possible. Thanks to @gavinsimpson. (#87)`mcmc_hist`

and`mcmc_hist_by_chain`

now take a`freq`

argument that defaults to`TRUE`

(behavior is like`freq`

argument to R's`hist`

function).- Using a
`ts`

object for`y`

in PPC plots no longer results in an error. Thanks to @helske. (#94) `mcmc_intervals`

doesn't use round lineends anymore as they slightly exaggerate the width of the intervals. Thanks to @tjmahr. (#96)

(GitHub issue/PR numbers in parentheses)

A lot of new stuff in this release:

- Avoid error in some cases when
`divergences`

is specified in call to`mcmc_trace`

but there are not actually any divergent transitions. - The
`merge_chains`

argument to`mcmc_nuts_energy`

now defaults to`FALSE`

.

- For
`mcmc_*`

functions, transformations are recycled if`transformations`

argument is specified as a single function rather than a named list. Thanks to @tklebel. (#64) - For
`ppc_violin_grouped`

there is now the option of showing`y`

as a violin, points, or both. Thanks to @silberzwiebel. (#74) `color_scheme_get`

now has an optional argument`i`

for selecting only a subset of the colors.- New color schemes: darkgray, orange, viridis, viridisA, viridisB, viridisC. The viridis schemes are better than the other schemes for trace plots (the colors are very distinct from each other).

`mcmc_pairs`

, which is essentially a ggplot2+grid implementation of rstan's`pairs.stanfit`

method. (#67)`mcmc_hex`

, which is similar to`mcmc_scatter`

but using`geom_hex`

instead of`geom_point`

. This can be used to avoid overplotting. (#67)`overlay_function`

convenience function. Example usage: add a Gaussian (or any distribution) density curve to a plot made with`mcmc_hist`

.`mcmc_recover_scatter`

and`mcmc_recover_hist`

, which are similar to`mcmc_recover_intervals`

and compare estimates to "true" values used to simulate data. (#81, #83)- New PPC category
**Discrete**with functions:`ppc_rootogram`

for use with models for count data. Thanks to @paul-buerkner. (#28)`ppc_bars`

,`ppc_bars_grouped`

for use with models for ordinal, categorical and multinomial data. Thanks to @silberzwiebel. (#73)

- New PPC category
**LOO**(thanks to suggestions from @avehtari) with functions:`ppc_loo_pit`

for assessing the calibration of marginal predictions. (#72)`ppc_loo_intervals`

,`ppc_loo_ribbon`

for plotting intervals of the LOO predictive distribution. (#72)

(GitHub issue/PR numbers in parentheses)

- Images in vignettes should now render properly using
`png`

device. Thanks to TJ Mahr. (#51) `xaxis_title(FALSE)`

and`yaxis_title(FALSE)`

now set axis titles to`NULL`

rather than changing theme elements to`element_blank()`

. This makes it easier to add axis titles to plots that donâ€™t have them by default. Thanks to Bill Harris. (#53)

- Add argument
`divergences`

to`mcmc_trace`

function. For models fit using HMC/NUTS this can be used to display divergences as a rug at the bottom of the trace plot. (#42) - The
`stat`

argument for all`ppc_stat_*`

functions now accepts a function instead of only the name of a function. (#31)

`ppc_error_hist_grouped`

for plotting predictive errors by level of a grouping variable. (#40)`mcmc_recover_intervals`

for comparing MCMC estimates to "true" parameter values used to simulate the data. (#56)`bayesplot_grid`

for juxtaposing plots and enforcing shared axis limits. (#59)

- Initial CRAN release