<!-- 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>Plot the observed data and the fitted model of an mkinfit object — plot.mkinfit • mkin</title>


<!-- jquery -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>
<!-- Bootstrap -->

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha256-bZLfwXAP04zRMK2BjiO8iu9pf4FbLqX6zitd+tIvLhE=" 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="Plot the observed data and the fitted model of an mkinfit object — plot.mkinfit" />
<meta property="og:description" content="Solves the differential equations with the optimised and fixed parameters
from a previous successful call to mkinfit and plots the
observed data together with the solution of the fitted model." />




<!-- 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">mkin</a>
        <span class="version label label-default" data-toggle="tooltip" data-placement="bottom" title="Released version">0.9.50.3</span>
      </span>
    </div>

    <div id="navbar" class="navbar-collapse collapse">
      <ul class="nav navbar-nav">
        <li>
  <a href="../reference/index.html">Functions and data</a>
</li>
<li class="dropdown">
  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
    Articles
     
    <span class="caret"></span>
  </a>
  <ul class="dropdown-menu" role="menu">
    <li>
      <a href="../articles/mkin.html">Introduction to mkin</a>
    </li>
    <li>
      <a href="../articles/FOCUS_D.html">Example evaluation of FOCUS Example Dataset D</a>
    </li>
    <li>
      <a href="../articles/FOCUS_L.html">Example evaluation of FOCUS Laboratory Data L1 to L3</a>
    </li>
    <li>
      <a href="../articles/web_only/FOCUS_Z.html">Example evaluation of FOCUS Example Dataset Z</a>
    </li>
    <li>
      <a href="../articles/web_only/compiled_models.html">Performance benefit by using compiled model definitions in mkin</a>
    </li>
    <li>
      <a href="../articles/twa.html">Calculation of time weighted average concentrations with mkin</a>
    </li>
    <li>
      <a href="../articles/web_only/NAFTA_examples.html">Example evaluation of NAFTA SOP Attachment examples</a>
    </li>
    <li>
      <a href="../articles/web_only/benchmarks.html">Some benchmark timings</a>
    </li>
  </ul>
</li>
<li>
  <a href="../news/index.html">News</a>
</li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li>
  <a href="https://github.com/jranke/mkin/">
    <span class="fab fa 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>Plot the observed data and the fitted model of an mkinfit object</h1>
    <small class="dont-index">Source: <a href='https://github.com/jranke/mkin/blob/master/R/plot.mkinfit.R'><code>R/plot.mkinfit.R</code></a></small>
    <div class="hidden name"><code>plot.mkinfit.Rd</code></div>
    </div>

    <div class="ref-description">
    <p>Solves the differential equations with the optimised and fixed parameters
from a previous successful call to <code><a href='mkinfit.html'>mkinfit</a></code> and plots the
observed data together with the solution of the fitted model.</p>
    </div>

    <pre class="usage"><span class='co'># S3 method for mkinfit</span>
<span class='fu'><a href='https://rdrr.io/r/graphics/plot.default.html'>plot</a></span><span class='op'>(</span>
  <span class='va'>x</span>,
  fit <span class='op'>=</span> <span class='va'>x</span>,
  obs_vars <span class='op'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/names.html'>names</a></span><span class='op'>(</span><span class='va'>fit</span><span class='op'>$</span><span class='va'>mkinmod</span><span class='op'>$</span><span class='va'>map</span><span class='op'>)</span>,
  xlab <span class='op'>=</span> <span class='st'>"Time"</span>,
  ylab <span class='op'>=</span> <span class='st'>"Observed"</span>,
  xlim <span class='op'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/range.html'>range</a></span><span class='op'>(</span><span class='va'>fit</span><span class='op'>$</span><span class='va'>data</span><span class='op'>$</span><span class='va'>time</span><span class='op'>)</span>,
  ylim <span class='op'>=</span> <span class='st'>"default"</span>,
  col_obs <span class='op'>=</span> <span class='fl'>1</span><span class='op'>:</span><span class='fu'><a href='https://rdrr.io/r/base/length.html'>length</a></span><span class='op'>(</span><span class='va'>obs_vars</span><span class='op'>)</span>,
  pch_obs <span class='op'>=</span> <span class='va'>col_obs</span>,
  lty_obs <span class='op'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/rep.html'>rep</a></span><span class='op'>(</span><span class='fl'>1</span>, <span class='fu'><a href='https://rdrr.io/r/base/length.html'>length</a></span><span class='op'>(</span><span class='va'>obs_vars</span><span class='op'>)</span><span class='op'>)</span>,
  add <span class='op'>=</span> <span class='cn'>FALSE</span>,
  legend <span class='op'>=</span> <span class='op'>!</span><span class='va'>add</span>,
  show_residuals <span class='op'>=</span> <span class='cn'>FALSE</span>,
  show_errplot <span class='op'>=</span> <span class='cn'>FALSE</span>,
  maxabs <span class='op'>=</span> <span class='st'>"auto"</span>,
  sep_obs <span class='op'>=</span> <span class='cn'>FALSE</span>,
  rel.height.middle <span class='op'>=</span> <span class='fl'>0.9</span>,
  row_layout <span class='op'>=</span> <span class='cn'>FALSE</span>,
  lpos <span class='op'>=</span> <span class='st'>"topright"</span>,
  inset <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'>0.05</span>, <span class='fl'>0.05</span><span class='op'>)</span>,
  show_errmin <span class='op'>=</span> <span class='cn'>FALSE</span>,
  errmin_digits <span class='op'>=</span> <span class='fl'>3</span>,
  frame <span class='op'>=</span> <span class='cn'>TRUE</span>,
  <span class='va'>...</span>
<span class='op'>)</span>

