<!-- Generated by pkgdown: do not edit by hand -->
<!DOCTYPE html>
<html lang="en">
  <head>
  <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Stacked Barplot to Visualize Missing Values per Interval — ggplot_na_distribution2 • imputeTS</title>

<!-- favicons -->
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png">
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="../apple-touch-icon.png" />
<link rel="apple-touch-icon" type="image/png" sizes="120x120" href="../apple-touch-icon-120x120.png" />
<link rel="apple-touch-icon" type="image/png" sizes="76x76" href="../apple-touch-icon-76x76.png" />
<link rel="apple-touch-icon" type="image/png" sizes="60x60" href="../apple-touch-icon-60x60.png" />

<!-- jquery -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<!-- Bootstrap -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.4.0/flatly/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous" />


<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha256-nuL8/2cJ5NDSSwnKD8VqreErSWHtnEP9E7AySL+1ev4=" crossorigin="anonymous"></script>

<!-- bootstrap-toc -->
<link rel="stylesheet" href="../bootstrap-toc.css">
<script src="../bootstrap-toc.js"></script>

<!-- Font Awesome icons -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/all.min.css" integrity="sha256-mmgLkCYLUQbXn0B1SRqzHar6dCnv9oZFPEC1g1cwlkk=" crossorigin="anonymous" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.1/css/v4-shims.min.css" integrity="sha256-wZjR52fzng1pJHwx4aV2AO3yyTOXrcDW7jBpJtTwVxw=" crossorigin="anonymous" />

<!-- clipboard.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.6/clipboard.min.js" integrity="sha256-inc5kl9MA1hkeYUt+EC3BhlIgyp/2jDIyBLS6k3UxPI=" crossorigin="anonymous"></script>

<!-- headroom.js -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/headroom.min.js" integrity="sha256-AsUX4SJE1+yuDu5+mAVzJbuYNPHj/WroHuZ8Ir/CkE0=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/headroom/0.11.0/jQuery.headroom.min.js" integrity="sha256-ZX/yNShbjqsohH1k95liqY9Gd8uOiE1S4vZc+9KQ1K4=" crossorigin="anonymous"></script>

<!-- pkgdown -->
<link href="../pkgdown.css" rel="stylesheet">
<script src="../pkgdown.js"></script>




<meta property="og:title" content="Stacked Barplot to Visualize Missing Values per Interval — ggplot_na_distribution2" />
<meta property="og:description" content="Visualization of missing values in barplot form.
Especially useful when looking at specific intervals and for
time series with a lot of observations." />
<meta property="og:image" content="https://SteffenMoritz.github.io/imputeTS/logo.png" />




<!-- mathjax -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js" integrity="sha256-nvJJv9wWKEm88qvoQl9ekL2J+k/RWIsaSScxxlsrv8k=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js" integrity="sha256-84DKXVJXs0/F8OTMzX4UR909+jtl4G7SPypPavF+GfA=" crossorigin="anonymous"></script>

<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->



  </head>

  <body data-spy="scroll" data-target="#toc">
    <div class="container template-reference-topic">
      <header>
      <div class="navbar navbar-default navbar-fixed-top" role="navigation">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <span class="navbar-brand">
        <a class="navbar-link" href="../index.html">imputeTS</a>
        <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">3.3</span>
      </span>
    </div>

    <div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav">
        <li>
  <a href="../index.html">
    <span class="fas fa-home fa-lg"></span>
     
  </a>
</li>
<li>
  <a href="../reference/index.html">Reference</a>
</li>
<li class="dropdown">
  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
    Articles
     
    <span class="caret"></span>
  </a>
  <ul class="dropdown-menu" role="menu">
    <li>
      <a href="../articles/gallery_visualizations.html">Gallery: Times Series Missing Data Visualizations</a>
    </li>
  </ul>
</li>
<li>
  <a href="../news/index.html">Changelog</a>
</li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li>
  <a href="https://github.com/SteffenMoritz/imputeTS/">
    <span class="fab fa-github fa-lg"></span>
     
  </a>
</li>
      </ul>
      
    </div><!--/.nav-collapse -->
  </div><!--/.container -->
</div><!--/.navbar -->

      

      </header>

