Dot-and-Whisker Plots of Regression Results

Quick and easy dot-and-whisker plots of regression results.


dwplot is a function for quickly and easily generating dot-and-whisker plots of regression models saved in tidy data frames. It provides a convenient way to create highly customizable plot for presenting and comparing statistics. Users can use it to plot coefficients or other estimates (e.g., predicted probabilities) within a model or compare them across different models. The estimates are presented as dots with confidential interval whiskers, and grouped based on variables.

To install:

  • the latest released version: install.packages("dotwhisker").
  • the latest developing version: devtools::install_github("fsolt/dotwhisker").

More detail are introducted at:


Version 0.3.0

  1. Rewrote the plotting functions based on the ggstance functions. The new dwplot allows cooperating with more ggplot functions, such as facet_*.
  2. Drew whiskers based on the CI estimates directly from the model output. See more details in tidy.lm and confint.
  3. Clarified the description of by_2sd.

Version 0.2.6

  1. Fixed the bug in relabel_predictors.

Version 0.2.5

  1. Expanded capabilities of relabel_predictors. relabel_predictors now accepts plots as well as tidy dataframes as input; that is, it may now be used both before and after calls to dwplot.
  2. Deprecated relabel_y_axis. It is easy to mistakenly mislabel variables with relabel_y_axis, and it has a conflict with add_brackets in single-model plots.
  3. Provided example of using multiple shapes for multiple models in vignette.
  4. dwplot works for polr projects.

Version 0.2.4

  1. Improved the presentation of small_multiple.

Version 0.2.3

  1. Fixed the error of variable ordering with a single model.

Version 0.2.2

  1. Fixed the error in presenting multiple models.

Version 0.2.1

  1. Fixed the error due to the update of dplyr::group_by
  2. Fixing the errors in vignette.
  3. Adding the show_intercept argument.
  4. Shorten the version number to three digits as devtools suggests.


  1. Fixed the error due to the update of gridExtra.
  2. Fixed the error due to the update of ggplot2.


  1. Fixed presenting error in multilevel models (#44)


  1. Fixed the link error in kl2007_example.Rmd.


  1. Improving the vignette.
  2. The function works for ggplot2 2.0.0.


  1. Fixed the error in the vignette.


  1. Allowing directly using model objects besides tidy data.frame.
  2. Adding two new special plotting functions: secret_weapon and small_multiple.
  3. Adding two graph adjusting functions: relabel_predictor and relabel_y_axis.

More details about the new functions are available in the vignette.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


0.4.1 by Frederick Solt, 2 months ago

Report a bug at

Browse source code at

Authors: Frederick Solt [aut, cre], Yue Hu [aut], Oliver Keyes [ctb], Ben Bolker [ctb], Stefan Müller [ctb]

Documentation:   PDF Manual  

MIT + file LICENSE license

Imports grid, stats, broom, dplyr, stringr, ggstance, rlang, purrr, gtable

Depends on ggplot2

Suggests mfx, ordinal, tibble, gridExtra, knitr, rmarkdown

See at CRAN