bayesplot 1.5.0 2018-03-30

(GitHub issue/PR numbers in parentheses)

  • New package documentation website:

  • Two new plots that visualize posterior density using ridgelines. These work well when parameters have similar values and similar densities, as in hierarchical models. (#104)
    • mcmc_dens_chains() draws the kernel density of each sampling chain.
    • mcmc_areas_ridges() draws the kernel density combined across chains.
    • Both functions have a _data() function to return the data plotted by each function.
  • mcmc_intervals() and mcmc_areas() have been rewritten. (#103)
    • They now use a discrete y-axis. Previously, they used a continuous scale with numeric breaks relabelled with parameter names; this design
      caused some unexpected behavior when customizing these plots.
    • mcmc_areas() now uses geoms from the ggridges package to draw density curves.
  • Added mcmc_intervals_data() and mcmc_areas_data() that return data plotted by mcmc_intervals() and mcmc_areas(). Similarly, ppc_data() returns data plotted ppc_hist() and other ppc plot. (Advances #97)

  • Added ppc_loo_pit_overlay() function for a better LOO PIT predictive check. (#123)

  • Started using vdiffr to add visual unit tests to the existing PPC unit tests. (#137)

bayesplot 1.4.0 2017-09-12

(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_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).

bayesplot 1.3.0 2017-08-07

(GitHub issue/PR numbers in parentheses)

bayesplot 1.2.0 2017-04-12

A lot of new stuff in this release. (GitHub issue/PR numbers in parentheses)


  • 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.

New features in existing functions

  • 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).

New functions

bayesplot 1.1.0 2016-12-20

(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)

New features in existing functions

  • 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)

New functions

  • 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)

bayesplot 1.0.0 2016-11-18

Initial CRAN release