<!-- 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>Lineplot to Visualize the Distribution of Missing Values — ggplot_na_distribution • 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="Lineplot to Visualize the Distribution of Missing Values — ggplot_na_distribution" />
<meta property="og:description" content="Visualize the distribution of missing values within a time series." />
<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>Lineplot to Visualize the Distribution of Missing Values</h1>
    <small class="dont-index">Source: <a href='https://github.com/SteffenMoritz/imputeTS/blob/master/R/ggplot_na_distribution.R'><code>R/ggplot_na_distribution.R</code></a></small>
    <div class="hidden name"><code>ggplot_na_distribution.Rd</code></div>
    </div>

    <div class="ref-description">
    <p>Visualize the distribution of missing values within a time series.</p>
    </div>

    <pre class="usage"><span class='fu'>ggplot_na_distribution</span><span class='op'>(</span>
  <span class='va'>x</span>,
  x_axis_labels <span class='op'>=</span> <span class='cn'>NULL</span>,
  color_points <span class='op'>=</span> <span class='st'>"steelblue"</span>,
  color_lines <span class='op'>=</span> <span class='st'>"steelblue2"</span>,
  color_missing <span class='op'>=</span> <span class='st'>"indianred"</span>,
  color_missing_border <span class='op'>=</span> <span class='st'>"indianred"</span>,
  alpha_missing <span class='op'>=</span> <span class='fl'>0.5</span>,
  title <span class='op'>=</span> <span class='st'>"Distribution of Missing Values"</span>,
  subtitle <span class='op'>=</span> <span class='st'>"Time Series with highlighted missing regions"</span>,
  xlab <span class='op'>=</span> <span class='st'>"Time"</span>,
  ylab <span class='op'>=</span> <span class='st'>"Value"</span>,
  shape_points <span class='op'>=</span> <span class='fl'>20</span>,
  size_points <span class='op'>=</span> <span class='fl'>2.5</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>x_axis_labels</th>
      <td><p>For adding specific x-axis labels. Takes a vector of
<code><a href='https://rdrr.io/r/base/Dates.html'>Date</a></code> or <code><a href='https://rdrr.io/r/base/DateTimeClasses.html'>POSIXct</a></code> objects
as an input (needs the same length as x) . The Default (NULL) uses the
observation numbers as  x-axis tick labels.</p></td>
    </tr>
    <tr>
      <th>color_points</th>
      <td><p>Color for the Symbols/Points.</p></td>
    </tr>
    <tr>
      <th>color_lines</th>
      <td><p>Color for the Lines.</p></td>
    </tr>
    <tr>
      <th>color_missing</th>
      <td><p>Color used for highlighting the time spans with NA values.</p></td>
    </tr>
    <tr>
      <th>color_missing_border</th>
      <td><p>Color used as border for time spans with NA values.</p></td>
    </tr>
    <tr>
      <th>alpha_missing</th>
      <td><p>Alpha (transparency) value used for color_missing.</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.</p></td>
    </tr>
    <tr>
      <th>ylab</th>
      <td><p>Label for y-Axis.</p></td>
    </tr>
    <tr>
      <th>shape_points</th>
      <td><p>Symbol to use for the Observations/Points. See
https://ggplot2.tidyverse.org/articles/ggplot2-specs.html as reference.</p></td>
    </tr>
    <tr>
      <th>size_points</th>
      <td><p>Size of Symbols/Points.</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. If a value is NA, the background is colored differently.
This gives a good overview of where most missing values occur.</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>
<p>For very long time series it might happen, that the plot gets too crowded
and overplotting issues occur. In this case the
<code><a href='ggplot_na_distribution2.html'>ggplot_na_distribution2</a></code> plotting function can provide
a more condensed overview.</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_distribution2.html'>ggplot_na_distribution2</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 x</span>
<span class='va'>x</span> <span class='op'>&lt;-</span> <span class='fu'>stats</span><span class='fu'>::</span><span class='fu'><a href='https://rdrr.io/r/stats/ts.html'>ts</a></span><span class='op'>(</span><span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span><span class='op'>(</span><span class='fl'>1</span><span class='op'>:</span><span class='fl'>11</span>, <span class='fl'>4</span><span class='op'>:</span><span class='fl'>9</span>, <span class='cn'>NA</span>, <span class='cn'>NA</span>, <span class='cn'>NA</span>, <span class='fl'>11</span><span class='op'>:</span><span class='fl'>15</span>, <span class='fl'>7</span><span class='op'>:</span><span class='fl'>15</span>, <span class='fl'>15</span><span class='op'>:</span><span class='fl'>6</span>, <span class='cn'>NA</span>, <span class='cn'>NA</span>, <span class='fl'>2</span><span class='op'>:</span><span class='fl'>5</span>, <span class='fl'>3</span><span class='op'>:</span><span class='fl'>7</span><span class='op'>)</span><span class='op'>)</span>
<span class='fu'>ggplot_na_distribution</span><span class='op'>(</span><span class='va'>x</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_distribution-1.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 2: Visualize the missing values in tsAirgap time series</span>
<span class='fu'>ggplot_na_distribution</span><span class='op'>(</span><span class='va'>tsAirgap</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_distribution-2.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 3: Same as example 1, just written with pipe operator</span>
<span class='va'>x</span> <span class='op'>&lt;-</span> <span class='fu'><a href='https://rdrr.io/r/stats/ts.html'>ts</a></span><span class='op'>(</span><span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span><span class='op'>(</span><span class='fl'>1</span><span class='op'>:</span><span class='fl'>11</span>, <span class='fl'>4</span><span class='op'>:</span><span class='fl'>9</span>, <span class='cn'>NA</span>, <span class='cn'>NA</span>, <span class='cn'>NA</span>, <span class='fl'>11</span><span class='op'>:</span><span class='fl'>15</span>, <span class='fl'>7</span><span class='op'>:</span><span class='fl'>15</span>, <span class='fl'>15</span><span class='op'>:</span><span class='fl'>6</span>, <span class='cn'>NA</span>, <span class='cn'>NA</span>, <span class='fl'>2</span><span class='op'>:</span><span class='fl'>5</span>, <span class='fl'>3</span><span class='op'>:</span><span class='fl'>7</span><span class='op'>)</span><span class='op'>)</span>
<span class='va'>x</span> <span class='op'>%&gt;%</span> <span class='fu'>ggplot_na_distribution</span><span class='op'>(</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_distribution-3.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 4: Visualize NAs in tsAirgap - different color for points</span>
<span class='co'># Plot adjustments via ggplot_na_distribution function parameters</span>
<span class='fu'>ggplot_na_distribution</span><span class='op'>(</span><span class='va'>tsAirgap</span>, color_points <span class='op'>=</span> <span class='st'>"grey"</span><span class='op'>)</span>
</div><div class='img'><img src='ggplot_na_distribution-4.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 5: Visualize NAs in tsAirgap - different theme</span>
<span class='co'># Plot adjustments via ggplot_na_distribution function parameters</span>
<span class='fu'>ggplot_na_distribution</span><span class='op'>(</span><span class='va'>tsAirgap</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_distribution-5.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 6: Visualize NAs in tsAirgap - title, subtitle in center</span>
<span class='co'># Plot adjustments via ggplot2 syntax</span>
<span class='fu'>ggplot_na_distribution</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'>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_distribution-6.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 7: 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_distribution</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_distribution-7.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Example 8: 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_distribution</span><span class='op'>(</span><span class='va'>tsAirgap</span>, color_points <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_distribution-8.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>