<span class='fu'>plot_sep</span><span class='op'>(</span>
  <span class='va'>fit</span>,
  show_errmin <span class='op'>=</span> <span class='cn'>TRUE</span>,
  show_residuals <span class='op'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/ifelse.html'>ifelse</a></span><span class='op'>(</span><span class='fu'><a href='https://rdrr.io/r/base/identical.html'>identical</a></span><span class='op'>(</span><span class='va'>fit</span><span class='op'>$</span><span class='va'>err_mod</span>, <span class='st'>"const"</span><span class='op'>)</span>, <span class='cn'>TRUE</span>, <span class='st'>"standardized"</span><span class='op'>)</span>,
  <span class='va'>...</span>
<span class='op'>)</span>

<span class='fu'>plot_res</span><span class='op'>(</span>
  <span class='va'>fit</span>,
  sep_obs <span class='op'>=</span> <span class='cn'>FALSE</span>,
  show_errmin <span class='op'>=</span> <span class='va'>sep_obs</span>,
  standardized <span class='op'>=</span> <span class='fu'><a href='https://rdrr.io/r/base/ifelse.html'>ifelse</a></span><span class='op'>(</span><span class='fu'><a href='https://rdrr.io/r/base/identical.html'>identical</a></span><span class='op'>(</span><span class='va'>fit</span><span class='op'>$</span><span class='va'>err_mod</span>, <span class='st'>"const"</span><span class='op'>)</span>, <span class='cn'>FALSE</span>, <span class='cn'>TRUE</span><span class='op'>)</span>,
  <span class='va'>...</span>
<span class='op'>)</span>

