Controlling Plot Aesthetics

Controlling plot aesthetics is very simple in dabestr. An integral part to the design of dabestr is to allow its users to freely adjust the various components of a DABEST estimation plot, allowing for the most ideal looking plot to be produced.

Getting started

At this point, we assume that you have already obtained the dabest_effectsize_obj. To add and adjust specific plot components, simply add it as a argument into the dabest_plot() function.

dabest_plot(
  dabest_effectsize_obj,
  float_contrast = TRUE,
  plot_component = "adjustment_value"
)

Adjusting Text

All text elements in the estimation plot can be adjusted. This includes the value, the size and even removal of the text elements completely.

Size

The following parameters are responsible for adjusting the size of the text elements.

  • swarm_x_text: Default 11. Numeric value determining the font size of the x-axis of the swarm plot.
  • swarm_y_text: Default 15. Numeric value determining the font size of the y-axis of the swarm plot.
  • contrast_x_text: Default 11. Numeric value determining the font size of the x-axis of the contrast plot.
  • contrast_y_text: Default 15. Numeric value determining the font size of the y-axis of the contrast plot.
dabest_plot(
  dabest_twogroup_obj.mean_diff,
  float_contrast = TRUE,
  swarm_x_text = 30,
  swarm_y_text = 1,
  contrast_x_text = 30,
  contrast_y_text = 5
)

Content

The following parameters are responsible for adjusting the content of the text elements.

  • swarm_label: Default “value” or “proportion of success” for proportion plots. Label for the y-axis of the swarm plot.
  • contrast_label: Default “effect size”, based on the effect sizes as given in effect_size(). Label for the y-axis of the contrast plot.
  • delta2_label: Default NULL. Label for the y-label for the delta-delta plot.
dabest_plot(
  dabest_twogroup_obj.mean_diff,
  float_contrast = TRUE,
  swarm_label = "I love estimation statistics.",
  contrast_label = "I love it more than you do!"
)

Adjusting Visual Elements

Visual elements refer to the shapes, lines, symbols or other visual representations that convey data and relationship in a plot. Many of these elements can be adjusted in dabestr.

Markers

The following parameters are responsible for adjusting the properties of various markers in the plot.

  • raw_marker_size Default 1.5. Numeric value determining the size of the points used in the swarm plot.
  • raw_marker_alpha Default 1. Numeric value determining the transparency of the points in the swarm plot.
  • raw_bar_width Default 0.3. Numeric value determining the width of the bar in the sankey diagram.
  • raw_marker_spread Default 2. The distance between the points if it is a swarm plot.
  • raw_marker_side_shift Default 0. The horizontal distance that the swarm plot points are moved in the direction of the asymmetric_side..
  • tufte_size Default 0.8. Numeric value determining the size of the tufte line in the swarm plot.
  • es_marker_size Default 0.5. Numeric value determining the size of the points used in the delta plot.
  • es_line_size Default 0.8. Numeric value determining the size of the ci line in the delta plot.
A <- dabest_plot(dabest_twogroup_obj.mean_diff,
  float_contrast = TRUE,
  swarm_label = "", contrast_label = "",
  raw_marker_size = 1, raw_marker_alpha = 1
)
B <- dabest_plot(dabest_twogroup_obj.mean_diff,
  float_contrast = TRUE,
  swarm_label = "", contrast_label = "",
  raw_marker_size = 2, raw_marker_alpha = 0.5
)

cowplot::plot_grid(
  plotlist = list(A, B),
  nrow = 1,
  ncol = 2,
  labels = "AUTO"
)

Axes

The following parameters are responsible for adjusting the y-axis limits for the rawdata axes and contrast axes of the plot. By adjusting the range, it gives rise to the effect of zooming in or out of the plot.

  • swarm_ylim Default NULL. Vector containing the y-limits for the swarm plot.
  • contrast_ylim Default NULL. Vector containing the y-limits for the delta plot.
  • delta2_ylim Default NULL. Vector containing the y-limits for the delta-delta plot.

