Skip to contents

This function produces a plot comparing modelled and measured concentrations. For long-term data, a traditional scatter plot of observed vs modelled concentrations is plotted with a shaded area showing the acceptability range and dashed boundaries showing the maximum accepted measurement uncertainty. For short-term data, a 'bullseye' scatter plot is plotted showing two complementary performance indicators with a shaded area showing the MQO fulfilment area and a dashed boundary showing the maximum accepted measurement uncertainty.

Usage

plot_mqi_scatter(
  stats,
  stats2 = NULL,
  show_dashed = FALSE,
  show_annotations = TRUE,
  color_fixed = "#4269D0",
  color_indicative = "#EFB118",
  color_outline = "black",
  censor = 2,
  interactive = FALSE,
  gp = grid::gpar(fontsize = 10)
)

Arguments

stats, stats2

The output of summarise_mqo_stats(). All relevant information (e.g., term, params_fixed, etc.) will be passed to this function from the statistics object. stats is compulsory and stats2 optional. If both are provided, stats and stats2 should be different terms (one short and one long). In that case, short-term stats are plotted preferentially but the long-term stats will be annotated if show_annotations = TRUE.

show_dashed

Should extra dashed lines be shown on the figures? These show the maximum accepted measurement uncertainty, but can overcrowd the plotting area.

show_annotations

Should the figure be annotated with input parameters and complementary performance indicators? These are useful extra detail, but can overcrowd the plotting area.

color_fixed, color_indicative, color_outline

The colours to use for fixed data, indicative data, and any another annotations. Can be expressed as hex codes, or any colours listed in colors().

censor

For short-term data (the bullseye chart), the maximum value to extend axes to. The default, 2, extends the x- and y-axes from -2 to 2, with any values greater than 2 constrained to 2 and any values less than -2 constrained to -2. If NULL, the plot will extend to the full range of values.

interactive

If FALSE, the default, a static ggplot2 graphic will be returned which can be saved as a PNG, SVG, or other similar format. If TRUE, a dynamic HTML widget will be returned created by plotly.

gp

A grid::gpar() object passed to grid::textGrob(), used to control the appearance of the parameter & indicator annotations when show_annotations = TRUE. fontsize is likely the most useful argument, but many options are available through grid::gpar(). Only the fontsize argument is used when interactive = TRUE.

Author

Jack Davison

Examples

long <- summarise_mqo_stats(demo_longterm, pollutant = "PM10")
#> ! term assumed to be 'long'.
#>  If this is incorrect, please specify the data's term using the term argument.
#> 
#> ! Using fixed long-term annual pm10 parameters.
#>  If this is incorrect, please use `mqor::mqo_params()` or
#>   `mqor::mqo_params_default()` to construct a parameter set.
#> 

short <- summarise_mqo_stats(demo_shortterm, pollutant = "PM10")
#> ! term assumed to be 'short'.
#>  If this is incorrect, please specify the data's term using the term argument.
#> 
#> ! Using fixed short-term daily pm10 parameters.
#>  If this is incorrect, please use `mqor::mqo_params()` or
#>   `mqor::mqo_params_default()` to construct a parameter set.
#> 

plot_mqi_scatter(short, interactive = TRUE)
plot_mqi_scatter(short, long, interactive = TRUE)
plot_mqi_scatter(long, interactive = TRUE)