<div class="row">
  <div class="col-md-9 contents">
    <div class="page-header">
    <h1>Stacked Barplot to Visualize Missing Values per Interval</h1>
    <small class="dont-index">Source: <a href='https://github.com/SteffenMoritz/imputeTS/blob/master/R/ggplot_na_distribution2.R'><code>R/ggplot_na_distribution2.R</code></a></small>
    <div class="hidden name"><code>ggplot_na_distribution2.Rd</code></div>
    </div>

    <div class="ref-description">
    <p>Visualization of missing values in barplot form.
Especially useful when looking at specific intervals and for
time series with a lot of observations.</p>
    </div>

    <pre class="usage"><span class='fu'>ggplot_na_distribution2</span><span class='op'>(</span>
  <span class='va'>x</span>,
  number_intervals <span class='op'>=</span> <span class='cn'>NULL</span>,
  interval_size <span class='op'>=</span> <span class='cn'>NULL</span>,
  measure <span class='op'>=</span> <span class='st'>"percent"</span>,
  color_missing <span class='op'>=</span> <span class='st'>"indianred2"</span>,
  color_existing <span class='op'>=</span> <span class='st'>"steelblue"</span>,
  alpha_missing <span class='op'>=</span> <span class='fl'>0.8</span>,
  alpha_existing <span class='op'>=</span> <span class='fl'>0.3</span>,
  title <span class='op'>=</span> <span class='st'>"Missing Values per Interval"</span>,
  subtitle <span class='op'>=</span> <span class='st'>"Amount of NA and non-NA for successive intervals"</span>,
  xlab <span class='op'>=</span> <span class='st'>"Time Lapse (Interval Size: XX)"</span>,
  ylab <span class='op'>=</span> <span class='cn'>NULL</span>,
  color_border <span class='op'>=</span> <span class='st'>"white"</span>,
  theme <span class='op'>=</span> <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/ggtheme.html'>theme_linedraw</a></span><span class='op'>(</span><span class='op'>)</span>
<span class='op'>)</span></pre>

    <h2 class="hasAnchor" id="arguments"><a class="anchor" href="#arguments"></a>Arguments</h2>
    <table class="ref-arguments">
    <colgroup><col class="name" /><col class="desc" /></colgroup>
    <tr>
      <th>x</th>
      <td><p>Numeric Vector (<code><a href='https://rdrr.io/r/base/vector.html'>vector</a></code>) or Time Series
(<code><a href='https://rdrr.io/r/stats/ts.html'>ts</a></code>) object containing NAs. This is the only mandatory
parameter - all other parameters are only needed for adjusting the plot appearance.</p></td>
    </tr>
    <tr>
      <th>number_intervals</th>
      <td><p>Defines the number of bins to be created. Default
number of intervals (denoted by NULL) is calculated by <code><a href='https://rdrr.io/r/grDevices/nclass.html'>nclass.Sturges</a></code>
using Sturges' formula. If the interval_size parameter is set to a value
different to NULL this parameter is ignored.</p></td>
    </tr>
    <tr>
      <th>interval_size</th>
      <td><p>Defines how many observations should be in one bin/interval.
The required number of overall bins is afterwards calculated automatically.
If used this parameter overwrites the number_intervals parameter.
For a very long time series be sure to make the interval_size not extremely
small, otherwise because of  overplotting issues nothing can be seen until
you also increase the plot width.</p></td>
    </tr>
    <tr>
      <th>measure</th>
      <td><p>Whether the NA / non-NA ratio should be given as
percent or absolute numbers.</p>
<ul>
<li><p>"percent" - for percentages</p></li>
<li><p>"count" - for absolute numbers of NAs</p></li>
</ul></td>
    </tr>
    <tr>
      <th>color_missing</th>
      <td><p>Color for the amount of missing values.</p></td>
    </tr>
    <tr>
      <th>color_existing</th>
      <td><p>Color for the amount of existing values.</p></td>
    </tr>
    <tr>
      <th>alpha_missing</th>
      <td><p>Alpha (transparency) value for the missing values.</p></td>
    </tr>
    <tr>
      <th>alpha_existing</th>
      <td><p>Alpha (transparency) value for the existing values.</p></td>
    </tr>
    <tr>
      <th>title</th>
      <td><p>Title of the Plot (NULL for deactivating title).</p></td>
    </tr>
    <tr>
      <th>subtitle</th>
      <td><p>Subtitle of the Plot (NULL for deactivating subtitle).</p></td>
    </tr>
    <tr>
      <th>xlab</th>
      <td><p>Label for x-Axis. Automatically set to the current interval size, if
