geom_slabinterval()family geoms when using
position_dodge()is now slightly different in order to match up with how other geoms are positioned (#85). This may slightly change existing charts that use
position = "dodge", and in some cases may cause slabs to be drawn slightly outside plot boundaries, but makes it much easier to combine
geom_slabinterval()with other geoms in the expected way. If dodging more similar to the old approach is needed, use the new “justification-preserving dodge”,
position_dodgejust(), in place of
scalecan now be used as aesthetics instead of parameters, allowing them to vary across slabs within the same geom.
fills within a slab in
geom_slabinterval()can now be drawn as true gradients rather than segmented polygons in R >= 4.1 by setting
fill_type = "gradient". This substantially improves the appearance of gradient fills in graphics engines that support it (#44).
stat_dist_slabinterval()and company now detect discrete distributions and display them as histograms (#19).
geom_dotsinterval()now adjusts bin widths on discrete distributions when they would result in bins that are taller than the allocated space to ensure that they fit within the required space (#42).
geom_dotsinterval()bin width by passing a vector of two values to the
geom_dotsinterval()has been factored out and exported as
bin_dots()for others to use (#77).
curve_interval()used a common (but naive) approach to finding a cutoff on data depth to identify the X% “deepest” curves, simply taking the envelope around the X% quantile of curves ranked by depth. This is quite conservative and tends to create intervals that are too wide;
curve_interval()now searches for a cutoff in data depth such that X% of curves are contained within its envelope (#67).
point_interval()and company now accept
posterior::rvar()s (full support for
Substantial improvements to the documentation of aesthetics and computed variables in
stat_slabinterval(), and company, listing all custom aesthetics, computed variables, and their usage.
Several new examples in
vignette("slabinterval"), including “rain cloud” plots and an example of histograms for discrete analytical distributions.
"swarm"layouts for dots geoms (#64). These provide alternative layouts that keep datapoints in their actual positions on the data axis. The
"weave"layout maintains rows but not columns and works well for quantile dotplots; the
"swarm"layout uses the
beeswarm::beeswarm()(courtesy James Trimble) and works well on sample data. See the dotplot section of
unit()to specify bin widths manually for dots geoms and stats, which can be helpful when you need dotplots across facets to have the same bin width (#53).
cdfcomputed variables for the
stat_sample_slabinterval()subfamily. See new examples of usage in the last section of
cut_cdf_qi()for creating (amongst other things) interval-filled halfeyes, in the style of
geom_lineribbon()families, making it easier to separate group colors from interval/density/CDF colors. See new examples in
interval_size_rangeargument in docs (#35)
New features and documentation:
curve_interval()for generating curvewise (joint) intervals for curve boxplots (#22)
stat_dist_...geoms now calculate
cdfcolumns to allow mashup geoms that involve both functions, such as Correll-style gradient plots combined with violins, as in Helske et al. (#11).
stat_dist_...geoms should now work with
se_fit = FALSE.
vignette("freq-uncertainty-vis"). Tidybayes will retain all other functions, and will re-export all
ggdistfunctions for now.
h-suffix geoms are now deprecated. Those geoms have been left in
tidybayesand give a deprecation warning when used; they cannot be used from
geom_lineribbon()no longer automatically set the
.upperare present in the data. This allows them to work better with automatic orientation detection (and was a bad feature to have existed in the first place anyway). The deprecated
tidybayes::geom_pointintervalh()still automatically set those aesthetics, since they are deprecated anyway (so supporting the old behavior is fine in these functions).
stat_lineribbon()now supports a
stepargument for creating stepped lineribbons. H/T to Solomon Kurz for the suggestion.
ggdistnow has its own implementation of the scaled and shifted Student’s t distribution (
qstudent_t(), etc), since it is very useful for visualizing confidence distributions.