For "mid.breakdown" objects, ggmid()
visualizes the breakdown of a prediction by component functions.
Arguments
- object
a "mid.breakdown" object to be visualized.
- type
the plotting style. One of "waterfall", "barplot" or "dotchart".
- theme
a character string or object defining the color theme. See
color.theme
for details.- terms
an optional character vector specifying which terms to display.
- max.nterms
the maximum number of terms to display in the plot. Less important terms will be grouped into a "catchall" category.
- width
a numeric value specifying the width of the bars.
- vline
logical. If
TRUE
, a vertical line is drawn at the zero or intercept line.- catchall
a character string for the catchall label.
- format
a character string or character vector of length two to be used as the format of the axis labels. Use "%t" for the term name (e.g., "Wind") and "%v" for the values (e.g., "30").
- ...
optional parameters passed on to the main layer.
Details
This is an S3 method for the ggmid()
generic that creates a breakdown plot from a "mid.breakdown" object, visualizing the contribution of each component function to a single prediction.
The type
argument controls the visualization style.
The default, type = "waterfall"
(default), creates a waterfall plot that shows how the prediction is built up from the intercept, with each term's contribution sequentially added or subtracted.
The type = "barplot"
option creates a standard bar plot where the length of each bar represents the magnitude of the term's contribution.
The type = "dotchart"
option creates a dot plot showing the contribution of each term as a point connected to a zero baseline.
Examples
data(diamonds, package = "ggplot2")
set.seed(42)
idx <- sample(nrow(diamonds), 1e4)
mid <- interpret(price ~ (carat + cut + color + clarity)^2, diamonds[idx, ])
#> 'model' not passed: response variable in 'data' is used
mbd <- mid.breakdown(mid, diamonds[1L, ])
# Create a waterfall plot
ggmid(mbd, type = "waterfall")
# Create a bar plot with a different theme
ggmid(mbd, type = "barplot", theme = "highlight")
# Create a dot chart
ggmid(mbd, type = "dotchart", size = 3)