no custom text is chosen.</p></td>
    </tr>
    <tr>
      <th>ylab</th>
      <td><p>Label for y-Axis. As default (NULL), the axis is automatically set
to either 'Percent' or 'Count' dependent on the settings of parameter <code>measure</code>.</p></td>
    </tr>
    <tr>
      <th>color_border</th>
      <td><p>Color for the small borders between the intervals/bins.
Default is 'white'.</p></td>
    </tr>
    <tr>
      <th>theme</th>
      <td><p>Set a Theme for ggplot2. Default is ggplot2::theme_linedraw().
(<code><a href='https://ggplot2.tidyverse.org/reference/ggtheme.html'>theme_linedraw</a>)</code></p></td>
    </tr>
    </table>

    <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2>

    <p>This function visualizes the distribution of missing values within
a time series. In comparison to the <code><a href='ggplot_na_distribution.html'>ggplot_na_distribution</a></code>
function this is not done by plotting each observation of the time series
separately. Instead observations for time intervals are represented as
intervals/bins of multiple values. For these intervals information about
the amount of missing values are shown. This has the advantage, that also
for large time series a plot which is easy to overview can be created.</p>
<p>The only really needed parameter for this function is x (the univariate
time series that shall be visualized). All other parameters are solely
for altering the appearance of the plot.</p>
<p>As long as the input is univariate and numeric the function also takes
data.frame, tibble, tsibble, zoo, xts as an input.</p>
<p>The plot can be adjusted to your needs via the function parameters.
Additionally, for more complex adjustments, the output can also be
adjusted via ggplot2 syntax. This is possible, since the output
of the function is a ggplot2 object. Also take a look at the Examples
to see how adjustments are made.</p>
    <h2 class="hasAnchor" id="see-also"><a class="anchor" href="#see-also"></a>See also</h2>

    <div class='dont-index'><p><code><a href='ggplot_na_distribution.html'>ggplot_na_distribution</a></code>,
<code><a href='ggplot_na_gapsize.html'>ggplot_na_gapsize</a></code>,
<code><a href='ggplot_na_imputations.html'>ggplot_na_imputations</a></code></p></div>
    <h2 class="hasAnchor" id="author"><a class="anchor" href="#author"></a>Author</h2>

    <p>Steffen Moritz, Sebastian Gatscha</p>

    <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
    <pre class="examples"><div class='input'><span class='co'># Example 1: Visualize the missing values in tsNH4 time series as percentages</span>
