The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Maraca Plots - Themes and Styling

Monika Huhn

2024-03-18

In order to give the user more options in styling their plot, we have added a theme argument to the plotting functions. This vignette gives an overview over the different options.

Let us first read in some data and prepare for plotting:

library(maraca)

data(hce_scenario_a)

maraca_dat <- maraca(
  data = hce_scenario_a,
  step_outcomes = c("Outcome I", "Outcome II", "Outcome III", "Outcome IV"),
  last_outcome = "Continuous outcome",
  fixed_followup_days = 3 * 365,
  column_names = c(outcome = "GROUP", arm = "TRTP", value = "AVAL0"),
  arm_levels = c(active = "Active", control = "Control"),
  compute_win_odds = TRUE
)

Default themes

By default, the plotting functions are using a theme called “maraca”. It is implicitly called so you do not have to specify the argument theme = "maraca".

plot(maraca_dat)

The default maraca theme adds an x- and y-axis label and angels the x-axis text for better readability. It also uses the theme “bw” of the ggplot2 package. The plot colors are not styled in the default maraca theme. We include 2 different color themes by default for the users convenience, theme = "color1" and theme = "color2".

plot(maraca_dat, theme = "color1")

plot(maraca_dat, theme = "color2")

We kept the previous default styling of the maraca package as its own theme, theme = "maraca_old"

plot(maraca_dat, theme = "maraca_old")

If you want to completely style your code by yourself, remove any of the extra styling with theme = "none".

plot(maraca_dat, theme = "none")

Extending themes

The maraca plot is an ggplot2 object that can be styled by adding extra styling layers, such as any ggplot2 plot.

For example, using the theme = "none" styling, we can add manually the angle of the x-axis labels, remove axis texts and style with differnt colors.

library(ggplot2)

p <- plot(maraca_dat, theme = "none")

p <- p +
  theme(
    legend.position = "bottom",
    axis.text.x.bottom = element_text(
      angle = 90,
      vjust = 0.5,
      hjust = 1
    ),
    axis.title.x = element_blank(),
    axis.title.y = element_blank()
  ) +
  scale_color_viridis_d(end = 0.8) +
  scale_fill_viridis_d(end = 0.8)

p

If you want to use your own color scheme on the plots, the easiest way is to use the default styling theme = "maraca" and then add the colors as an extra layer.

p <- plot(maraca_dat)

colorScheme <- c("Active" = "steelblue", "Control" = "seagreen3")

p <- p +
  scale_color_manual(values = colorScheme) +
  scale_fill_manual(values = colorScheme)

p

Note that the numeric x-axis labels for the continuous endpoint part of the plot are actually text labels on the plot and cannot be directly changed using the ggplot2 theme() function.

The user has 2 ways of changing these labels. One is to overwrite the default text size for the plot. Do not forget to reset the default text size afterwards for further plotting.

keep_default <- GeomLabel$default_aes$size

# Changing default text size for the plot
update_geom_defaults("text", list(size = 3))

plot(maraca_dat)


# Make sure to change defaults back to default for new plots
update_geom_defaults("text", list(size = keep_default))

Alternatively, the user can use the parameter continuous_grid_spacing_x in the plot() function for maraca objects to create more or less grid lines and labels.

plot(maraca_dat, continuous_grid_spacing_x = 20)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.