A generic plot-method for ggeffects-objects.

# S3 method for ggeffects
  ci = TRUE,
  ci.style = c("ribbon", "errorbar", "dash", "dot"),
  add.data = FALSE,
  limit.range = FALSE,
  residuals = FALSE,
  residuals.line = FALSE,
  colors = "Set1",
  alpha = 0.15,
  dodge = 0.25,
  use.theme = TRUE,
  dot.alpha = 0.35,
  jitter = 0.2,
  log.y = FALSE,
  case = NULL,
  show.legend = TRUE,
  show.title = TRUE,
  show.x.title = TRUE,
  show.y.title = TRUE,
  dot.size = NULL,
  line.size = NULL,
  connect.lines = FALSE,
  one.plot = TRUE,

theme_ggeffects(base_size = 11, base_family = "")




An object of class ggeffects, as returned by the functions from this package.


Logical, if TRUE, confidence bands (for continuous variables at x-axis) resp. error bars (for factors at x-axis) are plotted.


Character vector, indicating the style of the confidence bands. May be either "ribbon", "errorbar", "dash" or "dot", to plot a ribbon, error bars, or dashed or dotted lines as confidence bands.

facets, grid

Logical, defaults to TRUE, if x has a column named facet, and defaults to FALSE, if x has no such column. Set facets = TRUE to wrap the plot into facets even for grouping variables (see 'Examples'). grid is an alias for facets.

add.data, rawdata

Logical, if TRUE, a layer with raw data from response by predictor on the x-axis, plotted as point-geoms, is added to the plot.


Logical, if TRUE, limits the range of the prediction bands to the range of the data.


Logical, if TRUE, a layer with partial residuals is added to the plot. See vignette "Effect Displays with Partial Residuals" from effects for more details on partial residual plots.


Logical, if TRUE, a loess-fit line is added to the partial residuals plot. Only applies if residuals is TRUE.


Character vector with color values in hex-format, valid color value names (see demo("colors")) or a name of a ggeffects-color-palette. Following options are valid for colors:

  • If not specified, the color brewer palette "Set1" will be used.

  • If "gs", a greyscale will be used.

  • If "bw", the plot is black/white and uses different line types to distinguish groups.

  • There are some pre-defined color-palettes in this package that can be used, e.g. colors = "metro". See show_pals() to show all available palettes.

  • Else specify own color values or names as vector (e.g. colors = c("#f00000", "#00ff00")).


Alpha value for the confidence bands.


Value for offsetting or shifting error bars, to avoid overlapping. Only applies, if a factor is plotted at the x-axis (in such cases, the confidence bands are replaced by error bars automatically), or if ci.style = "errorbars".


Logical, if TRUE, a slightly tweaked version of ggplot's minimal-theme, theme_ggeffects(), is applied to the plot. If FALSE, no theme-modifications are applied.


Alpha value for data points, when add.data = TRUE.


Numeric, between 0 and 1. If not NULL and add.data = TRUE, adds a small amount of random variation to the location of data points dots, to avoid overplotting. Hence the points don't reflect exact values in the data. May also be a numeric vector of length two, to add different horizontal and vertical jittering. For binary outcomes, raw data is not jittered by default to avoid that data points exceed the axis limits.


Logical, if TRUE, the y-axis scale is log-transformed. This might be useful for binomial models with predicted probabilities on the y-axis.


Desired target case. Labels will automatically converted into the specified character case. See ?sjlabelled::convert_case for more details on this argument.


Logical, shows or hides the plot legend.


Logical, shows or hides the plot title-


Logical, shows or hides the plot title for the x-axis.


Logical, shows or hides the plot title for the y-axis.


Numeric, size of the point geoms.


Numeric, size of the line geoms.


Logical, if TRUE and plot has point-geoms with error bars (this is usually the case when the x-axis is discrete), points of same groups will be connected with a line.


Logical, if TRUE and x has a panel column (i.e. when four terms were used), a single, integrated plot is produced.


Deprecated. Formally was the residual type. Now is always "working".


Further arguments passed down to ggplot::scale_y*(), to control the appearance of the y-axis.


Base font size.


Base font family.


A ggplot2-object.


For proportional odds logistic regression (see ?MASS::polr) or cumulative link models in general, plots are automatically facetted by response.level, which indicates the grouping of predictions based on the level of the model's response.


Load library(ggplot2) and use theme_set(theme_ggeffects()) to set the ggeffects-theme as default plotting theme. You can then use further plot-modifiers from sjPlot, like legend_style() or font_size() without losing the theme-modifications.

There are pre-defined colour palettes in this package. Use show_pals() to show all available colour palettes.

Partial Residuals

For generalized linear models (glms), residualized scores are computed as inv.link(link(Y) + r) where Y are the predicted values on the response scale, and r are the working residuals.

For (generalized) linear mixed models, the random effect are also partialled out.


library(sjlabelled) data(efc) efc$c172code <- as_label(efc$c172code) fit <- lm(barthtot ~ c12hour + neg_c_7 + c161sex + c172code, data = efc) dat <- ggpredict(fit, terms = "c12hour") plot(dat)
# \donttest{ # facet by group, use pre-defined color palette dat <- ggpredict(fit, terms = c("c12hour", "c172code")) plot(dat, facet = TRUE, colors = "hero")
# don't use facets, b/w figure, w/o confidence bands dat <- ggpredict(fit, terms = c("c12hour", "c172code")) plot(dat, colors = "bw", ci = FALSE)
# factor at x axis, plot exact data points and error bars dat <- ggpredict(fit, terms = c("c172code", "c161sex")) plot(dat)
# for three variables, automatic facetting dat <- ggpredict(fit, terms = c("c12hour", "c172code", "c161sex")) plot(dat)# }
# show all color palettes show_pals()