<span class='fu'>ggplot_na_distribution2</span><span class='op'>(</span><span class='va'>tsNH4</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_distribution2-1.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 2: Visualize the missing values in tsNH4 time series as counts </span>
<span class='fu'>ggplot_na_distribution2</span><span class='op'>(</span><span class='va'>tsNH4</span>, measure <span class='op'>=</span> <span class='st'>"count"</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_distribution2-2.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 3: Visualize the missing values in tsHeating time series</span>
<span class='fu'>ggplot_na_distribution2</span><span class='op'>(</span><span class='va'>tsHeating</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_distribution2-3.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 4: Same as example 1, just written with pipe operator</span>
<span class='va'>tsNH4</span> <span class='op'>%&gt;%</span> <span class='fu'>ggplot_na_distribution2</span><span class='op'>(</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_distribution2-4.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 5: Visualize NAs in tsNH4 - exactly 8 intervals</span>
<span class='fu'>ggplot_na_distribution2</span><span class='op'>(</span><span class='va'>tsNH4</span>, number_intervals <span class='op'>=</span> <span class='fl'>8</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_distribution2-5.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 6: Visualize NAs in tsNH4 - 300 observations per interval</span>
<span class='fu'>ggplot_na_distribution2</span><span class='op'>(</span><span class='va'>tsNH4</span>, interval_size <span class='op'>=</span> <span class='fl'>300</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_distribution2-6.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 7: Visualize NAs in tsAirgap - different color for NAs</span>
<span class='co'># Plot adjustments via ggplot_na_distribution2 function parameters</span>
<span class='fu'>ggplot_na_distribution2</span><span class='op'>(</span><span class='va'>tsAirgap</span>, color_missing <span class='op'>=</span> <span class='st'>"pink"</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_distribution2-7.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 8: Visualize NAs in tsNH4 - different theme</span>
<span class='co'># Plot adjustments via ggplot_na_distribution2 function parameters</span>
<span class='fu'>ggplot_na_distribution2</span><span class='op'>(</span><span class='va'>tsNH4</span>, theme <span class='op'>=</span> <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/ggtheme.html'>theme_classic</a></span><span class='op'>(</span><span class='op'>)</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_distribution2-8.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 9: Visualize NAs in tsAirgap - title, subtitle in center</span>
<span class='co'># Plot adjustments via ggplot2 syntax</span>
<span class='fu'>ggplot_na_distribution2</span><span class='op'>(</span><span class='va'>tsAirgap</span><span class='op'>)</span> <span class='op'>+</span>
  <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/theme.html'>theme</a></span><span class='op'>(</span>plot.title <span class='op'>=</span> <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/element.html'>element_text</a></span><span class='op'>(</span>hjust <span class='op'>=</span> <span class='fl'>0.5</span><span class='op'>)</span><span class='op'>)</span> <span class='op'>+</span>
  <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/theme.html'>theme</a></span><span class='op'>(</span>plot.subtitle <span class='op'>=</span> <span class='fu'>ggtext</span><span class='fu'>::</span><span class='fu'><a href='https://wilkelab.org/ggtext/reference/element_markdown.html'>element_markdown</a></span><span class='op'>(</span>hjust <span class='op'>=</span> <span class='fl'>0.5</span><span class='op'>)</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_distribution2-9.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 10: Visualize NAs in tsAirgap - title in center, no subtitle</span>
<span class='co'># Plot adjustments via ggplot2 syntax and function parameters</span>
<span class='fu'>ggplot_na_distribution2</span><span class='op'>(</span><span class='va'>tsAirgap</span>, subtitle <span class='op'>=</span> <span class='cn'>NULL</span><span class='op'>)</span> <span class='op'>+</span>
  <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/theme.html'>theme</a></span><span class='op'>(</span>plot.title <span class='op'>=</span> <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/element.html'>element_text</a></span><span class='op'>(</span>hjust <span class='op'>=</span> <span class='fl'>0.5</span><span class='op'>)</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_distribution2-10.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 11: Visualize NAs in tsAirgap - x-axis texts with angle</span>
<span class='co'># Plot adjustments via ggplot2 syntax and function parameters</span>
<span class='fu'>ggplot_na_distribution2</span><span class='op'>(</span><span class='va'>tsAirgap</span>, color_missing <span class='op'>=</span> <span class='st'>"grey"</span><span class='op'>)</span> <span class='op'>+</span>
  <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/theme.html'>theme</a></span><span class='op'>(</span>axis.text.x <span class='op'>=</span> <span class='fu'>ggplot2</span><span class='fu'>::</span><span class='fu'><a href='https://ggplot2.tidyverse.org/reference/element.html'>element_text</a></span><span class='op'>(</span>angle <span class='op'>=</span> <span class='fl'>60</span>, hjust <span class='op'>=</span> <span class='fl'>1</span><span class='op'>)</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_distribution2-11.png' alt='' width='700' height='433' /></div><div class='input'>  
</div></pre>
  </div>
  <div class="col-md-3 hidden-xs hidden-sm" id="pkgdown-sidebar">
    <nav id="toc" data-toggle="toc" class="sticky-top">
      <h2 data-toc-skip>Contents</h2>
    </nav>
  </div>
</div>


      <footer>
      <div class="copyright">
  <p>Developed by Steffen Moritz, Sebastian Gatscha.</p>
</div>

<div class="pkgdown">
  <p>Site built with <a href="https://pkgdown.r-lib.org/">pkgdown</a> 1.6.1.</p>
</div>

      </footer>
   </div>

  


  </body>
</html>