If your effect size is qualitatively inverted (ie. a smaller value is a better outcome), you can invert the vector passed to contrast_ylim.

dabest_plot(dabest_multigroup_obj.mean_diff,
  float_contrast = FALSE,
  contrast_label = "More negative is better!",
  swarm_ylim = c(1, 5), contrast_ylim = c(0.7, -1.2)
)
#> Warning in get_plot_component(plot, "guide-box"): Multiple components found;
#> returning the first one. To return all, use `return_all = TRUE`.

Palettes

The following parameters are responsible for adjusting the plot palettes of the plot.

  • custom_palette Default “d3”. String. The following palettes are available for use: npg, aaas, nejm, lancet, jama, jco, ucscgb, d3, locuszoom, igv, cosmic, uchicago, brewer, ordinal, viridis_d.
npg <- dabest_plot(dabest_unpaired_props.mean_diff,
  swarm_label = "", contrast_label = "",
  custom_palette = "npg"
)
nejm <- dabest_plot(dabest_unpaired_props.mean_diff,
  swarm_label = "", contrast_label = "",
  custom_palette = "nejm"
)
jama <- dabest_plot(dabest_unpaired_props.mean_diff,
  swarm_label = "", contrast_label = "",
  custom_palette = "jama"
)
locuszoom <- dabest_plot(dabest_unpaired_props.mean_diff,
  swarm_label = "", contrast_label = "",
  custom_palette = "locuszoom"
)

cowplot::plot_grid(
  plotlist = list(npg, nejm, jama, locuszoom),
  nrow = 2,
  ncol = 2
)

Misc

  • sankey Default TRUE. Boolean value determining if the flows between the bar charts will be plotted.
dabest_plot(dabest_paired_props.mean_diff, sankey = FALSE, raw_bar_width = 0.15)
#> Warning in get_plot_component(plot, "guide-box"): Multiple components found;
#> returning the first one. To return all, use `return_all = TRUE`.

  • flow Default TRUE. Boolean value determining whether the bars will be plotted in pairs.
dabest_plot(dabest_paired_props.mean_diff, flow = FALSE, raw_bar_width = 0.15)
#> Warning in get_plot_component(plot, "guide-box"): Multiple components found;
#> returning the first one. To return all, use `return_all = TRUE`.

  • asymmetric_side Default “right”. Can be either “right” or “left”. Controls which side the swarm points are shown.
right <- dabest_plot(dabest_twogroup_obj.mean_diff,
  float_contrast = FALSE,
  swarm_label = "", contrast_label = "",
  asymmetric_side = "right"
)
#> Warning in get_plot_component(plot, "guide-box"): Multiple components found;
#> returning the first one. To return all, use `return_all = TRUE`.
left <- dabest_plot(dabest_twogroup_obj.mean_diff,
  float_contrast = FALSE,
  swarm_label = "", contrast_label = "",
  asymmetric_side = "left"
)
#> Warning in get_plot_component(plot, "guide-box"): Multiple components found;
#> returning the first one. To return all, use `return_all = TRUE`.

cowplot::plot_grid(
  plotlist = list(right, left),
  nrow = 1,
  ncol = 2
)

  • show_delta2 Default FALSE. Boolean value determining if the delta-delta plot is shown.
  • show_mini_meta Default FALSE. Boolean value determining if the weighted average plot is shown. If False, the resulting graph would be identical to a multiple two-groups plot.
  • show_zero_dot Default TRUE. Boolean value determining if there is a dot on the zero line of the effect size for the control-control group.
  • show_baseline_ec Default FALSE. Boolean value determining whether the baseline curve is shown.
dabest_plot(dabest_multigroup_obj.mean_diff,
  float_contrast = FALSE,
  show_baseline_ec = TRUE
)
#> Warning in get_plot_component(plot, "guide-box"): Multiple components found;
#> returning the first one. To return all, use `return_all = TRUE`.