<span class='fu'>plot_err</span><span class='op'>(</span><span class='va'>fit</span>, sep_obs <span class='op'>=</span> <span class='cn'>FALSE</span>, show_errmin <span class='op'>=</span> <span class='va'>sep_obs</span>, <span class='va'>...</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>Alias for fit introduced for compatibility with the generic S3
method.</p></td>
    </tr>
    <tr>
      <th>fit</th>
      <td><p>An object of class <code><a href='mkinfit.html'>mkinfit</a></code>.</p></td>
    </tr>
    <tr>
      <th>obs_vars</th>
      <td><p>A character vector of names of the observed variables for
which the data and the model should be plotted. Defauls to all observed
variables in the model.</p></td>
    </tr>
    <tr>
      <th>xlab</th>
      <td><p>Label for the x axis.</p></td>
    </tr>
    <tr>
      <th>ylab</th>
      <td><p>Label for the y axis.</p></td>
    </tr>
    <tr>
      <th>xlim</th>
      <td><p>Plot range in x direction.</p></td>
    </tr>
    <tr>
      <th>ylim</th>
      <td><p>Plot range in y direction.</p></td>
    </tr>
    <tr>
      <th>col_obs</th>
      <td><p>Colors used for plotting the observed data and the
corresponding model prediction lines.</p></td>
    </tr>
    <tr>
      <th>pch_obs</th>
      <td><p>Symbols to be used for plotting the data.</p></td>
    </tr>
    <tr>
      <th>lty_obs</th>
      <td><p>Line types to be used for the model predictions.</p></td>
    </tr>
    <tr>
      <th>add</th>
      <td><p>Should the plot be added to an existing plot?</p></td>
    </tr>
    <tr>
      <th>legend</th>
      <td><p>Should a legend be added to the plot?</p></td>
    </tr>
    <tr>
      <th>show_residuals</th>
      <td><p>Should residuals be shown? If only one plot of the
fits is shown, the residual plot is in the lower third of the plot.
Otherwise, i.e. if "sep_obs" is given, the residual plots will be located
to the right of the plots of the fitted curves. If this is set to
'standardized', a plot of the residuals divided by the standard deviation
given by the fitted error model will be shown.</p></td>
    </tr>
    <tr>
      <th>show_errplot</th>
      <td><p>Should squared residuals and the error model be shown?
If only one plot of the fits is shown, this plot is in the lower third of
the plot.  Otherwise, i.e. if "sep_obs" is given, the residual plots will
be located to the right of the plots of the fitted curves.</p></td>
    </tr>
    <tr>
      <th>maxabs</th>
      <td><p>Maximum absolute value of the residuals. This is used for the
scaling of the y axis and defaults to "auto".</p></td>
    </tr>
    <tr>
      <th>sep_obs</th>
      <td><p>Should the observed variables be shown in separate subplots?
If yes, residual plots requested by "show_residuals" will be shown next
to, not below the plot of the fits.</p></td>
    </tr>
    <tr>
      <th>rel.height.middle</th>
      <td><p>The relative height of the middle plot, if more
than two rows of plots are shown.</p></td>
    </tr>
    <tr>
      <th>row_layout</th>
      <td><p>Should we use a row layout where the residual plot or the
error model plot is shown to the right?</p></td>
    </tr>
    <tr>
      <th>lpos</th>
      <td><p>Position(s) of the legend(s). Passed to <code><a href='https://rdrr.io/r/graphics/legend.html'>legend</a></code> as
the first argument.  If not length one, this should be of the same length
as the obs_var argument.</p></td>
    </tr>
    <tr>
      <th>inset</th>
      <td><p>Passed to <code><a href='https://rdrr.io/r/graphics/legend.html'>legend</a></code> if applicable.</p></td>
    </tr>
    <tr>
      <th>show_errmin</th>
      <td><p>Should the FOCUS chi2 error value be shown in the upper
margin of the plot?</p></td>
    </tr>
    <tr>
      <th>errmin_digits</th>
      <td><p>The number of significant digits for rounding the FOCUS
chi2 error percentage.</p></td>
    </tr>
    <tr>
      <th>frame</th>
      <td><p>Should a frame be drawn around the plots?</p></td>
    </tr>
    <tr>
      <th>...</th>
      <td><p>Further arguments passed to <code><a href='https://rdrr.io/r/graphics/plot.default.html'>plot</a></code>.</p></td>
    </tr>
    <tr>
      <th>standardized</th>
      <td><p>When calling 'plot_res', should the residuals be
standardized in the residual plot?</p></td>
    </tr>
    </table>

    <h2 class="hasAnchor" id="value"><a class="anchor" href="#value"></a>Value</h2>

    <p>The function is called for its side effect.</p>
    <h2 class="hasAnchor" id="details"><a class="anchor" href="#details"></a>Details</h2>

    <p>If the current plot device is a <code><a href='https://rdrr.io/pkg/tikzDevice/man/tikz.html'>tikz</a></code> device, then
latex is being used for the formatting of the chi2 error level, if
<code>show_errmin = TRUE</code>.</p>
    <h2 class="hasAnchor" id="author"><a class="anchor" href="#author"></a>Author</h2>

    <p>Johannes Ranke</p>

    <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2>
    <pre class="examples"><div class='input'>
<span class='co'># One parent compound, one metabolite, both single first order, path from</span>
<span class='co'># parent to sink included</span>
<span class='co'># \dontrun{</span>
<span class='va'>SFO_SFO</span> <span class='op'>&lt;-</span> <span class='fu'><a href='mkinmod.html'>mkinmod</a></span><span class='op'>(</span>parent <span class='op'>=</span> <span class='fu'><a href='mkinsub.html'>mkinsub</a></span><span class='op'>(</span><span class='st'>"SFO"</span>, <span class='st'>"m1"</span>, full <span class='op'>=</span> <span class='st'>"Parent"</span><span class='op'>)</span>,
                   m1 <span class='op'>=</span> <span class='fu'><a href='mkinsub.html'>mkinsub</a></span><span class='op'>(</span><span class='st'>"SFO"</span>, full <span class='op'>=</span> <span class='st'>"Metabolite M1"</span> <span class='op'>)</span><span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='message'>Successfully compiled differential equation model from auto-generated C code.</span></div><div class='input'><span class='va'>fit</span> <span class='op'>&lt;-</span> <span class='fu'><a href='mkinfit.html'>mkinfit</a></span><span class='op'>(</span><span class='va'>SFO_SFO</span>, <span class='va'>FOCUS_2006_D</span>, quiet <span class='op'>=</span> <span class='cn'>TRUE</span><span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='warning'>Warning: Observations with value of zero were removed from the data</span></div><div class='output co'>#&gt; <span class='warning'>Warning: Shapiro-Wilk test for standardized residuals: p =  0.0165</span></div><div class='input'><span class='va'>fit</span> <span class='op'>&lt;-</span> <span class='fu'><a href='mkinfit.html'>mkinfit</a></span><span class='op'>(</span><span class='va'>SFO_SFO</span>, <span class='va'>FOCUS_2006_D</span>, quiet <span class='op'>=</span> <span class='cn'>TRUE</span>, error_model <span class='op'>=</span> <span class='st'>"tc"</span><span class='op'>)</span>
</div><div class='output co'>#&gt; <span class='warning'>Warning: Observations with value of zero were removed from the data</span></div><div class='input'><span class='fu'><a href='https://rdrr.io/r/graphics/plot.default.html'>plot</a></span><span class='op'>(</span><span class='va'>fit</span><span class='op'>)</span>
</div><div class='img'><img src='plot.mkinfit-1.png' alt='' width='700' height='433' /></div><div class='input'><span class='fu'>plot_res</span><span class='op'>(</span><span class='va'>fit</span><span class='op'>)</span>
</div><div class='img'><img src='plot.mkinfit-2.png' alt='' width='700' height='433' /></div><div class='input'><span class='fu'>plot_res</span><span class='op'>(</span><span class='va'>fit</span>, standardized <span class='op'>=</span> <span class='cn'>FALSE</span><span class='op'>)</span>
</div><div class='img'><img src='plot.mkinfit-3.png' alt='' width='700' height='433' /></div><div class='input'><span class='fu'>plot_err</span><span class='op'>(</span><span class='va'>fit</span><span class='op'>)</span>
</div><div class='img'><img src='plot.mkinfit-4.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Show the observed variables separately, with residuals</span>
<span class='fu'><a href='https://rdrr.io/r/graphics/plot.default.html'>plot</a></span><span class='op'>(</span><span class='va'>fit</span>, sep_obs <span class='op'>=</span> <span class='cn'>TRUE</span>, show_residuals <span class='op'>=</span> <span class='cn'>TRUE</span>, lpos <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='st'>"topright"</span>, <span class='st'>"bottomright"</span><span class='op'>)</span>,
     show_errmin <span class='op'>=</span> <span class='cn'>TRUE</span><span class='op'>)</span>
</div><div class='img'><img src='plot.mkinfit-5.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># The same can be obtained with less typing, using the convenience function plot_sep</span>
<span class='fu'>plot_sep</span><span class='op'>(</span><span class='va'>fit</span>, lpos <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='st'>"topright"</span>, <span class='st'>"bottomright"</span><span class='op'>)</span><span class='op'>)</span>
</div><div class='img'><img src='plot.mkinfit-6.png' alt='' width='700' height='433' /></div><div class='input'>
<span class='co'># Show the observed variables separately, with the error model</span>
<span class='fu'><a href='https://rdrr.io/r/graphics/plot.default.html'>plot</a></span><span class='op'>(</span><span class='va'>fit</span>, sep_obs <span class='op'>=</span> <span class='cn'>TRUE</span>, show_errplot <span class='op'>=</span> <span class='cn'>TRUE</span>, lpos <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='st'>"topright"</span>, <span class='st'>"bottomright"</span><span class='op'>)</span>,
     show_errmin <span class='op'>=</span> <span class='cn'>TRUE</span><span class='op'>)</span>
</div><div class='img'><img src='plot.mkinfit-7.png' alt='' width='700' height='433' /></div><div class='input'><span class='co'># }</span>

</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 Johannes Ranke.</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>