<!-- Generated by pkgdown: do not edit by hand --><htmllang="en"><head><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"><metacharset="utf-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width, initial-scale=1, shrink-to-fit=no"><title>Plotting Helpers for AMR Data Analysis — plot • AMR (for R)</title><!-- favicons --><linkrel="icon"type="image/png"sizes="16x16"href="../favicon-16x16.png"><linkrel="icon"type="image/png"sizes="32x32"href="../favicon-32x32.png"><linkrel="apple-touch-icon"type="image/png"sizes="180x180"href="../apple-touch-icon.png"><linkrel="apple-touch-icon"type="image/png"sizes="120x120"href="../apple-touch-icon-120x120.png"><linkrel="apple-touch-icon"type="image/png"sizes="76x76"href="../apple-touch-icon-76x76.png"><linkrel="apple-touch-icon"type="image/png"sizes="60x60"href="../apple-touch-icon-60x60.png"><scriptsrc="../deps/jquery-3.6.0/jquery-3.6.0.min.js"></script><metaname="viewport"content="width=device-width, initial-scale=1, shrink-to-fit=no"><linkhref="../deps/bootstrap-5.3.1/bootstrap.min.css"rel="stylesheet"><scriptsrc="../deps/bootstrap-5.3.1/bootstrap.bundle.min.js"></script><linkhref="../deps/Lato-0.4.9/font.css"rel="stylesheet"><linkhref="../deps/Fira_Code-0.4.9/font.css"rel="stylesheet"><linkhref="../deps/font-awesome-6.5.2/css/all.min.css"rel="stylesheet"><linkhref="../deps/font-awesome-6.5.2/css/v4-shims.min.css"rel="stylesheet"><scriptsrc="../deps/headroom-0.11.0/headroom.min.js"></script><scriptsrc="../deps/headroom-0.11.0/jQuery.headroom.min.js"></script><scriptsrc="../deps/bootstrap-toc-1.0.1/bootstrap-toc.min.js"></script><scriptsrc="../deps/clipboard.js-2.0.11/clipboard.min.js"></script><scriptsrc="../deps/search-1.0.0/autocomplete.jquery.min.js"></script><scriptsrc="../deps/search-1.0.0/fuse.min.js"></script><scriptsrc="../deps/search-1.0.0/mark.min.js"></script><!-- pkgdown --><scriptsrc="../pkgdown.js"></script><linkhref="../extra.css"rel="stylesheet"><scriptsrc="../extra.js"></script><metaproperty="og:title"content="Plotting Helpers for AMR Data Analysis — plot"><metaname="description"content="Functionstoplotclassessir,micanddisk,withsupportforbaseRandggplot2.
Especially the scale_*_mic() functions are relevant wrappers to plot MIC values for ggplot2. They allows custom MIC ranges and to plot intermediate log2 levels for missing MIC values."><metaproperty="og:description"content="Functionstoplotclassessir,micanddisk,withsupportforbaseRandggplot2.
Especially the scale_*_mic() functions are relevant wrappers to plot MIC values for ggplot2. They allows custom MIC ranges and to plot intermediate log2 levels for missing MIC values."><metaproperty="og:image"content="https://msberends.github.io/AMR/logo.svg"></head><body>
<buttonclass="nav-link dropdown-toggle"type="button"id="dropdown-how-to"data-bs-toggle="dropdown"aria-expanded="false"aria-haspopup="true"><spanclass="fa fa-question-circle"></span> How to</button>
<ulclass="dropdown-menu"aria-labelledby="dropdown-how-to"><li><aclass="dropdown-item"href="../articles/AMR.html"><spanclass="fa fa-directions"></span> Conduct AMR Analysis</a></li>
<li><aclass="dropdown-item"href="../articles/AMR_with_tidymodels.html"><spanclass="fa fa-square-root-variable"></span> Use AMR for Predictive Modelling (tidymodels)</a></li>
<p>Functions to plot classes <code>sir</code>, <code>mic</code> and <code>disk</code>, with support for base <spanstyle="R">R</span> and <code>ggplot2</code>.</p>
<p>Especially the <code>scale_*_mic()</code> functions are relevant wrappers to plot MIC values for <code>ggplot2</code>. They allows custom MIC ranges and to plot intermediate log2 levels for missing MIC values.</p>
<span> main <spanclass="op">=</span><spanclass="fu"><ahref="https://rdrr.io/r/base/deparse.html"class="external-link">deparse</a></span><spanclass="op">(</span><spanclass="fu"><ahref="https://rdrr.io/r/base/substitute.html"class="external-link">substitute</a></span><spanclass="op">(</span><spanclass="va">x</span><spanclass="op">)</span><spanclass="op">)</span>,</span>
<span> ylab <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">translate_AMR</a></span><spanclass="op">(</span><spanclass="st">"Frequency"</span>, language <spanclass="op">=</span><spanclass="va">language</span><spanclass="op">)</span>,</span>
<span> xlab <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">translate_AMR</a></span><spanclass="op">(</span><spanclass="st">"Minimum Inhibitory Concentration (mg/L)"</span>, language <spanclass="op">=</span><spanclass="va">language</span><spanclass="op">)</span>,</span>
<span> language <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">get_AMR_locale</a></span><spanclass="op">(</span><spanclass="op">)</span>,</span>
<span> title <spanclass="op">=</span><spanclass="fu"><ahref="https://rdrr.io/r/base/deparse.html"class="external-link">deparse</a></span><spanclass="op">(</span><spanclass="fu"><ahref="https://rdrr.io/r/base/substitute.html"class="external-link">substitute</a></span><spanclass="op">(</span><spanclass="va">object</span><spanclass="op">)</span><spanclass="op">)</span>,</span>
<span> ylab <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">translate_AMR</a></span><spanclass="op">(</span><spanclass="st">"Frequency"</span>, language <spanclass="op">=</span><spanclass="va">language</span><spanclass="op">)</span>,</span>
<span> xlab <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">translate_AMR</a></span><spanclass="op">(</span><spanclass="st">"Minimum Inhibitory Concentration (mg/L)"</span>, language <spanclass="op">=</span><spanclass="va">language</span><spanclass="op">)</span>,</span>
<span> language <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">get_AMR_locale</a></span><spanclass="op">(</span><spanclass="op">)</span>,</span>
<span> main <spanclass="op">=</span><spanclass="fu"><ahref="https://rdrr.io/r/base/deparse.html"class="external-link">deparse</a></span><spanclass="op">(</span><spanclass="fu"><ahref="https://rdrr.io/r/base/substitute.html"class="external-link">substitute</a></span><spanclass="op">(</span><spanclass="va">x</span><spanclass="op">)</span><spanclass="op">)</span>,</span>
<span> ylab <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">translate_AMR</a></span><spanclass="op">(</span><spanclass="st">"Frequency"</span>, language <spanclass="op">=</span><spanclass="va">language</span><spanclass="op">)</span>,</span>
<span> xlab <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">translate_AMR</a></span><spanclass="op">(</span><spanclass="st">"Disk diffusion diameter (mm)"</span>, language <spanclass="op">=</span><spanclass="va">language</span><spanclass="op">)</span>,</span>
<span> language <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">get_AMR_locale</a></span><spanclass="op">(</span><spanclass="op">)</span>,</span>
<span> mo <spanclass="op">=</span><spanclass="cn">NULL</span>,</span>
<span> ab <spanclass="op">=</span><spanclass="cn">NULL</span>,</span>
<span> title <spanclass="op">=</span><spanclass="fu"><ahref="https://rdrr.io/r/base/deparse.html"class="external-link">deparse</a></span><spanclass="op">(</span><spanclass="fu"><ahref="https://rdrr.io/r/base/substitute.html"class="external-link">substitute</a></span><spanclass="op">(</span><spanclass="va">object</span><spanclass="op">)</span><spanclass="op">)</span>,</span>
<span> ylab <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">translate_AMR</a></span><spanclass="op">(</span><spanclass="st">"Frequency"</span>, language <spanclass="op">=</span><spanclass="va">language</span><spanclass="op">)</span>,</span>
<span> xlab <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">translate_AMR</a></span><spanclass="op">(</span><spanclass="st">"Disk diffusion diameter (mm)"</span>, language <spanclass="op">=</span><spanclass="va">language</span><spanclass="op">)</span>,</span>
<span> language <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">get_AMR_locale</a></span><spanclass="op">(</span><spanclass="op">)</span>,</span>
<span> ylab <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">translate_AMR</a></span><spanclass="op">(</span><spanclass="st">"Percentage"</span>, language <spanclass="op">=</span><spanclass="va">language</span><spanclass="op">)</span>,</span>
<span> xlab <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">translate_AMR</a></span><spanclass="op">(</span><spanclass="st">"Antimicrobial Interpretation"</span>, language <spanclass="op">=</span><spanclass="va">language</span><spanclass="op">)</span>,</span>
<span> main <spanclass="op">=</span><spanclass="fu"><ahref="https://rdrr.io/r/base/deparse.html"class="external-link">deparse</a></span><spanclass="op">(</span><spanclass="fu"><ahref="https://rdrr.io/r/base/substitute.html"class="external-link">substitute</a></span><spanclass="op">(</span><spanclass="va">x</span><spanclass="op">)</span><spanclass="op">)</span>,</span>
<span> language <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">get_AMR_locale</a></span><spanclass="op">(</span><spanclass="op">)</span>,</span>
<span> title <spanclass="op">=</span><spanclass="fu"><ahref="https://rdrr.io/r/base/deparse.html"class="external-link">deparse</a></span><spanclass="op">(</span><spanclass="fu"><ahref="https://rdrr.io/r/base/substitute.html"class="external-link">substitute</a></span><spanclass="op">(</span><spanclass="va">object</span><spanclass="op">)</span><spanclass="op">)</span>,</span>
<span> xlab <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">translate_AMR</a></span><spanclass="op">(</span><spanclass="st">"Antimicrobial Interpretation"</span>, language <spanclass="op">=</span><spanclass="va">language</span><spanclass="op">)</span>,</span>
<span> ylab <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">translate_AMR</a></span><spanclass="op">(</span><spanclass="st">"Frequency"</span>, language <spanclass="op">=</span><spanclass="va">language</span><spanclass="op">)</span>,</span>
<span> language <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">get_AMR_locale</a></span><spanclass="op">(</span><spanclass="op">)</span>,</span>
<span> language <spanclass="op">=</span><spanclass="fu"><ahref="translate.html">get_AMR_locale</a></span><spanclass="op">(</span><spanclass="op">)</span>,</span>
<dd><p>a <ahref="https://rdrr.io/r/base/character.html"class="external-link">character</a> specifying how to handle operators (such as <code>></code> and <code><=</code>) in the input. Accepts one of three values: <code>"all"</code> (or <code>TRUE</code>) to keep all operators, <code>"none"</code> (or <code>FALSE</code>) to remove all operators, or <code>"edges"</code> to keep operators only at both ends of the range.</p></dd>
<dd><p>a manual range to limit the MIC values, e.g., <code>mic_range = c(0.001, 32)</code>. Use <code>NA</code> to set no limit on one side, e.g., <code>mic_range = c(NA, 32)</code>.</p></dd>
<dd><p>a <ahref="https://rdrr.io/r/base/logical.html"class="external-link">logical</a> to remove intermediate MIC values, defaults to <code>FALSE</code></p></dd>
<dd><p>values created with <code><ahref="as.mic.html">as.mic()</a></code>, <code><ahref="as.disk.html">as.disk()</a></code> or <code><ahref="as.sir.html">as.sir()</a></code> (or their <code>random_*</code> variants, such as <code><ahref="random.html">random_mic()</a></code>)</p></dd>
<dd><p>colours to use for filling in the bars, must be a vector of three values (in the order S, I and R). The default colours are colour-blind friendly.</p></dd>
<dd><p>language to be used to translate 'Susceptible', 'Increased exposure'/'Intermediate' and 'Resistant' - the default is system language (see <code><ahref="translate.html">get_AMR_locale()</a></code>) and can be overwritten by setting the package option <code><ahref="AMR-options.html">AMR_locale</a></code>, e.g. <code>options(AMR_locale = "de")</code>, see <ahref="translate.html">translate</a>. Use <code>language = NULL</code> or <code>language = ""</code> to prevent translation.</p></dd>
<dd><p>a <ahref="https://rdrr.io/r/base/logical.html"class="external-link">logical</a> to indicate whether the range on the x axis should be expanded between the lowest and highest value. For MIC values, intermediate values will be factors of 2 starting from the highest MIC value. For disk diameters, the whole diameter range will be filled.</p></dd>
<dd><p>a <ahref="https://rdrr.io/r/base/logical.html"class="external-link">logical</a> to indicate that PK/PD clinical breakpoints must be applied as a last resort - the default is <code>TRUE</code>. Can also be set with the package option <code><ahref="AMR-options.html">AMR_include_PKPD</a></code>.</p></dd>
<dd><p>the type of breakpoints to use, either "ECOFF", "animal", or "human". ECOFF stands for Epidemiological Cut-Off values. The default is <code>"human"</code>, which can also be set with the package option <code><ahref="AMR-options.html">AMR_breakpoint_type</a></code>. If <code>host</code> is set to values of veterinary species, this will automatically be set to <code>"animal"</code>.</p></dd>
<dd><p>a <ahref="https://rdrr.io/r/base/numeric.html"class="external-link">numeric</a> vector of length two providing limits of the scale, use <code>NA</code> to refer to the existing minimum or maximum</p></dd>
<dd><p>aesthetics to apply the colours to - the default is "fill" but can also be (a combination of) "alpha", "colour", "fill", "linetype", "shape" or "size"</p></dd>
<dd><p>a column name of the <ahref="antibiotics.html">antibiotics</a> data set to translate the antibiotic abbreviations to, using <code><ahref="ab_property.html">ab_property()</a></code></p></dd>
<dd><p>the minimum allowed number of available (tested) isolates. Any isolate count lower than <code>minimum</code> will return <code>NA</code> with a warning. The default number of <code>30</code> isolates is advised by the Clinical and Laboratory Standards Institute (CLSI) as best practice, see <em>Source</em>.</p></dd>
<dd><p>a <ahref="https://rdrr.io/r/base/logical.html"class="external-link">logical</a> to indicate whether all values of S, SDD, and I must be merged into one, so the output only consists of S+SDD+I vs. R (susceptible vs. resistant) - the default is <code>TRUE</code></p></dd>
<p>The <code><ahref="https://ggplot2.tidyverse.org/reference/autoplot.html"class="external-link">autoplot()</a></code> functions return a <code><ahref="https://ggplot2.tidyverse.org/reference/ggplot.html"class="external-link">ggplot</a></code> model that is extendible with any <code>ggplot2</code> function.</p>
<p>The <code><ahref="https://ggplot2.tidyverse.org/reference/fortify.html"class="external-link">fortify()</a></code> functions return a <ahref="https://rdrr.io/r/base/data.frame.html"class="external-link">data.frame</a> as an extension for usage in the <code><ahref="https://ggplot2.tidyverse.org/reference/ggplot.html"class="external-link">ggplot2::ggplot()</a></code> function.</p>
<p>The interpretation of "I" will be named "Increased exposure" for all EUCAST guidelines since 2019, and will be named "Intermediate" in all other cases.</p>
<p>Simply using <code>"CLSI"</code> or <code>"EUCAST"</code> as input will automatically select the latest version of that guideline.</p><divclass="section">
<p>This package contains several functions that extend the <code>ggplot2</code> package, to help in visualising AMR data results. All these functions are internally used by <code><ahref="ggplot_sir.html">ggplot_sir()</a></code> too.</p><ul><li><p><code>facet_sir()</code> creates 2d plots (at default based on S/I/R) using <code><ahref="https://ggplot2.tidyverse.org/reference/facet_wrap.html"class="external-link">ggplot2::facet_wrap()</a></code>.</p></li>
<li><p><code>scale_y_percent()</code> transforms the y axis to a 0 to 100% range using <code><ahref="https://ggplot2.tidyverse.org/reference/scale_continuous.html"class="external-link">ggplot2::scale_y_continuous()</a></code>.</p></li>
<li><p><code>scale_sir_colours()</code> sets colours to the bars (green for S, yellow for I, and red for R). Has multilingual support. The default colours are colour-blind friendly, while maintaining the convention that e.g. 'susceptible' should be green and 'resistant' should be red.</p></li>
<li><p><code>theme_sir()</code> is a [ggplot2 theme][<code><ahref="https://ggplot2.tidyverse.org/reference/theme.html"class="external-link">ggplot2::theme()</a></code> with minimal distraction.</p></li>
<li><p><code>labels_sir_count()</code> print datalabels on the bars with percentage and number of isolates, using <code><ahref="https://ggplot2.tidyverse.org/reference/geom_text.html"class="external-link">ggplot2::geom_text()</a></code>.</p></li>
<spanclass="r-in"><span><spanclass="va">some_disk_values</span><spanclass="op"><-</span><spanclass="fu"><ahref="random.html">random_disk</a></span><spanclass="op">(</span>size <spanclass="op">=</span><spanclass="fl">100</span>, mo <spanclass="op">=</span><spanclass="st">"Escherichia coli"</span>, ab <spanclass="op">=</span><spanclass="st">"cipro"</span><spanclass="op">)</span></span></span>
<spanclass="r-in"><span><spanclass="co"># when providing the microorganism and antibiotic, colours will show interpretations:</span></span></span>
<spanclass="r-in"><span><spanclass="fu">plot</span><spanclass="op">(</span><spanclass="va">some_mic_values</span>, mo <spanclass="op">=</span><spanclass="st">"S. aureus"</span>, ab <spanclass="op">=</span><spanclass="st">"ampicillin"</span><spanclass="op">)</span></span></span>
<spanclass="r-in"><span><spanclass="fu">plot</span><spanclass="op">(</span><spanclass="va">some_disk_values</span>, mo <spanclass="op">=</span><spanclass="st">"Escherichia coli"</span>, ab <spanclass="op">=</span><spanclass="st">"cipro"</span><spanclass="op">)</span></span></span>
<spanclass="r-in"><span><spanclass="fu">plot</span><spanclass="op">(</span><spanclass="va">some_disk_values</span>, mo <spanclass="op">=</span><spanclass="st">"Escherichia coli"</span>, ab <spanclass="op">=</span><spanclass="st">"cipro"</span>, language <spanclass="op">=</span><spanclass="st">"nl"</span><spanclass="op">)</span></span></span>
<spanclass="r-in"><span><spanclass="fu"><ahref="https://ggplot2.tidyverse.org/reference/labs.html"class="external-link">labs</a></span><spanclass="op">(</span>title <spanclass="op">=</span><spanclass="st">"with scale_x_mic() using a manual 'within' range"</span><spanclass="op">)</span></span></span>
<spanclass="r-in"><span><spanclass="fu"><ahref="https://ggplot2.tidyverse.org/reference/labs.html"class="external-link">labs</a></span><spanclass="op">(</span>title <spanclass="op">=</span><spanclass="st">"with scale_x_mic() using a manual 'outside' range"</span><spanclass="op">)</span></span></span>
<spanclass="r-in"><span><spanclass="fu"><ahref="https://ggplot2.tidyverse.org/reference/autoplot.html"class="external-link">autoplot</a></span><spanclass="op">(</span><spanclass="va">some_disk_values</span>, mo <spanclass="op">=</span><spanclass="st">"Escherichia coli"</span>, ab <spanclass="op">=</span><spanclass="st">"cipro"</span><spanclass="op">)</span></span></span>
<spanclass="r-in"><span><spanclass="fu">scale_y_percent</span><spanclass="op">(</span>breaks <spanclass="op">=</span><spanclass="fu"><ahref="https://rdrr.io/r/base/seq.html"class="external-link">seq</a></span><spanclass="op">(</span>from <spanclass="op">=</span><spanclass="fl">0</span>, to <spanclass="op">=</span><spanclass="fl">1</span>, by <spanclass="op">=</span><spanclass="fl">0.1</span><spanclass="op">)</span>,</span></span>
<p><code>AMR</code> (for R). Free and open-source, licenced under the <atarget="_blank"href="https://github.com/msberends/AMR/blob/main/LICENSE"class="external-link">GNU General Public License version 2.0 (GPL-2)</a>.<br>Developed at the <atarget="_blank"href="https://www.rug.nl"class="external-link">University of Groningen</a> and <atarget="_blank"href="https://www.umcg.nl"class="external-link">University Medical Center Groningen</a> in The Netherlands.</p>