diff options
author | Johannes Ranke <jranke@uni-bremen.de> | 2019-02-25 14:50:13 +0100 |
---|---|---|
committer | Johannes Ranke <jranke@uni-bremen.de> | 2019-02-25 14:57:28 +0100 |
commit | be809ea23b256f627216958fcd90489ee0844ab8 (patch) | |
tree | aac8e1ce221d79cd58e4fa62c5e5149a3b0c659f | |
parent | dd6c4a8f895fd470345e7ae773299daaa4de7aef (diff) |
Add plotting tests, add nafta to pkgdown
-rw-r--r-- | DESCRIPTION | 5 | ||||
-rw-r--r-- | _pkgdown.yml | 1 | ||||
-rw-r--r-- | docs/articles/FOCUS_D.html | 8 | ||||
-rw-r--r-- | docs/articles/FOCUS_L.html | 44 | ||||
-rw-r--r-- | docs/articles/mkin.html | 2 | ||||
-rw-r--r-- | docs/articles/twa.html | 2 | ||||
-rw-r--r-- | docs/articles/web_only/FOCUS_Z.html | 2 | ||||
-rw-r--r-- | docs/articles/web_only/compiled_models.html | 12 | ||||
-rw-r--r-- | docs/reference/Extract.mmkin.html | 12 | ||||
-rw-r--r-- | docs/reference/index.html | 6 | ||||
-rw-r--r-- | docs/reference/mccall81_245T.html | 12 | ||||
-rw-r--r-- | docs/reference/mkinfit.html | 46 | ||||
-rw-r--r-- | docs/reference/mkinmod.html | 2 | ||||
-rw-r--r-- | docs/reference/mkinpredict.html | 4 | ||||
-rw-r--r-- | docs/reference/mmkin.html | 4 | ||||
-rw-r--r-- | docs/reference/summary.mkinfit.html | 6 | ||||
-rw-r--r-- | docs/reference/transform_odeparms.html | 24 | ||||
-rw-r--r-- | test.log | 20 | ||||
-rw-r--r-- | tests/figs/deps.txt | 3 | ||||
-rw-r--r-- | tests/figs/plotting/mmkin-plot-for-focus-c.svg | 569 | ||||
-rw-r--r-- | tests/figs/plotting/mmkin-plot-for-sfo-focus-c-and-d.svg | 300 | ||||
-rw-r--r-- | tests/testthat/test_plots_twa.R (renamed from tests/testthat/test_twa.R) | 26 |
22 files changed, 1002 insertions, 108 deletions
diff --git a/DESCRIPTION b/DESCRIPTION index 138440fc..87823866 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -2,7 +2,7 @@ Package: mkin Type: Package Title: Kinetic Evaluation of Chemical Degradation Data Version: 0.9.48.1 -Date: 2019-02-21 +Date: 2019-02-22 Authors@R: c(person("Johannes", "Ranke", role = c("aut", "cre", "cph"), email = "jranke@uni-bremen.de", comment = c(ORCID = "0000-0003-4371-6538")), @@ -19,7 +19,8 @@ Description: Calculation routines based on the FOCUS Kinetics Report (2006, purpose. Imports: stats, graphics, methods, FME, deSolve, R6, minpack.lm, rootSolve, inline, parallel, plyr -Suggests: knitr, rbenchmark, tikzDevice, testthat, rmarkdown, covr +Suggests: knitr, rbenchmark, tikzDevice, testthat, rmarkdown, covr, vdiffr +Remotes: r-lib/vdiffr License: GPL LazyLoad: yes LazyData: yes diff --git a/_pkgdown.yml b/_pkgdown.yml index 20854d5b..03305d9a 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -10,6 +10,7 @@ reference: - mkinmod - mkinfit - mmkin + - nafta - title: Show results desc: Functions working with mkinfit objects contents: diff --git a/docs/articles/FOCUS_D.html b/docs/articles/FOCUS_D.html index ad8413dc..a470cdb6 100644 --- a/docs/articles/FOCUS_D.html +++ b/docs/articles/FOCUS_D.html @@ -85,7 +85,7 @@ <h1>Example evaluation of FOCUS Example Dataset D</h1> <h4 class="author">Johannes Ranke</h4> - <h4 class="date">2019-02-22</h4> + <h4 class="date">2019-02-25</h4> <div class="hidden name"><code>FOCUS_D.Rmd</code></div> @@ -163,8 +163,8 @@ <div class="sourceCode" id="cb10"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb10-1" data-line-number="1"><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/summary">summary</a></span>(fit)</a></code></pre></div> <pre><code>## mkin version used for fitting: 0.9.48.1 ## R version used for fitting: 3.5.2 -## Date of fit: Fri Feb 22 20:48:30 2019 -## Date of summary: Fri Feb 22 20:48:31 2019 +## Date of fit: Mon Feb 25 14:54:38 2019 +## Date of summary: Mon Feb 25 14:54:38 2019 ## ## Equations: ## d_parent/dt = - k_parent_sink * parent - k_parent_m1 * parent @@ -172,7 +172,7 @@ ## ## Model predictions using solution type deSolve ## -## Fitted with method Port using 153 model solutions performed in 0.731 s +## Fitted with method Port using 153 model solutions performed in 0.712 s ## ## Weighting: none ## diff --git a/docs/articles/FOCUS_L.html b/docs/articles/FOCUS_L.html index 17c7bf59..e8a81075 100644 --- a/docs/articles/FOCUS_L.html +++ b/docs/articles/FOCUS_L.html @@ -85,7 +85,7 @@ <h1>Example evaluation of FOCUS Laboratory Data L1 to L3</h1> <h4 class="author">Johannes Ranke</h4> - <h4 class="date">2019-02-22</h4> + <h4 class="date">2019-02-25</h4> <div class="hidden name"><code>FOCUS_L.Rmd</code></div> @@ -111,15 +111,15 @@ <a class="sourceLine" id="cb2-2" data-line-number="2"><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/summary">summary</a></span>(m.L1.SFO)</a></code></pre></div> <pre><code>## mkin version used for fitting: 0.9.48.1 ## R version used for fitting: 3.5.2 -## Date of fit: Fri Feb 22 20:48:32 2019 -## Date of summary: Fri Feb 22 20:48:32 2019 +## Date of fit: Mon Feb 25 14:54:40 2019 +## Date of summary: Mon Feb 25 14:54:40 2019 ## ## Equations: ## d_parent/dt = - k_parent_sink * parent ## ## Model predictions using solution type analytical ## -## Fitted with method Port using 37 model solutions performed in 0.105 s +## Fitted with method Port using 37 model solutions performed in 0.096 s ## ## Weighting: none ## @@ -202,15 +202,15 @@ <div class="sourceCode" id="cb7"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb7-1" data-line-number="1"><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/summary">summary</a></span>(m.L1.FOMC, <span class="dt">data =</span> <span class="ot">FALSE</span>)</a></code></pre></div> <pre><code>## mkin version used for fitting: 0.9.48.1 ## R version used for fitting: 3.5.2 -## Date of fit: Fri Feb 22 20:48:34 2019 -## Date of summary: Fri Feb 22 20:48:34 2019 +## Date of fit: Mon Feb 25 14:54:42 2019 +## Date of summary: Mon Feb 25 14:54:42 2019 ## ## Equations: ## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent ## ## Model predictions using solution type analytical ## -## Fitted with method Port using 611 model solutions performed in 1.604 s +## Fitted with method Port using 611 model solutions performed in 1.529 s ## ## Weighting: none ## @@ -297,15 +297,15 @@ <div class="sourceCode" id="cb12"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb12-1" data-line-number="1"><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/summary">summary</a></span>(m.L2.FOMC, <span class="dt">data =</span> <span class="ot">FALSE</span>)</a></code></pre></div> <pre><code>## mkin version used for fitting: 0.9.48.1 ## R version used for fitting: 3.5.2 -## Date of fit: Fri Feb 22 20:48:35 2019 -## Date of summary: Fri Feb 22 20:48:35 2019 +## Date of fit: Mon Feb 25 14:54:42 2019 +## Date of summary: Mon Feb 25 14:54:42 2019 ## ## Equations: ## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent ## ## Model predictions using solution type analytical ## -## Fitted with method Port using 81 model solutions performed in 0.216 s +## Fitted with method Port using 81 model solutions performed in 0.199 s ## ## Weighting: none ## @@ -368,8 +368,8 @@ <div class="sourceCode" id="cb15"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb15-1" data-line-number="1"><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/summary">summary</a></span>(m.L2.DFOP, <span class="dt">data =</span> <span class="ot">FALSE</span>)</a></code></pre></div> <pre><code>## mkin version used for fitting: 0.9.48.1 ## R version used for fitting: 3.5.2 -## Date of fit: Fri Feb 22 20:48:36 2019 -## Date of summary: Fri Feb 22 20:48:36 2019 +## Date of fit: Mon Feb 25 14:54:44 2019 +## Date of summary: Mon Feb 25 14:54:44 2019 ## ## Equations: ## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * @@ -378,7 +378,7 @@ ## ## Model predictions using solution type analytical ## -## Fitted with method Port using 336 model solutions performed in 0.864 s +## Fitted with method Port using 336 model solutions performed in 0.853 s ## ## Weighting: none ## @@ -460,8 +460,8 @@ <div class="sourceCode" id="cb21"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb21-1" data-line-number="1"><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/summary">summary</a></span>(mm.L3[[<span class="st">"DFOP"</span>, <span class="dv">1</span>]])</a></code></pre></div> <pre><code>## mkin version used for fitting: 0.9.48.1 ## R version used for fitting: 3.5.2 -## Date of fit: Fri Feb 22 20:48:37 2019 -## Date of summary: Fri Feb 22 20:48:38 2019 +## Date of fit: Mon Feb 25 14:54:45 2019 +## Date of summary: Mon Feb 25 14:54:45 2019 ## ## Equations: ## d_parent/dt = - ((k1 * g * exp(-k1 * time) + k2 * (1 - g) * @@ -470,7 +470,7 @@ ## ## Model predictions using solution type analytical ## -## Fitted with method Port using 137 model solutions performed in 0.362 s +## Fitted with method Port using 137 model solutions performed in 0.348 s ## ## Weighting: none ## @@ -561,15 +561,15 @@ <div class="sourceCode" id="cb26"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb26-1" data-line-number="1"><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/summary">summary</a></span>(mm.L4[[<span class="st">"SFO"</span>, <span class="dv">1</span>]], <span class="dt">data =</span> <span class="ot">FALSE</span>)</a></code></pre></div> <pre><code>## mkin version used for fitting: 0.9.48.1 ## R version used for fitting: 3.5.2 -## Date of fit: Fri Feb 22 20:48:38 2019 -## Date of summary: Fri Feb 22 20:48:38 2019 +## Date of fit: Mon Feb 25 14:54:45 2019 +## Date of summary: Mon Feb 25 14:54:45 2019 ## ## Equations: ## d_parent/dt = - k_parent_sink * parent ## ## Model predictions using solution type analytical ## -## Fitted with method Port using 46 model solutions performed in 0.123 s +## Fitted with method Port using 46 model solutions performed in 0.112 s ## ## Weighting: none ## @@ -621,15 +621,15 @@ <div class="sourceCode" id="cb28"><pre class="sourceCode r"><code class="sourceCode r"><a class="sourceLine" id="cb28-1" data-line-number="1"><span class="kw"><a href="https://www.rdocumentation.org/packages/base/topics/summary">summary</a></span>(mm.L4[[<span class="st">"FOMC"</span>, <span class="dv">1</span>]], <span class="dt">data =</span> <span class="ot">FALSE</span>)</a></code></pre></div> <pre><code>## mkin version used for fitting: 0.9.48.1 ## R version used for fitting: 3.5.2 -## Date of fit: Fri Feb 22 20:48:38 2019 -## Date of summary: Fri Feb 22 20:48:38 2019 +## Date of fit: Mon Feb 25 14:54:45 2019 +## Date of summary: Mon Feb 25 14:54:45 2019 ## ## Equations: ## d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent ## ## Model predictions using solution type analytical ## -## Fitted with method Port using 66 model solutions performed in 0.184 s +## Fitted with method Port using 66 model solutions performed in 0.165 s ## ## Weighting: none ## diff --git a/docs/articles/mkin.html b/docs/articles/mkin.html index 9baa44e4..bffd19dd 100644 --- a/docs/articles/mkin.html +++ b/docs/articles/mkin.html @@ -85,7 +85,7 @@ <h1>Introduction to mkin</h1> <h4 class="author">Johannes Ranke</h4> - <h4 class="date">2019-02-22</h4> + <h4 class="date">2019-02-25</h4> <div class="hidden name"><code>mkin.Rmd</code></div> diff --git a/docs/articles/twa.html b/docs/articles/twa.html index 8c340557..83b05989 100644 --- a/docs/articles/twa.html +++ b/docs/articles/twa.html @@ -85,7 +85,7 @@ <h1>Calculation of time weighted average concentrations with mkin</h1> <h4 class="author">Johannes Ranke</h4> - <h4 class="date">2019-02-22</h4> + <h4 class="date">2019-02-25</h4> <div class="hidden name"><code>twa.Rmd</code></div> diff --git a/docs/articles/web_only/FOCUS_Z.html b/docs/articles/web_only/FOCUS_Z.html index b1e2811c..c3ee7415 100644 --- a/docs/articles/web_only/FOCUS_Z.html +++ b/docs/articles/web_only/FOCUS_Z.html @@ -85,7 +85,7 @@ <h1>Example evaluation of FOCUS dataset Z</h1> <h4 class="author">Johannes Ranke</h4> - <h4 class="date">2019-02-22</h4> + <h4 class="date">2019-02-25</h4> <div class="hidden name"><code>FOCUS_Z.Rmd</code></div> diff --git a/docs/articles/web_only/compiled_models.html b/docs/articles/web_only/compiled_models.html index fbf2de33..4209d2bc 100644 --- a/docs/articles/web_only/compiled_models.html +++ b/docs/articles/web_only/compiled_models.html @@ -85,7 +85,7 @@ <h1>Performance benefit by using compiled model definitions in mkin</h1> <h4 class="author">Johannes Ranke</h4> - <h4 class="date">2019-02-22</h4> + <h4 class="date">2019-02-25</h4> <div class="hidden name"><code>compiled_models.Rmd</code></div> @@ -126,9 +126,9 @@ <a class="sourceLine" id="cb5-16" data-line-number="16">}</a></code></pre></div> <pre><code>## Lade nötiges Paket: rbenchmark</code></pre> <pre><code>## test replications elapsed relative user.self sys.self -## 3 deSolve, compiled 3 2.484 1.000 2.483 0 -## 1 deSolve, not compiled 3 17.963 7.231 17.951 0 -## 2 Eigenvalue based 3 3.146 1.267 3.144 0 +## 3 deSolve, compiled 3 2.394 1.000 2.388 0.004 +## 1 deSolve, not compiled 3 17.923 7.487 17.910 0.000 +## 2 Eigenvalue based 3 3.021 1.262 3.018 0.000 ## user.child sys.child ## 3 0 0 ## 1 0 0 @@ -157,8 +157,8 @@ <a class="sourceLine" id="cb8-16" data-line-number="16">}</a></code></pre></div> <pre><code>## Successfully compiled differential equation model from auto-generated C code.</code></pre> <pre><code>## test replications elapsed relative user.self sys.self -## 2 deSolve, compiled 3 4.232 1.000 4.226 0.004 -## 1 deSolve, not compiled 3 37.946 8.966 37.924 0.000 +## 2 deSolve, compiled 3 4.162 1.000 4.158 0 +## 1 deSolve, not compiled 3 37.536 9.019 37.517 0 ## user.child sys.child ## 2 0 0 ## 1 0 0</code></pre> diff --git a/docs/reference/Extract.mmkin.html b/docs/reference/Extract.mmkin.html index e3285ed3..95b1558e 100644 --- a/docs/reference/Extract.mmkin.html +++ b/docs/reference/Extract.mmkin.html @@ -280,7 +280,7 @@ #> #> $time #> User System verstrichen -#> 0.201 0.000 0.200 +#> 0.196 0.000 0.196 #> #> $mkinmod #> <mkinmod> model generated with @@ -469,8 +469,8 @@ #> } #> return(mC) #> } -#> <bytecode: 0x555559103bf0> -#> <environment: 0x55555a51ba10> +#> <bytecode: 0x555559255c78> +#> <environment: 0x55555add1128> #> #> $cost_notrans #> function (P) @@ -492,8 +492,8 @@ #> scaleVar = scaleVar) #> return(mC) #> } -#> <bytecode: 0x55555a537b00> -#> <environment: 0x55555a51ba10> +#> <bytecode: 0x55555a1e9540> +#> <environment: 0x55555add1128> #> #> $hessian_notrans #> parent_0 k_parent_sink @@ -560,7 +560,7 @@ #> 99.17407 #> #> $date -#> [1] "Fri Feb 22 20:46:31 2019" +#> [1] "Mon Feb 25 14:52:43 2019" #> #> $version #> [1] "0.9.48.1" diff --git a/docs/reference/index.html b/docs/reference/index.html index f31a72fe..24f3df0c 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -151,6 +151,12 @@ <p><code><a href="mmkin.html">mmkin()</a></code> </p> </td> <td><p>Fit one or more kinetic models with one or more state variables to one or more datasets</p></td> + </tr><tr> + + <td> + <p><code><a href="nafta.html">nafta()</a></code> </p> + </td> + <td><p>Evaluate parent kinetics using the NAFTA guidance</p></td> </tr> </tbody><tbody> <tr> diff --git a/docs/reference/mccall81_245T.html b/docs/reference/mccall81_245T.html index 7b3418de..bcc871d8 100644 --- a/docs/reference/mccall81_245T.html +++ b/docs/reference/mccall81_245T.html @@ -160,8 +160,8 @@ <span class='kw'>anisole</span> <span class='kw'>=</span> <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/list'>list</a></span>(<span class='kw'>type</span> <span class='kw'>=</span> <span class='st'>"SFO"</span>))</div><div class='output co'>#> <span class='message'>Successfully compiled differential equation model from auto-generated C code.</span></div><div class='input'> </div><div class='input'> <span class='no'>fit.1</span> <span class='kw'><-</span> <span class='fu'><a href='mkinfit.html'>mkinfit</a></span>(<span class='no'>SFO_SFO_SFO</span>, <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/subset'>subset</a></span>(<span class='no'>mccall81_245T</span>, <span class='no'>soil</span> <span class='kw'>==</span> <span class='st'>"Commerce"</span>), <span class='kw'>quiet</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>) <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span>(<span class='no'>fit.1</span>, <span class='kw'>data</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</div><div class='output co'>#> mkin version used for fitting: 0.9.48.1 #> R version used for fitting: 3.5.2 -#> Date of fit: Fri Feb 22 20:46:54 2019 -#> Date of summary: Fri Feb 22 20:46:54 2019 +#> Date of fit: Mon Feb 25 14:53:05 2019 +#> Date of summary: Mon Feb 25 14:53:05 2019 #> #> Equations: #> d_T245/dt = - k_T245_sink * T245 - k_T245_phenol * T245 @@ -171,7 +171,7 @@ #> #> Model predictions using solution type deSolve #> -#> Fitted with method Port using 574 model solutions performed in 4.461 s +#> Fitted with method Port using 574 model solutions performed in 3.873 s #> #> Weighting: none #> @@ -249,8 +249,8 @@ <span class='kw'>fixed_parms</span> <span class='kw'>=</span> <span class='st'>"k_phenol_sink"</span>, <span class='kw'>quiet</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>) <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span>(<span class='no'>fit.2</span>, <span class='kw'>data</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</div><div class='output co'>#> mkin version used for fitting: 0.9.48.1 #> R version used for fitting: 3.5.2 -#> Date of fit: Fri Feb 22 20:46:56 2019 -#> Date of summary: Fri Feb 22 20:46:56 2019 +#> Date of fit: Mon Feb 25 14:53:07 2019 +#> Date of summary: Mon Feb 25 14:53:07 2019 #> #> Equations: #> d_T245/dt = - k_T245_sink * T245 - k_T245_phenol * T245 @@ -260,7 +260,7 @@ #> #> Model predictions using solution type deSolve #> -#> Fitted with method Port using 246 model solutions performed in 1.709 s +#> Fitted with method Port using 246 model solutions performed in 1.623 s #> #> Weighting: none #> diff --git a/docs/reference/mkinfit.html b/docs/reference/mkinfit.html index dfdddb25..80278890 100644 --- a/docs/reference/mkinfit.html +++ b/docs/reference/mkinfit.html @@ -438,15 +438,15 @@ <span class='no'>fit</span> <span class='kw'><-</span> <span class='fu'>mkinfit</span>(<span class='st'>"FOMC"</span>, <span class='no'>FOCUS_2006_C</span>, <span class='kw'>quiet</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>) <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span>(<span class='no'>fit</span>)</div><div class='output co'>#> mkin version used for fitting: 0.9.48.1 #> R version used for fitting: 3.5.2 -#> Date of fit: Fri Feb 22 20:46:59 2019 -#> Date of summary: Fri Feb 22 20:46:59 2019 +#> Date of fit: Mon Feb 25 14:53:09 2019 +#> Date of summary: Mon Feb 25 14:53:09 2019 #> #> Equations: #> d_parent/dt = - (alpha/beta) * 1/((time/beta) + 1) * parent #> #> Model predictions using solution type analytical #> -#> Fitted with method Port using 64 model solutions performed in 0.185 s +#> Fitted with method Port using 64 model solutions performed in 0.168 s #> #> Weighting: none #> @@ -515,7 +515,7 @@ <span class='kw'>m1</span> <span class='kw'>=</span> <span class='fu'><a href='mkinsub.html'>mkinsub</a></span>(<span class='st'>"SFO"</span>))</div><div class='output co'>#> <span class='message'>Successfully compiled differential equation model from auto-generated C code.</span></div><div class='input'><span class='co'># Fit the model to the FOCUS example dataset D using defaults</span> <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/print'>print</a></span>(<span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/system.time'>system.time</a></span>(<span class='no'>fit</span> <span class='kw'><-</span> <span class='fu'>mkinfit</span>(<span class='no'>SFO_SFO</span>, <span class='no'>FOCUS_2006_D</span>, <span class='kw'>solution_type</span> <span class='kw'>=</span> <span class='st'>"eigen"</span>, <span class='kw'>quiet</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)))</div><div class='output co'>#> User System verstrichen -#> 1.071 0.000 1.072 </div><div class='input'><span class='fu'><a href='https://www.rdocumentation.org/packages/stats/topics/coef'>coef</a></span>(<span class='no'>fit</span>)</div><div class='output co'>#> parent_0 log_k_parent_sink log_k_parent_m1 log_k_m1_sink +#> 1.038 0.000 1.039 </div><div class='input'><span class='fu'><a href='https://www.rdocumentation.org/packages/stats/topics/coef'>coef</a></span>(<span class='no'>fit</span>)</div><div class='output co'>#> parent_0 log_k_parent_sink log_k_parent_m1 log_k_m1_sink #> 99.59848 -3.03822 -2.98030 -5.24750 </div><div class='input'><span class='fu'><a href='endpoints.html'>endpoints</a></span>(<span class='no'>fit</span>)</div><div class='output co'>#> $ff #> parent_sink parent_m1 m1_sink #> 0.485524 0.514476 1.000000 @@ -590,7 +590,7 @@ #> Model cost at call 146 : 371.2134 #> Optimisation by method Port successfully terminated. #> User System verstrichen -#> 0.852 0.000 0.852 </div><div class='input'><span class='fu'><a href='https://www.rdocumentation.org/packages/stats/topics/coef'>coef</a></span>(<span class='no'>fit.deSolve</span>)</div><div class='output co'>#> parent_0 log_k_parent_sink log_k_parent_m1 log_k_m1_sink +#> 0.827 0.000 0.827 </div><div class='input'><span class='fu'><a href='https://www.rdocumentation.org/packages/stats/topics/coef'>coef</a></span>(<span class='no'>fit.deSolve</span>)</div><div class='output co'>#> parent_0 log_k_parent_sink log_k_parent_m1 log_k_m1_sink #> 99.59848 -3.03822 -2.98030 -5.24750 </div><div class='input'><span class='fu'><a href='endpoints.html'>endpoints</a></span>(<span class='no'>fit.deSolve</span>)</div><div class='output co'>#> $ff #> parent_sink parent_m1 m1_sink #> 0.485524 0.514476 1.000000 @@ -628,8 +628,8 @@ <span class='kw'>m1</span> <span class='kw'>=</span> <span class='fu'><a href='mkinsub.html'>mkinsub</a></span>(<span class='st'>"SFO"</span>), <span class='kw'>use_of_ff</span> <span class='kw'>=</span> <span class='st'>"max"</span>)</div><div class='output co'>#> <span class='message'>Successfully compiled differential equation model from auto-generated C code.</span></div><div class='input'><span class='no'>f.noweight</span> <span class='kw'><-</span> <span class='fu'>mkinfit</span>(<span class='no'>SFO_SFO.ff</span>, <span class='no'>FOCUS_2006_D</span>, <span class='kw'>quiet</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>) <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span>(<span class='no'>f.noweight</span>)</div><div class='output co'>#> mkin version used for fitting: 0.9.48.1 #> R version used for fitting: 3.5.2 -#> Date of fit: Fri Feb 22 20:47:11 2019 -#> Date of summary: Fri Feb 22 20:47:11 2019 +#> Date of fit: Mon Feb 25 14:53:22 2019 +#> Date of summary: Mon Feb 25 14:53:22 2019 #> #> Equations: #> d_parent/dt = - k_parent * parent @@ -637,7 +637,7 @@ #> #> Model predictions using solution type deSolve #> -#> Fitted with method Port using 186 model solutions performed in 0.864 s +#> Fitted with method Port using 186 model solutions performed in 0.898 s #> #> Weighting: none #> @@ -745,8 +745,8 @@ #> 120 m1 33.31 28.78984 4.520e+00</div><div class='input'><span class='no'>f.irls</span> <span class='kw'><-</span> <span class='fu'>mkinfit</span>(<span class='no'>SFO_SFO.ff</span>, <span class='no'>FOCUS_2006_D</span>, <span class='kw'>reweight.method</span> <span class='kw'>=</span> <span class='st'>"obs"</span>, <span class='kw'>quiet</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>) <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span>(<span class='no'>f.irls</span>)</div><div class='output co'>#> mkin version used for fitting: 0.9.48.1 #> R version used for fitting: 3.5.2 -#> Date of fit: Fri Feb 22 20:47:14 2019 -#> Date of summary: Fri Feb 22 20:47:14 2019 +#> Date of fit: Mon Feb 25 14:53:24 2019 +#> Date of summary: Mon Feb 25 14:53:24 2019 #> #> Equations: #> d_parent/dt = - k_parent * parent @@ -754,7 +754,7 @@ #> #> Model predictions using solution type deSolve #> -#> Fitted with method Port using 551 model solutions performed in 2.584 s +#> Fitted with method Port using 551 model solutions performed in 2.572 s #> #> Weighting: none #> @@ -867,8 +867,8 @@ #> 120 m1 33.31 28.80898 4.501e+00 2.722</div><div class='input'><span class='no'>f.w.mean</span> <span class='kw'><-</span> <span class='fu'>mkinfit</span>(<span class='no'>SFO_SFO.ff</span>, <span class='no'>FOCUS_2006_D</span>, <span class='kw'>weight</span> <span class='kw'>=</span> <span class='st'>"mean"</span>, <span class='kw'>quiet</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>) <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span>(<span class='no'>f.w.mean</span>)</div><div class='output co'>#> mkin version used for fitting: 0.9.48.1 #> R version used for fitting: 3.5.2 -#> Date of fit: Fri Feb 22 20:47:15 2019 -#> Date of summary: Fri Feb 22 20:47:15 2019 +#> Date of fit: Mon Feb 25 14:53:25 2019 +#> Date of summary: Mon Feb 25 14:53:25 2019 #> #> Equations: #> d_parent/dt = - k_parent * parent @@ -876,7 +876,7 @@ #> #> Model predictions using solution type deSolve #> -#> Fitted with method Port using 155 model solutions performed in 0.716 s +#> Fitted with method Port using 155 model solutions performed in 0.709 s #> #> Weighting: mean #> @@ -985,8 +985,8 @@ <span class='kw'>quiet</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>) <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span>(<span class='no'>f.w.value</span>)</div><div class='output co'>#> mkin version used for fitting: 0.9.48.1 #> R version used for fitting: 3.5.2 -#> Date of fit: Fri Feb 22 20:47:16 2019 -#> Date of summary: Fri Feb 22 20:47:16 2019 +#> Date of fit: Mon Feb 25 14:53:26 2019 +#> Date of summary: Mon Feb 25 14:53:26 2019 #> #> Equations: #> d_parent/dt = - k_parent * parent @@ -994,7 +994,7 @@ #> #> Model predictions using solution type deSolve #> -#> Fitted with method Port using 174 model solutions performed in 0.83 s +#> Fitted with method Port using 174 model solutions performed in 0.81 s #> #> Weighting: manual #> @@ -1105,8 +1105,8 @@ <span class='no'>f.w.man</span> <span class='kw'><-</span> <span class='fu'>mkinfit</span>(<span class='no'>SFO_SFO.ff</span>, <span class='no'>dw</span>, <span class='kw'>err</span> <span class='kw'>=</span> <span class='st'>"err.man"</span>, <span class='kw'>quiet</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>) <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span>(<span class='no'>f.w.man</span>)</div><div class='output co'>#> mkin version used for fitting: 0.9.48.1 #> R version used for fitting: 3.5.2 -#> Date of fit: Fri Feb 22 20:47:17 2019 -#> Date of summary: Fri Feb 22 20:47:17 2019 +#> Date of fit: Mon Feb 25 14:53:28 2019 +#> Date of summary: Mon Feb 25 14:53:28 2019 #> #> Equations: #> d_parent/dt = - k_parent * parent @@ -1114,7 +1114,7 @@ #> #> Model predictions using solution type deSolve #> -#> Fitted with method Port using 270 model solutions performed in 1.286 s +#> Fitted with method Port using 270 model solutions performed in 1.25 s #> #> Weighting: manual #> @@ -1223,8 +1223,8 @@ <span class='kw'>reweight.method</span> <span class='kw'>=</span> <span class='st'>"obs"</span>) <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span>(<span class='no'>f.w.man.irls</span>)</div><div class='output co'>#> mkin version used for fitting: 0.9.48.1 #> R version used for fitting: 3.5.2 -#> Date of fit: Fri Feb 22 20:47:21 2019 -#> Date of summary: Fri Feb 22 20:47:21 2019 +#> Date of fit: Mon Feb 25 14:53:31 2019 +#> Date of summary: Mon Feb 25 14:53:31 2019 #> #> Equations: #> d_parent/dt = - k_parent * parent @@ -1232,7 +1232,7 @@ #> #> Model predictions using solution type deSolve #> -#> Fitted with method Port using 692 model solutions performed in 3.38 s +#> Fitted with method Port using 692 model solutions performed in 3.302 s #> #> Weighting: manual #> diff --git a/docs/reference/mkinmod.html b/docs/reference/mkinmod.html index 64fba5e5..ba26c686 100644 --- a/docs/reference/mkinmod.html +++ b/docs/reference/mkinmod.html @@ -231,7 +231,7 @@ For the definition of model types and their parameters, the equations given <span class='no'>SFO_SFO</span> <span class='kw'><-</span> <span class='fu'>mkinmod</span>( <span class='kw'>parent</span> <span class='kw'>=</span> <span class='fu'><a href='mkinsub.html'>mkinsub</a></span>(<span class='st'>"SFO"</span>, <span class='st'>"m1"</span>), <span class='kw'>m1</span> <span class='kw'>=</span> <span class='fu'><a href='mkinsub.html'>mkinsub</a></span>(<span class='st'>"SFO"</span>), <span class='kw'>verbose</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)</div><div class='output co'>#> Compilation argument: -#> /usr/lib/R/bin/R CMD SHLIB file622753352edd.c 2> file622753352edd.c.err.txt +#> /usr/lib/R/bin/R CMD SHLIB file481263217c00.c 2> file481263217c00.c.err.txt #> Program source: #> 1: #include <R.h> #> 2: diff --git a/docs/reference/mkinpredict.html b/docs/reference/mkinpredict.html index 2b4c33aa..738eeb9d 100644 --- a/docs/reference/mkinpredict.html +++ b/docs/reference/mkinpredict.html @@ -325,7 +325,7 @@ <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/c'>c</a></span>(<span class='kw'>parent</span> <span class='kw'>=</span> <span class='fl'>100</span>, <span class='kw'>m1</span> <span class='kw'>=</span> <span class='fl'>0</span>), <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/seq'>seq</a></span>(<span class='fl'>0</span>, <span class='fl'>20</span>, <span class='kw'>by</span> <span class='kw'>=</span> <span class='fl'>0.1</span>), <span class='kw'>solution_type</span> <span class='kw'>=</span> <span class='st'>"eigen"</span>)[<span class='fl'>201</span>,]))</div><div class='output co'>#> time parent m1 #> 201 20 4.978707 27.46227</div><div class='output co'>#> User System verstrichen -#> 0.004 0.000 0.003 </div><div class='input'> <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/system.time'>system.time</a></span>( +#> 0.003 0.000 0.003 </div><div class='input'> <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/system.time'>system.time</a></span>( <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/print'>print</a></span>(<span class='fu'>mkinpredict</span>(<span class='no'>SFO_SFO</span>, <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/c'>c</a></span>(<span class='kw'>k_parent_m1</span> <span class='kw'>=</span> <span class='fl'>0.05</span>, <span class='kw'>k_parent_sink</span> <span class='kw'>=</span> <span class='fl'>0.1</span>, <span class='kw'>k_m1_sink</span> <span class='kw'>=</span> <span class='fl'>0.01</span>), <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/c'>c</a></span>(<span class='kw'>parent</span> <span class='kw'>=</span> <span class='fl'>100</span>, <span class='kw'>m1</span> <span class='kw'>=</span> <span class='fl'>0</span>), <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/seq'>seq</a></span>(<span class='fl'>0</span>, <span class='fl'>20</span>, <span class='kw'>by</span> <span class='kw'>=</span> <span class='fl'>0.1</span>), <span class='kw'>solution_type</span> <span class='kw'>=</span> <span class='st'>"deSolve"</span>)[<span class='fl'>201</span>,]))</div><div class='output co'>#> time parent m1 @@ -335,7 +335,7 @@ <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/c'>c</a></span>(<span class='kw'>parent</span> <span class='kw'>=</span> <span class='fl'>100</span>, <span class='kw'>m1</span> <span class='kw'>=</span> <span class='fl'>0</span>), <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/seq'>seq</a></span>(<span class='fl'>0</span>, <span class='fl'>20</span>, <span class='kw'>by</span> <span class='kw'>=</span> <span class='fl'>0.1</span>), <span class='kw'>solution_type</span> <span class='kw'>=</span> <span class='st'>"deSolve"</span>, <span class='kw'>use_compiled</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)[<span class='fl'>201</span>,]))</div><div class='output co'>#> time parent m1 #> 201 20 4.978707 27.46227</div><div class='output co'>#> User System verstrichen -#> 0.039 0.000 0.040 </div><div class='input'> +#> 0.047 0.000 0.047 </div><div class='input'> </div><div class='input'> <span class='co'># Predict from a fitted model</span> <span class='no'>f</span> <span class='kw'><-</span> <span class='fu'><a href='mkinfit.html'>mkinfit</a></span>(<span class='no'>SFO_SFO</span>, <span class='no'>FOCUS_2006_C</span>)</div><div class='output co'>#> Model cost at call 1 : 552.5739 #> Model cost at call 3 : 552.5739 diff --git a/docs/reference/mmkin.html b/docs/reference/mmkin.html index 71ec89e8..1a60e3ea 100644 --- a/docs/reference/mmkin.html +++ b/docs/reference/mmkin.html @@ -191,8 +191,8 @@ <span class='no'>time_1</span> <span class='kw'><-</span> <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/system.time'>system.time</a></span>(<span class='no'>fits.4</span> <span class='kw'><-</span> <span class='fu'>mmkin</span>(<span class='no'>models</span>, <span class='no'>datasets</span>, <span class='kw'>cores</span> <span class='kw'>=</span> <span class='fl'>1</span>, <span class='kw'>quiet</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>)) <span class='no'>time_default</span></div><div class='output co'>#> User System verstrichen -#> 0.052 0.044 7.383 </div><div class='input'><span class='no'>time_1</span></div><div class='output co'>#> User System verstrichen -#> 23.652 0.004 23.672 </div><div class='input'> +#> 0.036 0.039 7.196 </div><div class='input'><span class='no'>time_1</span></div><div class='output co'>#> User System verstrichen +#> 22.818 0.000 22.834 </div><div class='input'> <span class='fu'><a href='endpoints.html'>endpoints</a></span>(<span class='no'>fits.0</span><span class='kw'>[[</span><span class='st'>"SFO_lin"</span>, <span class='fl'>2</span>]])</div><div class='output co'>#> $ff #> parent_M1 parent_sink M1_M2 M1_sink #> 0.7340480 0.2659520 0.7505686 0.2494314 diff --git a/docs/reference/summary.mkinfit.html b/docs/reference/summary.mkinfit.html index 39ef962c..f0d4a060 100644 --- a/docs/reference/summary.mkinfit.html +++ b/docs/reference/summary.mkinfit.html @@ -208,15 +208,15 @@ <h2 class="hasAnchor" id="examples"><a class="anchor" href="#examples"></a>Examples</h2> <pre class="examples"><div class='input'> <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span>(<span class='fu'><a href='mkinfit.html'>mkinfit</a></span>(<span class='fu'><a href='mkinmod.html'>mkinmod</a></span>(<span class='kw'>parent</span> <span class='kw'>=</span> <span class='fu'><a href='mkinsub.html'>mkinsub</a></span>(<span class='st'>"SFO"</span>)), <span class='no'>FOCUS_2006_A</span>, <span class='kw'>quiet</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>))</div><div class='output co'>#> mkin version used for fitting: 0.9.48.1 #> R version used for fitting: 3.5.2 -#> Date of fit: Fri Feb 22 20:48:16 2019 -#> Date of summary: Fri Feb 22 20:48:16 2019 +#> Date of fit: Mon Feb 25 14:54:24 2019 +#> Date of summary: Mon Feb 25 14:54:24 2019 #> #> Equations: #> d_parent/dt = - k_parent_sink * parent #> #> Model predictions using solution type analytical #> -#> Fitted with method Port using 35 model solutions performed in 0.088 s +#> Fitted with method Port using 35 model solutions performed in 0.085 s #> #> Weighting: none #> diff --git a/docs/reference/transform_odeparms.html b/docs/reference/transform_odeparms.html index 9d18fbb2..1071a932 100644 --- a/docs/reference/transform_odeparms.html +++ b/docs/reference/transform_odeparms.html @@ -202,8 +202,8 @@ The transformation of sets of formation fractions is fragile, as it supposes <span class='no'>fit</span> <span class='kw'><-</span> <span class='fu'><a href='mkinfit.html'>mkinfit</a></span>(<span class='no'>SFO_SFO</span>, <span class='no'>FOCUS_2006_D</span>, <span class='kw'>quiet</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>) <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span>(<span class='no'>fit</span>, <span class='kw'>data</span><span class='kw'>=</span><span class='fl'>FALSE</span>) <span class='co'># See transformed and backtransformed parameters</span></div><div class='output co'>#> mkin version used for fitting: 0.9.48.1 #> R version used for fitting: 3.5.2 -#> Date of fit: Fri Feb 22 20:48:24 2019 -#> Date of summary: Fri Feb 22 20:48:24 2019 +#> Date of fit: Mon Feb 25 14:54:32 2019 +#> Date of summary: Mon Feb 25 14:54:32 2019 #> #> Equations: #> d_parent/dt = - k_parent_sink * parent - k_parent_m1 * parent @@ -211,7 +211,7 @@ The transformation of sets of formation fractions is fragile, as it supposes #> #> Model predictions using solution type deSolve #> -#> Fitted with method Port using 153 model solutions performed in 0.717 s +#> Fitted with method Port using 153 model solutions performed in 0.704 s #> #> Weighting: none #> @@ -278,8 +278,8 @@ The transformation of sets of formation fractions is fragile, as it supposes </div><div class='input'><span class='no'>fit.2</span> <span class='kw'><-</span> <span class='fu'><a href='mkinfit.html'>mkinfit</a></span>(<span class='no'>SFO_SFO</span>, <span class='no'>FOCUS_2006_D</span>, <span class='kw'>transform_rates</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>, <span class='kw'>quiet</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>) <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span>(<span class='no'>fit.2</span>, <span class='kw'>data</span><span class='kw'>=</span><span class='fl'>FALSE</span>)</div><div class='output co'>#> mkin version used for fitting: 0.9.48.1 #> R version used for fitting: 3.5.2 -#> Date of fit: Fri Feb 22 20:48:26 2019 -#> Date of summary: Fri Feb 22 20:48:26 2019 +#> Date of fit: Mon Feb 25 14:54:34 2019 +#> Date of summary: Mon Feb 25 14:54:34 2019 #> #> Equations: #> d_parent/dt = - k_parent_sink * parent - k_parent_m1 * parent @@ -287,7 +287,7 @@ The transformation of sets of formation fractions is fragile, as it supposes #> #> Model predictions using solution type deSolve #> -#> Fitted with method Port using 350 model solutions performed in 1.661 s +#> Fitted with method Port using 350 model solutions performed in 1.62 s #> #> Weighting: none #> @@ -366,8 +366,8 @@ The transformation of sets of formation fractions is fragile, as it supposes <span class='no'>fit.ff</span> <span class='kw'><-</span> <span class='fu'><a href='mkinfit.html'>mkinfit</a></span>(<span class='no'>SFO_SFO.ff</span>, <span class='no'>FOCUS_2006_D</span>, <span class='kw'>quiet</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>) <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span>(<span class='no'>fit.ff</span>, <span class='kw'>data</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</div><div class='output co'>#> mkin version used for fitting: 0.9.48.1 #> R version used for fitting: 3.5.2 -#> Date of fit: Fri Feb 22 20:48:27 2019 -#> Date of summary: Fri Feb 22 20:48:27 2019 +#> Date of fit: Mon Feb 25 14:54:35 2019 +#> Date of summary: Mon Feb 25 14:54:35 2019 #> #> Equations: #> d_parent/dt = - k_parent * parent @@ -375,7 +375,7 @@ The transformation of sets of formation fractions is fragile, as it supposes #> #> Model predictions using solution type deSolve #> -#> Fitted with method Port using 186 model solutions performed in 0.871 s +#> Fitted with method Port using 186 model solutions performed in 0.856 s #> #> Weighting: none #> @@ -450,8 +450,8 @@ The transformation of sets of formation fractions is fragile, as it supposes <span class='no'>fit.ff.2</span> <span class='kw'><-</span> <span class='fu'><a href='mkinfit.html'>mkinfit</a></span>(<span class='no'>SFO_SFO.ff.2</span>, <span class='no'>FOCUS_2006_D</span>, <span class='kw'>quiet</span> <span class='kw'>=</span> <span class='fl'>TRUE</span>) <span class='fu'><a href='https://www.rdocumentation.org/packages/base/topics/summary'>summary</a></span>(<span class='no'>fit.ff.2</span>, <span class='kw'>data</span> <span class='kw'>=</span> <span class='fl'>FALSE</span>)</div><div class='output co'>#> mkin version used for fitting: 0.9.48.1 #> R version used for fitting: 3.5.2 -#> Date of fit: Fri Feb 22 20:48:28 2019 -#> Date of summary: Fri Feb 22 20:48:28 2019 +#> Date of fit: Mon Feb 25 14:54:36 2019 +#> Date of summary: Mon Feb 25 14:54:36 2019 #> #> Equations: #> d_parent/dt = - k_parent * parent @@ -459,7 +459,7 @@ The transformation of sets of formation fractions is fragile, as it supposes #> #> Model predictions using solution type deSolve #> -#> Fitted with method Port using 104 model solutions performed in 0.484 s +#> Fitted with method Port using 104 model solutions performed in 0.482 s #> #> Weighting: none #> @@ -1,28 +1,30 @@ Loading mkin Testing mkin ✔ | OK F W S | Context -
⠏ | 0 | Calculation of FOCUS chi2 error levels
⠋ | 1 | Calculation of FOCUS chi2 error levels
⠙ | 2 | Calculation of FOCUS chi2 error levels
✔ | 2 | Calculation of FOCUS chi2 error levels [2.5 s] -
⠏ | 0 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠋ | 1 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠙ | 2 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠹ | 3 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠸ | 4 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠼ | 5 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠴ | 6 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠦ | 7 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠧ | 8 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
✔ | 8 | Results for FOCUS D established in expertise for UBA (Ranke 2014) [7.2 s] -
⠏ | 0 | Iteratively reweighted least squares (IRLS) fitting
⠋ | 1 | Iteratively reweighted least squares (IRLS) fitting
⠙ | 1 1 | Iteratively reweighted least squares (IRLS) fitting
✔ | 1 1 | Iteratively reweighted least squares (IRLS) fitting [9.0 s] +
⠏ | 0 | Calculation of FOCUS chi2 error levels
⠋ | 1 | Calculation of FOCUS chi2 error levels
⠙ | 2 | Calculation of FOCUS chi2 error levels
✔ | 2 | Calculation of FOCUS chi2 error levels [2.4 s] +
⠏ | 0 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠋ | 1 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠙ | 2 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠹ | 3 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠸ | 4 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠼ | 5 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠴ | 6 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠦ | 7 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
⠧ | 8 | Results for FOCUS D established in expertise for UBA (Ranke 2014)
✔ | 8 | Results for FOCUS D established in expertise for UBA (Ranke 2014) [7.1 s] +
⠏ | 0 | Iteratively reweighted least squares (IRLS) fitting
⠋ | 1 | Iteratively reweighted least squares (IRLS) fitting
⠙ | 1 1 | Iteratively reweighted least squares (IRLS) fitting
✔ | 1 1 | Iteratively reweighted least squares (IRLS) fitting [8.8 s] ──────────────────────────────────────────────────────────────────────────────── test_irls.R:44: skip: Reweighting method 'tc' works Too much trouble with datasets that are randomly generated ────────────────────────────────────────────────────────────────────────────────
⠏ | 0 | Fitting the logistic model
⠋ | 1 | Fitting the logistic model
⠙ | 1 1 | Fitting the logistic model
✔ | 1 1 | Fitting the logistic model [0.5 s] ──────────────────────────────────────────────────────────────────────────────── -test_logistic.R:42: skip: The logistic fit can be done via differential equation +test_logistic.R:41: skip: The logistic fit can be done via differential equation Skip slow fit of logistic model using deSolve without compilation ────────────────────────────────────────────────────────────────────────────────
⠏ | 0 | Model predictions with mkinpredict
⠋ | 1 | Model predictions with mkinpredict
⠙ | 2 | Model predictions with mkinpredict
⠹ | 3 | Model predictions with mkinpredict
✔ | 3 | Model predictions with mkinpredict [0.3 s] -
⠏ | 0 | Fitting of parent only models
⠋ | 1 | Fitting of parent only models
⠙ | 2 | Fitting of parent only models
⠹ | 3 | Fitting of parent only models
⠸ | 4 | Fitting of parent only models
⠼ | 5 | Fitting of parent only models
⠴ | 6 | Fitting of parent only models
⠦ | 7 | Fitting of parent only models
⠧ | 8 | Fitting of parent only models
⠇ | 9 | Fitting of parent only models
⠏ | 10 | Fitting of parent only models
⠋ | 11 | Fitting of parent only models
⠙ | 12 | Fitting of parent only models
⠹ | 13 | Fitting of parent only models
⠸ | 14 | Fitting of parent only models
⠼ | 15 | Fitting of parent only models
⠴ | 16 | Fitting of parent only models
⠦ | 17 | Fitting of parent only models
⠧ | 18 | Fitting of parent only models
⠇ | 19 | Fitting of parent only models
⠏ | 20 | Fitting of parent only models
⠋ | 21 | Fitting of parent only models
✔ | 21 | Fitting of parent only models [23.9 s] -
⠏ | 0 | Complex test case from Schaefer et al. (2007) Piacenza paper
⠋ | 1 | Complex test case from Schaefer et al. (2007) Piacenza paper
⠙ | 2 | Complex test case from Schaefer et al. (2007) Piacenza paper
✔ | 2 | Complex test case from Schaefer et al. (2007) Piacenza paper [6.0 s] +
⠏ | 0 | Evaluations according to the NAFTA guidance from 2015
⠋ | 1 | Evaluations according to the NAFTA guidance from 2015
⠙ | 1 1 | Evaluations according to the NAFTA guidance from 2015
⠙ | 2 | Evaluations according to the NAFTA guidance from 2015
⠹ | 3 | Evaluations according to the NAFTA guidance from 2015
⠸ | 4 | Evaluations according to the NAFTA guidance from 2015
⠼ | 5 | Evaluations according to the NAFTA guidance from 2015
⠴ | 6 | Evaluations according to the NAFTA guidance from 2015
⠦ | 7 | Evaluations according to the NAFTA guidance from 2015
✔ | 7 | Evaluations according to the NAFTA guidance from 2015 [0.7 s] +
⠏ | 0 | Fitting of parent only models
⠋ | 1 | Fitting of parent only models
⠙ | 2 | Fitting of parent only models
⠹ | 3 | Fitting of parent only models
⠸ | 4 | Fitting of parent only models
⠼ | 5 | Fitting of parent only models
⠴ | 6 | Fitting of parent only models
⠦ | 7 | Fitting of parent only models
⠧ | 8 | Fitting of parent only models
⠇ | 9 | Fitting of parent only models
⠏ | 10 | Fitting of parent only models
⠋ | 11 | Fitting of parent only models
⠙ | 12 | Fitting of parent only models
⠹ | 13 | Fitting of parent only models
⠸ | 14 | Fitting of parent only models
⠼ | 15 | Fitting of parent only models
⠴ | 16 | Fitting of parent only models
⠦ | 17 | Fitting of parent only models
⠧ | 18 | Fitting of parent only models
⠇ | 19 | Fitting of parent only models
⠏ | 20 | Fitting of parent only models
⠋ | 21 | Fitting of parent only models
✔ | 21 | Fitting of parent only models [23.8 s] +
⠏ | 0 | Calculation of maximum time weighted average concentrations (TWAs)
⠋ | 1 | Calculation of maximum time weighted average concentrations (TWAs)
⠙ | 2 | Calculation of maximum time weighted average concentrations (TWAs)
⠹ | 3 | Calculation of maximum time weighted average concentrations (TWAs)
⠸ | 4 | Calculation of maximum time weighted average concentrations (TWAs)
⠼ | 5 | Calculation of maximum time weighted average concentrations (TWAs)
⠴ | 6 | Calculation of maximum time weighted average concentrations (TWAs)
⠦ | 7 | Calculation of maximum time weighted average concentrations (TWAs)
⠧ | 8 | Calculation of maximum time weighted average concentrations (TWAs)
✔ | 8 | Calculation of maximum time weighted average concentrations (TWAs) [7.2 s] +
⠏ | 0 | Plotting
⠋ | 1 | Plotting
⠙ | 2 | Plotting
✔ | 2 | Plotting [0.4 s] +
⠏ | 0 | Complex test case from Schaefer et al. (2007) Piacenza paper
⠋ | 1 | Complex test case from Schaefer et al. (2007) Piacenza paper
⠙ | 2 | Complex test case from Schaefer et al. (2007) Piacenza paper
✔ | 2 | Complex test case from Schaefer et al. (2007) Piacenza paper [5.9 s]
⠏ | 0 | Results for synthetic data established in expertise for UBA (Ranke 2014)
⠋ | 1 | Results for synthetic data established in expertise for UBA (Ranke 2014)
⠙ | 2 | Results for synthetic data established in expertise for UBA (Ranke 2014)
⠹ | 3 | Results for synthetic data established in expertise for UBA (Ranke 2014)
⠸ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014)
✔ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014) [7.5 s] -
⠏ | 0 | Calculation of maximum time weighted average concentrations (TWAs)
⠋ | 1 | Calculation of maximum time weighted average concentrations (TWAs)
⠙ | 2 | Calculation of maximum time weighted average concentrations (TWAs)
⠹ | 3 | Calculation of maximum time weighted average concentrations (TWAs)
⠸ | 4 | Calculation of maximum time weighted average concentrations (TWAs)
⠼ | 5 | Calculation of maximum time weighted average concentrations (TWAs)
⠴ | 6 | Calculation of maximum time weighted average concentrations (TWAs)
⠦ | 7 | Calculation of maximum time weighted average concentrations (TWAs)
⠧ | 8 | Calculation of maximum time weighted average concentrations (TWAs)
✔ | 8 | Calculation of maximum time weighted average concentrations (TWAs) [8.4 s] ══ Results ═════════════════════════════════════════════════════════════════════ -Duration: 65.5 s +Duration: 65.9 s -OK: 50 +OK: 59 Failed: 0 Warnings: 0 Skipped: 2 diff --git a/tests/figs/deps.txt b/tests/figs/deps.txt new file mode 100644 index 00000000..0f6c3754 --- /dev/null +++ b/tests/figs/deps.txt @@ -0,0 +1,3 @@ +- vdiffr-svg-engine: 1.0 +- vdiffr: 0.3.0.9000 +- freetypeharfbuzz: 0.2.5 diff --git a/tests/figs/plotting/mmkin-plot-for-focus-c.svg b/tests/figs/plotting/mmkin-plot-for-focus-c.svg new file mode 100644 index 00000000..1c697328 --- /dev/null +++ b/tests/figs/plotting/mmkin-plot-for-focus-c.svg @@ -0,0 +1,569 @@ +<?xml version='1.0' encoding='UTF-8' ?> +<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 720.00 576.00'> +<defs> + <style type='text/css'><![CDATA[ + line, polyline, polygon, path, rect, circle { + fill: none; + stroke: #000000; + stroke-linecap: round; + stroke-linejoin: round; + stroke-miterlimit: 10.00; + } + ]]></style> +</defs> +<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/> +<line x1='52.35' y1='121.34' x2='330.13' y2='121.34' style='stroke-width: 0.75;' /> +<line x1='52.35' y1='121.34' x2='52.35' y2='126.38' style='stroke-width: 0.75;' /> +<line x1='98.64' y1='121.34' x2='98.64' y2='126.38' style='stroke-width: 0.75;' /> +<line x1='144.94' y1='121.34' x2='144.94' y2='126.38' style='stroke-width: 0.75;' /> +<line x1='191.24' y1='121.34' x2='191.24' y2='126.38' style='stroke-width: 0.75;' /> +<line x1='237.53' y1='121.34' x2='237.53' y2='126.38' style='stroke-width: 0.75;' /> +<line x1='283.83' y1='121.34' x2='283.83' y2='126.38' style='stroke-width: 0.75;' /> +<line x1='330.13' y1='121.34' x2='330.13' y2='126.38' style='stroke-width: 0.75;' /> +<text x='50.01' y='139.48' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text> +<text x='93.97' y='139.48' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text> +<text x='140.27' y='139.48' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text> +<text x='186.57' y='139.48' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text> +<text x='232.86' y='139.48' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text> +<text x='276.82' y='139.48' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>100</text> +<text x='323.12' y='139.48' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>120</text> +<line x1='41.33' y1='118.38' x2='41.33' y2='48.73' style='stroke-width: 0.75;' /> +<line x1='41.33' y1='118.38' x2='36.29' y2='118.38' style='stroke-width: 0.75;' /> +<line x1='41.33' y1='100.96' x2='36.29' y2='100.96' style='stroke-width: 0.75;' /> +<line x1='41.33' y1='83.55' x2='36.29' y2='83.55' style='stroke-width: 0.75;' /> +<line x1='41.33' y1='66.14' x2='36.29' y2='66.14' style='stroke-width: 0.75;' /> +<line x1='41.33' y1='48.73' x2='36.29' y2='48.73' style='stroke-width: 0.75;' /> +<text transform='translate(29.23,120.71) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text> +<text transform='translate(29.23,105.64) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text> +<text transform='translate(29.23,88.23) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text> +<text transform='translate(29.23,70.81) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text> +<text transform='translate(29.23,53.40) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text> +<polyline points='41.33,121.34 338.83,121.34 338.83,41.33 41.33,41.33 41.33,121.34 ' style='stroke-width: 0.75;' /> +<defs> + <clipPath id='cpMC4wMHwzNjAuMDB8MTUxLjU4fDAuMDA='> + <rect x='0.00' y='0.00' width='360.00' height='151.58' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHwzNjAuMDB8MTUxLjU4fDAuMDA=)'><text x='180.92' y='159.64' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g> +<g clip-path='url(#cpMC4wMHwzNjAuMDB8MTUxLjU4fDAuMDA=)'><text transform='translate(9.07,99.54) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='36.42px' lengthAdjust='spacingAndGlyphs'>Observed</text></g> +<defs> + <clipPath id='cpNDEuMzN8MzM4LjgzfDEyMS4zNHw0MS4zMw=='> + <rect x='41.33' y='41.33' width='297.50' height='80.01' /> + </clipPath> +</defs> +<circle cx='52.35' cy='44.29' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDEyMS4zNHw0MS4zMw==)' /> +<circle cx='54.66' cy='67.97' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDEyMS4zNHw0MS4zMw==)' /> +<circle cx='59.29' cy='92.35' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDEyMS4zNHw0MS4zMw==)' /> +<circle cx='68.55' cy='105.67' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDEyMS4zNHw0MS4zMw==)' /> +<circle cx='84.75' cy='109.93' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDEyMS4zNHw0MS4zMw==)' /> +<circle cx='117.16' cy='112.63' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDEyMS4zNHw0MS4zMw==)' /> +<circle cx='198.18' cy='114.89' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDEyMS4zNHw0MS4zMw==)' /> +<circle cx='263.00' cy='114.98' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDEyMS4zNHw0MS4zMw==)' /> +<circle cx='327.81' cy='117.85' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDEyMS4zNHw0MS4zMw==)' /> +<polyline points='52.35,46.56 55.13,68.67 57.91,83.97 60.69,94.56 63.48,101.89 66.26,106.96 69.04,110.48 71.82,112.91 74.61,114.59 77.39,115.76 80.17,116.56 82.95,117.12 85.74,117.51 88.52,117.77 91.30,117.96 94.08,118.09 96.87,118.18 99.65,118.24 102.43,118.28 105.21,118.31 108.00,118.33 110.78,118.34 113.56,118.35 116.34,118.36 119.13,118.37 121.91,118.37 124.69,118.37 127.47,118.37 130.26,118.37 133.04,118.37 135.82,118.37 138.60,118.37 141.39,118.38 144.17,118.38 146.95,118.38 149.73,118.38 152.52,118.38 155.30,118.38 158.08,118.38 160.86,118.38 163.65,118.38 166.43,118.38 169.21,118.38 171.99,118.38 174.78,118.38 177.56,118.38 180.34,118.38 183.12,118.38 185.91,118.38 188.69,118.38 191.47,118.38 194.25,118.38 197.04,118.38 199.82,118.38 202.60,118.38 205.38,118.38 208.17,118.38 210.95,118.38 213.73,118.38 216.51,118.38 219.30,118.38 222.08,118.38 224.86,118.38 227.64,118.38 230.43,118.38 233.21,118.38 235.99,118.38 238.77,118.38 241.56,118.38 244.34,118.38 247.12,118.38 249.90,118.38 252.69,118.38 255.47,118.38 258.25,118.38 261.03,118.38 263.82,118.38 266.60,118.38 269.38,118.38 272.16,118.38 274.95,118.38 277.73,118.38 280.51,118.38 283.29,118.38 286.08,118.38 288.86,118.38 291.64,118.38 294.42,118.38 297.21,118.38 299.99,118.38 302.77,118.38 305.55,118.38 308.34,118.38 311.12,118.38 313.90,118.38 316.68,118.38 319.47,118.38 322.25,118.38 325.03,118.38 327.81,118.38 ' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDEyMS4zNHw0MS4zMw==)' /> +<rect x='271.42' y='45.33' width='52.54' height='20.16' style='stroke-width: 0.75; fill: #FFFFFF;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDEyMS4zNHw0MS4zMw==)' /> +<line x1='273.68' y1='55.41' x2='288.80' y2='55.41' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDEyMS4zNHw0MS4zMw==)' /> +<circle cx='281.24' cy='55.41' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDEyMS4zNHw0MS4zMw==)' /> +<g clip-path='url(#cpNDEuMzN8MzM4LjgzfDEyMS4zNHw0MS4zMw==)'><text x='296.36' y='58.29' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='23.81px' lengthAdjust='spacingAndGlyphs'>parent</text></g> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='335.91' y='20.16' style='font-size: 10.08px; font-weight: bold; font-family: Liberation Sans;' textLength='48.17px' lengthAdjust='spacingAndGlyphs'>FOCUS_C</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='140.01' y='33.55' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='17.25px' lengthAdjust='spacingAndGlyphs'>SFO</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='157.26' y='33.55' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='159.36' y='33.55' style='font-size: 8.40px; font-family: Symbola;' textLength='3.91px' lengthAdjust='spacingAndGlyphs'>χ</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='163.26' y='29.33' style='font-size: 5.88px; font-family: Liberation Sans;' textLength='3.27px' lengthAdjust='spacingAndGlyphs'>2</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='166.53' y='33.55' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='168.62' y='33.55' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='37.33px' lengthAdjust='spacingAndGlyphs'>error level</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='207.89' y='33.55' style='font-size: 8.40px; font-family: Symbola;' textLength='6.52px' lengthAdjust='spacingAndGlyphs'>=</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='216.35' y='33.55' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='23.80px' lengthAdjust='spacingAndGlyphs'>15.8%</text></g> +<defs> + <clipPath id='cpNDAxLjMzfDY5OC44M3wxMjEuMzR8NDEuMzM='> + <rect x='401.33' y='41.33' width='297.50' height='80.01' /> + </clipPath> +</defs> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<line x1='412.35' y1='121.34' x2='664.88' y2='121.34' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='412.35' y1='121.34' x2='412.35' y2='126.38' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='454.43' y1='121.34' x2='454.43' y2='126.38' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='496.52' y1='121.34' x2='496.52' y2='126.38' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='538.61' y1='121.34' x2='538.61' y2='126.38' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='580.70' y1='121.34' x2='580.70' y2='126.38' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='622.79' y1='121.34' x2='622.79' y2='126.38' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='664.88' y1='121.34' x2='664.88' y2='126.38' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='410.01' y='139.48' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='449.76' y='139.48' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='491.85' y='139.48' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='533.94' y='139.48' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='576.03' y='139.48' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='615.78' y='139.48' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>100</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='657.87' y='139.48' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>120</text></g> +<line x1='401.33' y1='117.38' x2='401.33' y2='45.29' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='117.38' x2='396.29' y2='117.38' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='99.36' x2='396.29' y2='99.36' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='81.33' x2='396.29' y2='81.33' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='63.31' x2='396.29' y2='63.31' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='45.29' x2='396.29' y2='45.29' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,123.45) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='12.14px' lengthAdjust='spacingAndGlyphs'>-10</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,103.09) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='7.47px' lengthAdjust='spacingAndGlyphs'>-5</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,83.67) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,65.65) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>5</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,49.96) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>10</text></g> +<polyline points='401.33,121.34 698.83,121.34 698.83,41.33 401.33,41.33 401.33,121.34 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<defs> + <clipPath id='cpMzYwLjAwfDcyMC4wMHwxNTEuNTh8MC4wMA=='> + <rect x='360.00' y='0.00' width='360.00' height='151.58' /> + </clipPath> +</defs> +<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHwxNTEuNTh8MC4wMA==)'><text x='540.92' y='159.64' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g> +<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHwxNTEuNTh8MC4wMA==)'><text transform='translate(369.07,97.67) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='32.67px' lengthAdjust='spacingAndGlyphs'>Residual</text></g> +<defs> + <clipPath id='cpNDAxLjMzfDY5OC44M3wxMjEuMzR8NDEuMzM='> + <rect x='401.33' y='41.33' width='297.50' height='80.01' /> + </clipPath> +</defs> +<circle cx='412.35' cy='71.93' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxMjEuMzR8NDEuMzM=)' /> +<circle cx='414.45' cy='91.58' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxMjEuMzR8NDEuMzM=)' /> +<circle cx='418.66' cy='92.27' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxMjEuMzR8NDEuMzM=)' /> +<circle cx='427.08' cy='63.61' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxMjEuMzR8NDEuMzM=)' /> +<circle cx='441.81' cy='50.47' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxMjEuMzR8NDEuMzM=)' /> +<circle cx='471.27' cy='57.60' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxMjEuMzR8NDEuMzM=)' /> +<circle cx='544.92' cy='66.92' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxMjEuMzR8NDEuMzM=)' /> +<circle cx='603.85' cy='67.28' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxMjEuMzR8NDEuMzM=)' /> +<circle cx='662.77' cy='79.17' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxMjEuMzR8NDEuMzM=)' /> +<line x1='401.33' y1='81.33' x2='698.83' y2='81.33' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wxMjEuMzR8NDEuMzM=)' /> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='523.49' y='35.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='53.19px' lengthAdjust='spacingAndGlyphs'>SFO residuals</text></g> +<defs> + <clipPath id='cpNDEuMzN8MzM4LjgzfDI1Ny43NnwxNzIuNzU='> + <rect x='41.33' y='172.75' width='297.50' height='85.01' /> + </clipPath> +</defs> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<line x1='52.35' y1='257.76' x2='330.13' y2='257.76' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='52.35' y1='257.76' x2='52.35' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='98.64' y1='257.76' x2='98.64' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='144.94' y1='257.76' x2='144.94' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='191.24' y1='257.76' x2='191.24' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='237.53' y1='257.76' x2='237.53' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='283.83' y1='257.76' x2='283.83' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='330.13' y1='257.76' x2='330.13' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='50.01' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='93.97' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='140.27' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='186.57' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='232.86' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='276.82' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>100</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='323.12' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>120</text></g> +<line x1='41.33' y1='254.61' x2='41.33' y2='181.28' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='254.61' x2='36.29' y2='254.61' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='236.28' x2='36.29' y2='236.28' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='217.95' x2='36.29' y2='217.95' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='199.61' x2='36.29' y2='199.61' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='181.28' x2='36.29' y2='181.28' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,256.95) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,240.95) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,222.62) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,204.29) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,185.95) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g> +<polyline points='41.33,257.76 338.83,257.76 338.83,172.75 41.33,172.75 41.33,257.76 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<defs> + <clipPath id='cpMC4wMHwzNjAuMDB8Mjg4LjAwfDE1MS41OA=='> + <rect x='0.00' y='151.58' width='360.00' height='136.42' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHwzNjAuMDB8Mjg4LjAwfDE1MS41OA==)'><text x='180.92' y='296.06' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g> +<g clip-path='url(#cpMC4wMHwzNjAuMDB8Mjg4LjAwfDE1MS41OA==)'><text transform='translate(9.07,233.46) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='36.42px' lengthAdjust='spacingAndGlyphs'>Observed</text></g> +<defs> + <clipPath id='cpNDEuMzN8MzM4LjgzfDI1Ny43NnwxNzIuNzU='> + <rect x='41.33' y='172.75' width='297.50' height='85.01' /> + </clipPath> +</defs> +<circle cx='52.35' cy='176.61' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43NnwxNzIuNzU=)' /> +<circle cx='54.66' cy='201.54' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43NnwxNzIuNzU=)' /> +<circle cx='59.29' cy='227.20' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43NnwxNzIuNzU=)' /> +<circle cx='68.55' cy='241.23' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43NnwxNzIuNzU=)' /> +<circle cx='84.75' cy='245.72' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43NnwxNzIuNzU=)' /> +<circle cx='117.16' cy='248.56' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43NnwxNzIuNzU=)' /> +<circle cx='198.18' cy='250.94' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43NnwxNzIuNzU=)' /> +<circle cx='263.00' cy='251.04' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43NnwxNzIuNzU=)' /> +<circle cx='327.81' cy='254.06' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43NnwxNzIuNzU=)' /> +<polyline points='52.35,175.90 55.13,207.47 57.91,221.17 60.69,228.78 63.48,233.62 66.26,236.96 69.04,239.40 71.82,241.26 74.61,242.72 77.39,243.90 80.17,244.87 82.95,245.68 85.74,246.37 88.52,246.97 91.30,247.48 94.08,247.93 96.87,248.33 99.65,248.69 102.43,249.01 105.21,249.29 108.00,249.55 110.78,249.79 113.56,250.00 116.34,250.20 119.13,250.38 121.91,250.55 124.69,250.70 127.47,250.85 130.26,250.98 133.04,251.11 135.82,251.22 138.60,251.33 141.39,251.43 144.17,251.53 146.95,251.62 149.73,251.71 152.52,251.79 155.30,251.87 158.08,251.94 160.86,252.01 163.65,252.07 166.43,252.14 169.21,252.20 171.99,252.25 174.78,252.31 177.56,252.36 180.34,252.41 183.12,252.46 185.91,252.50 188.69,252.55 191.47,252.59 194.25,252.63 197.04,252.67 199.82,252.71 202.60,252.74 205.38,252.78 208.17,252.81 210.95,252.84 213.73,252.87 216.51,252.90 219.30,252.93 222.08,252.96 224.86,252.99 227.64,253.02 230.43,253.04 233.21,253.07 235.99,253.09 238.77,253.11 241.56,253.14 244.34,253.16 247.12,253.18 249.90,253.20 252.69,253.22 255.47,253.24 258.25,253.26 261.03,253.28 263.82,253.30 266.60,253.31 269.38,253.33 272.16,253.35 274.95,253.36 277.73,253.38 280.51,253.40 283.29,253.41 286.08,253.42 288.86,253.44 291.64,253.45 294.42,253.47 297.21,253.48 299.99,253.49 302.77,253.51 305.55,253.52 308.34,253.53 311.12,253.54 313.90,253.56 316.68,253.57 319.47,253.58 322.25,253.59 325.03,253.60 327.81,253.61 ' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43NnwxNzIuNzU=)' /> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='335.91' y='20.16' style='font-size: 10.08px; font-weight: bold; font-family: Liberation Sans;' textLength='48.17px' lengthAdjust='spacingAndGlyphs'>FOCUS_C</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='136.29' y='164.96' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='24.70px' lengthAdjust='spacingAndGlyphs'>FOMC</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='160.99' y='164.96' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='163.09' y='164.96' style='font-size: 8.40px; font-family: Symbola;' textLength='3.91px' lengthAdjust='spacingAndGlyphs'>χ</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='166.99' y='160.75' style='font-size: 5.88px; font-family: Liberation Sans;' textLength='3.27px' lengthAdjust='spacingAndGlyphs'>2</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='170.26' y='164.96' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='172.35' y='164.96' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='37.33px' lengthAdjust='spacingAndGlyphs'>error level</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='211.62' y='164.96' style='font-size: 8.40px; font-family: Symbola;' textLength='6.52px' lengthAdjust='spacingAndGlyphs'>=</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='220.07' y='164.96' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='23.80px' lengthAdjust='spacingAndGlyphs'>6.66%</text></g> +<defs> + <clipPath id='cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8MTcyLjc1'> + <rect x='401.33' y='172.75' width='297.50' height='85.01' /> + </clipPath> +</defs> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<line x1='412.35' y1='257.76' x2='664.88' y2='257.76' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='412.35' y1='257.76' x2='412.35' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='454.43' y1='257.76' x2='454.43' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='496.52' y1='257.76' x2='496.52' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='538.61' y1='257.76' x2='538.61' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='580.70' y1='257.76' x2='580.70' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='622.79' y1='257.76' x2='622.79' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='664.88' y1='257.76' x2='664.88' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='410.01' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='449.76' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='491.85' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='533.94' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='576.03' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='615.78' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>100</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='657.87' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>120</text></g> +<line x1='401.33' y1='251.57' x2='401.33' y2='178.93' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='251.57' x2='396.29' y2='251.57' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='239.47' x2='396.29' y2='239.47' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='227.36' x2='396.29' y2='227.36' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='215.25' x2='396.29' y2='215.25' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='203.15' x2='396.29' y2='203.15' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='191.04' x2='396.29' y2='191.04' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='178.93' x2='396.29' y2='178.93' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,255.31) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='7.47px' lengthAdjust='spacingAndGlyphs'>-3</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,231.09) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='7.47px' lengthAdjust='spacingAndGlyphs'>-1</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,205.48) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>1</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,193.38) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>2</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,181.27) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>3</text></g> +<polyline points='401.33,257.76 698.83,257.76 698.83,172.75 401.33,172.75 401.33,257.76 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<defs> + <clipPath id='cpMzYwLjAwfDcyMC4wMHwyODguMDB8MTUxLjU4'> + <rect x='360.00' y='151.58' width='360.00' height='136.42' /> + </clipPath> +</defs> +<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHwyODguMDB8MTUxLjU4)'><text x='540.92' y='296.06' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g> +<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHwyODguMDB8MTUxLjU4)'><text transform='translate(369.07,231.59) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='32.67px' lengthAdjust='spacingAndGlyphs'>Residual</text></g> +<defs> + <clipPath id='cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8MTcyLjc1'> + <rect x='401.33' y='172.75' width='297.50' height='85.01' /> + </clipPath> +</defs> +<circle cx='412.35' cy='224.63' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8MTcyLjc1)' /> +<circle cx='414.45' cy='182.46' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8MTcyLjc1)' /> +<circle cx='418.66' cy='238.80' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8MTcyLjc1)' /> +<circle cx='427.08' cy='244.46' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8MTcyLjc1)' /> +<circle cx='441.81' cy='209.70' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8MTcyLjc1)' /> +<circle cx='471.27' cy='192.90' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8MTcyLjc1)' /> +<circle cx='544.92' cy='192.28' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8MTcyLjc1)' /> +<circle cx='603.85' cy='185.48' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8MTcyLjc1)' /> +<circle cx='662.77' cy='221.21' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8MTcyLjc1)' /> +<line x1='401.33' y1='215.25' x2='698.83' y2='215.25' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8MTcyLjc1)' /> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='519.76' y='166.70' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='60.64px' lengthAdjust='spacingAndGlyphs'>FOMC residuals</text></g> +<defs> + <clipPath id='cpNDEuMzN8MzM4LjgzfDM5NC4xOHwzMDkuMTc='> + <rect x='41.33' y='309.17' width='297.50' height='85.01' /> + </clipPath> +</defs> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<line x1='52.35' y1='394.18' x2='330.13' y2='394.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='52.35' y1='394.18' x2='52.35' y2='399.22' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='98.64' y1='394.18' x2='98.64' y2='399.22' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='144.94' y1='394.18' x2='144.94' y2='399.22' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='191.24' y1='394.18' x2='191.24' y2='399.22' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='237.53' y1='394.18' x2='237.53' y2='399.22' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='283.83' y1='394.18' x2='283.83' y2='399.22' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='330.13' y1='394.18' x2='330.13' y2='399.22' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='50.01' y='412.33' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='93.97' y='412.33' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='140.27' y='412.33' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='186.57' y='412.33' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='232.86' y='412.33' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='276.82' y='412.33' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>100</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='323.12' y='412.33' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>120</text></g> +<line x1='41.33' y1='391.03' x2='41.33' y2='317.03' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='391.03' x2='36.29' y2='391.03' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='372.53' x2='36.29' y2='372.53' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='354.03' x2='36.29' y2='354.03' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='335.53' x2='36.29' y2='335.53' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='317.03' x2='36.29' y2='317.03' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,393.37) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,377.20) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,358.71) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,340.21) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,321.71) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g> +<polyline points='41.33,394.18 338.83,394.18 338.83,309.17 41.33,309.17 41.33,394.18 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<defs> + <clipPath id='cpMC4wMHwzNjAuMDB8NDI0LjQyfDI4OC4wMA=='> + <rect x='0.00' y='288.00' width='360.00' height='136.42' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHwzNjAuMDB8NDI0LjQyfDI4OC4wMA==)'><text x='180.92' y='432.49' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g> +<g clip-path='url(#cpMC4wMHwzNjAuMDB8NDI0LjQyfDI4OC4wMA==)'><text transform='translate(9.07,369.89) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='36.42px' lengthAdjust='spacingAndGlyphs'>Observed</text></g> +<defs> + <clipPath id='cpNDEuMzN8MzM4LjgzfDM5NC4xOHwzMDkuMTc='> + <rect x='41.33' y='309.17' width='297.50' height='85.01' /> + </clipPath> +</defs> +<circle cx='52.35' cy='312.32' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM5NC4xOHwzMDkuMTc=)' /> +<circle cx='54.66' cy='337.48' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM5NC4xOHwzMDkuMTc=)' /> +<circle cx='59.29' cy='363.38' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM5NC4xOHwzMDkuMTc=)' /> +<circle cx='68.55' cy='377.53' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM5NC4xOHwzMDkuMTc=)' /> +<circle cx='84.75' cy='382.06' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM5NC4xOHwzMDkuMTc=)' /> +<circle cx='117.16' cy='384.93' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM5NC4xOHwzMDkuMTc=)' /> +<circle cx='198.18' cy='387.33' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM5NC4xOHwzMDkuMTc=)' /> +<circle cx='263.00' cy='387.42' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM5NC4xOHwzMDkuMTc=)' /> +<circle cx='327.81' cy='390.48' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM5NC4xOHwzMDkuMTc=)' /> +<polyline points='52.35,312.41 55.13,341.15 57.91,357.79 60.69,367.46 63.48,373.12 66.26,376.48 69.04,378.49 71.82,379.75 74.61,380.55 77.39,381.10 80.17,381.50 82.95,381.81 85.74,382.07 88.52,382.29 91.30,382.50 94.08,382.69 96.87,382.88 99.65,383.05 102.43,383.22 105.21,383.39 108.00,383.55 110.78,383.71 113.56,383.87 116.34,384.02 119.13,384.17 121.91,384.32 124.69,384.46 127.47,384.60 130.26,384.73 133.04,384.87 135.82,385.00 138.60,385.13 141.39,385.25 144.17,385.38 146.95,385.50 149.73,385.61 152.52,385.73 155.30,385.84 158.08,385.95 160.86,386.06 163.65,386.16 166.43,386.27 169.21,386.37 171.99,386.47 174.78,386.56 177.56,386.66 180.34,386.75 183.12,386.84 185.91,386.93 188.69,387.02 191.47,387.10 194.25,387.19 197.04,387.27 199.82,387.35 202.60,387.43 205.38,387.50 208.17,387.58 210.95,387.65 213.73,387.72 216.51,387.79 219.30,387.86 222.08,387.93 224.86,388.00 227.64,388.06 230.43,388.12 233.21,388.19 235.99,388.25 238.77,388.30 241.56,388.36 244.34,388.42 247.12,388.47 249.90,388.53 252.69,388.58 255.47,388.63 258.25,388.69 261.03,388.73 263.82,388.78 266.60,388.83 269.38,388.88 272.16,388.92 274.95,388.97 277.73,389.01 280.51,389.06 283.29,389.10 286.08,389.14 288.86,389.18 291.64,389.22 294.42,389.26 297.21,389.29 299.99,389.33 302.77,389.37 305.55,389.40 308.34,389.44 311.12,389.47 313.90,389.50 316.68,389.54 319.47,389.57 322.25,389.60 325.03,389.63 327.81,389.66 ' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDM5NC4xOHwzMDkuMTc=)' /> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='335.91' y='20.16' style='font-size: 10.08px; font-weight: bold; font-family: Liberation Sans;' textLength='48.17px' lengthAdjust='spacingAndGlyphs'>FOCUS_C</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='136.98' y='301.39' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='23.31px' lengthAdjust='spacingAndGlyphs'>DFOP</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='160.30' y='301.39' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='162.39' y='301.39' style='font-size: 8.40px; font-family: Symbola;' textLength='3.91px' lengthAdjust='spacingAndGlyphs'>χ</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='166.30' y='297.17' style='font-size: 5.88px; font-family: Liberation Sans;' textLength='3.27px' lengthAdjust='spacingAndGlyphs'>2</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='169.56' y='301.39' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='171.66' y='301.39' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='37.33px' lengthAdjust='spacingAndGlyphs'>error level</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='210.92' y='301.39' style='font-size: 8.40px; font-family: Symbola;' textLength='6.52px' lengthAdjust='spacingAndGlyphs'>=</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='219.38' y='301.39' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='23.80px' lengthAdjust='spacingAndGlyphs'>2.66%</text></g> +<defs> + <clipPath id='cpNDAxLjMzfDY5OC44M3wzOTQuMTh8MzA5LjE3'> + <rect x='401.33' y='309.17' width='297.50' height='85.01' /> + </clipPath> +</defs> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<line x1='412.35' y1='394.18' x2='664.88' y2='394.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='412.35' y1='394.18' x2='412.35' y2='399.22' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='454.43' y1='394.18' x2='454.43' y2='399.22' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='496.52' y1='394.18' x2='496.52' y2='399.22' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='538.61' y1='394.18' x2='538.61' y2='399.22' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='580.70' y1='394.18' x2='580.70' y2='399.22' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='622.79' y1='394.18' x2='622.79' y2='399.22' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='664.88' y1='394.18' x2='664.88' y2='399.22' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='410.01' y='412.33' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='449.76' y='412.33' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='491.85' y='412.33' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='533.94' y='412.33' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='576.03' y='412.33' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='615.78' y='412.33' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>100</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='657.87' y='412.33' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>120</text></g> +<line x1='401.33' y1='385.52' x2='401.33' y2='317.83' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='385.52' x2='396.29' y2='385.52' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='374.24' x2='396.29' y2='374.24' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='362.96' x2='396.29' y2='362.96' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='351.67' x2='396.29' y2='351.67' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='340.39' x2='396.29' y2='340.39' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='329.11' x2='396.29' y2='329.11' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='317.83' x2='396.29' y2='317.83' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,392.76) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.47px' lengthAdjust='spacingAndGlyphs'>-1.5</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,370.19) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.47px' lengthAdjust='spacingAndGlyphs'>-0.5</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,346.23) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='11.67px' lengthAdjust='spacingAndGlyphs'>0.5</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,323.66) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='11.67px' lengthAdjust='spacingAndGlyphs'>1.5</text></g> +<polyline points='401.33,394.18 698.83,394.18 698.83,309.17 401.33,309.17 401.33,394.18 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<defs> + <clipPath id='cpMzYwLjAwfDcyMC4wMHw0MjQuNDJ8Mjg4LjAw'> + <rect x='360.00' y='288.00' width='360.00' height='136.42' /> + </clipPath> +</defs> +<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHw0MjQuNDJ8Mjg4LjAw)'><text x='540.92' y='432.49' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g> +<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHw0MjQuNDJ8Mjg4LjAw)'><text transform='translate(369.07,368.01) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='32.67px' lengthAdjust='spacingAndGlyphs'>Residual</text></g> +<defs> + <clipPath id='cpNDAxLjMzfDY5OC44M3wzOTQuMTh8MzA5LjE3'> + <rect x='401.33' y='309.17' width='297.50' height='85.01' /> + </clipPath> +</defs> +<circle cx='412.35' cy='349.48' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzOTQuMTh8MzA5LjE3)' /> +<circle cx='414.45' cy='354.81' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzOTQuMTh8MzA5LjE3)' /> +<circle cx='418.66' cy='355.14' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzOTQuMTh8MzA5LjE3)' /> +<circle cx='427.08' cy='335.11' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzOTQuMTh8MzA5LjE3)' /> +<circle cx='441.81' cy='353.63' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzOTQuMTh8MzA5LjE3)' /> +<circle cx='471.27' cy='372.71' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzOTQuMTh8MzA5LjE3)' /> +<circle cx='544.92' cy='352.41' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzOTQuMTh8MzA5LjE3)' /> +<circle cx='603.85' cy='318.88' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzOTQuMTh8MzA5LjE3)' /> +<circle cx='662.77' cy='371.63' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzOTQuMTh8MzA5LjE3)' /> +<line x1='401.33' y1='351.67' x2='698.83' y2='351.67' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wzOTQuMTh8MzA5LjE3)' /> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='520.53' y='303.12' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='59.09px' lengthAdjust='spacingAndGlyphs'>DFOP residuals</text></g> +<defs> + <clipPath id='cpNDEuMzN8MzM4LjgzfDUyNC41OXw0NDUuNTk='> + <rect x='41.33' y='445.59' width='297.50' height='79.00' /> + </clipPath> +</defs> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<line x1='52.35' y1='524.59' x2='330.13' y2='524.59' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='52.35' y1='524.59' x2='52.35' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='98.64' y1='524.59' x2='98.64' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='144.94' y1='524.59' x2='144.94' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='191.24' y1='524.59' x2='191.24' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='237.53' y1='524.59' x2='237.53' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='283.83' y1='524.59' x2='283.83' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='330.13' y1='524.59' x2='330.13' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='50.01' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='93.97' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='140.27' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='186.57' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='232.86' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='276.82' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>100</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='323.12' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>120</text></g> +<line x1='41.33' y1='521.67' x2='41.33' y2='452.90' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='521.67' x2='36.29' y2='521.67' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='504.47' x2='36.29' y2='504.47' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='487.28' x2='36.29' y2='487.28' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='470.09' x2='36.29' y2='470.09' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='452.90' x2='36.29' y2='452.90' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,524.00) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,509.15) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,491.95) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,474.76) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,457.57) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g> +<polyline points='41.33,524.59 338.83,524.59 338.83,445.59 41.33,445.59 41.33,524.59 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<defs> + <clipPath id='cpMC4wMHwzNjAuMDB8NTc2LjAwfDQyNC40Mg=='> + <rect x='0.00' y='424.42' width='360.00' height='151.58' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHwzNjAuMDB8NTc2LjAwfDQyNC40Mg==)'><text x='180.92' y='562.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g> +<g clip-path='url(#cpMC4wMHwzNjAuMDB8NTc2LjAwfDQyNC40Mg==)'><text transform='translate(9.07,503.30) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='36.42px' lengthAdjust='spacingAndGlyphs'>Observed</text></g> +<defs> + <clipPath id='cpNDEuMzN8MzM4LjgzfDUyNC41OXw0NDUuNTk='> + <rect x='41.33' y='445.59' width='297.50' height='79.00' /> + </clipPath> +</defs> +<circle cx='52.35' cy='448.52' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXw0NDUuNTk=)' /> +<circle cx='54.66' cy='471.90' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXw0NDUuNTk=)' /> +<circle cx='59.29' cy='495.96' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXw0NDUuNTk=)' /> +<circle cx='68.55' cy='509.12' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXw0NDUuNTk=)' /> +<circle cx='84.75' cy='513.33' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXw0NDUuNTk=)' /> +<circle cx='117.16' cy='515.99' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXw0NDUuNTk=)' /> +<circle cx='198.18' cy='518.23' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXw0NDUuNTk=)' /> +<circle cx='263.00' cy='518.31' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXw0NDUuNTk=)' /> +<circle cx='327.81' cy='521.15' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXw0NDUuNTk=)' /> +<polyline points='52.35,449.03 55.13,474.33 57.91,490.81 60.69,501.56 63.48,508.56 66.26,510.30 69.04,510.60 71.82,510.90 74.61,511.19 77.39,511.47 80.17,511.75 82.95,512.01 85.74,512.27 88.52,512.52 91.30,512.77 94.08,513.01 96.87,513.24 99.65,513.47 102.43,513.69 105.21,513.90 108.00,514.11 110.78,514.31 113.56,514.51 116.34,514.70 119.13,514.89 121.91,515.07 124.69,515.25 127.47,515.42 130.26,515.59 133.04,515.75 135.82,515.91 138.60,516.07 141.39,516.22 144.17,516.36 146.95,516.51 149.73,516.64 152.52,516.78 155.30,516.91 158.08,517.04 160.86,517.16 163.65,517.28 166.43,517.40 169.21,517.52 171.99,517.63 174.78,517.74 177.56,517.84 180.34,517.94 183.12,518.04 185.91,518.14 188.69,518.24 191.47,518.33 194.25,518.42 197.04,518.51 199.82,518.59 202.60,518.67 205.38,518.75 208.17,518.83 210.95,518.91 213.73,518.98 216.51,519.05 219.30,519.12 222.08,519.19 224.86,519.26 227.64,519.32 230.43,519.39 233.21,519.45 235.99,519.51 238.77,519.57 241.56,519.62 244.34,519.68 247.12,519.73 249.90,519.78 252.69,519.83 255.47,519.88 258.25,519.93 261.03,519.98 263.82,520.02 266.60,520.07 269.38,520.11 272.16,520.15 274.95,520.19 277.73,520.23 280.51,520.27 283.29,520.31 286.08,520.34 288.86,520.38 291.64,520.41 294.42,520.45 297.21,520.48 299.99,520.51 302.77,520.54 305.55,520.57 308.34,520.60 311.12,520.63 313.90,520.66 316.68,520.69 319.47,520.71 322.25,520.74 325.03,520.76 327.81,520.79 ' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXw0NDUuNTk=)' /> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='335.91' y='20.16' style='font-size: 10.08px; font-weight: bold; font-family: Liberation Sans;' textLength='48.17px' lengthAdjust='spacingAndGlyphs'>FOCUS_C</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='145.15' y='437.81' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='11.66px' lengthAdjust='spacingAndGlyphs'>HS</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='156.80' y='437.81' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='158.90' y='437.81' style='font-size: 8.40px; font-family: Symbola;' textLength='3.91px' lengthAdjust='spacingAndGlyphs'>χ</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='162.80' y='433.59' style='font-size: 5.88px; font-family: Liberation Sans;' textLength='3.27px' lengthAdjust='spacingAndGlyphs'>2</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='166.07' y='437.81' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='168.16' y='437.81' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='37.33px' lengthAdjust='spacingAndGlyphs'>error level</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='207.43' y='437.81' style='font-size: 8.40px; font-family: Symbola;' textLength='6.52px' lengthAdjust='spacingAndGlyphs'>=</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='215.89' y='437.81' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='19.12px' lengthAdjust='spacingAndGlyphs'>4.7%</text></g> +<defs> + <clipPath id='cpNDAxLjMzfDY5OC44M3w1MjQuNTl8NDQ1LjU5'> + <rect x='401.33' y='445.59' width='297.50' height='79.00' /> + </clipPath> +</defs> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<line x1='412.35' y1='524.59' x2='664.88' y2='524.59' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='412.35' y1='524.59' x2='412.35' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='454.43' y1='524.59' x2='454.43' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='496.52' y1='524.59' x2='496.52' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='538.61' y1='524.59' x2='538.61' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='580.70' y1='524.59' x2='580.70' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='622.79' y1='524.59' x2='622.79' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='664.88' y1='524.59' x2='664.88' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='410.01' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='449.76' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='491.85' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='533.94' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='576.03' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='615.78' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>100</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='657.87' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>120</text></g> +<line x1='401.33' y1='515.99' x2='401.33' y2='454.19' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='515.99' x2='396.29' y2='515.99' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='500.54' x2='396.29' y2='500.54' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='485.09' x2='396.29' y2='485.09' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='469.64' x2='396.29' y2='469.64' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='454.19' x2='396.29' y2='454.19' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,519.73) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='7.47px' lengthAdjust='spacingAndGlyphs'>-2</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,504.28) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='7.47px' lengthAdjust='spacingAndGlyphs'>-1</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,487.43) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,471.97) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>1</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,456.52) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>2</text></g> +<polyline points='401.33,524.59 698.83,524.59 698.83,445.59 401.33,445.59 401.33,524.59 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<defs> + <clipPath id='cpMzYwLjAwfDcyMC4wMHw1NzYuMDB8NDI0LjQy'> + <rect x='360.00' y='424.42' width='360.00' height='151.58' /> + </clipPath> +</defs> +<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHw1NzYuMDB8NDI0LjQy)'><text x='540.92' y='562.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g> +<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHw1NzYuMDB8NDI0LjQy)'><text transform='translate(369.07,501.43) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='32.67px' lengthAdjust='spacingAndGlyphs'>Residual</text></g> +<defs> + <clipPath id='cpNDAxLjMzfDY5OC44M3w1MjQuNTl8NDQ1LjU5'> + <rect x='401.33' y='445.59' width='297.50' height='79.00' /> + </clipPath> +</defs> +<circle cx='412.35' cy='475.84' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8NDQ1LjU5)' /> +<circle cx='414.45' cy='504.89' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8NDQ1LjU5)' /> +<circle cx='418.66' cy='471.63' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8NDQ1LjU5)' /> +<circle cx='427.08' cy='459.32' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8NDQ1LjU5)' /> +<circle cx='441.81' cy='505.72' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8NDQ1LjU5)' /> +<circle cx='471.27' cy='507.27' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8NDQ1LjU5)' /> +<circle cx='544.92' cy='479.46' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8NDQ1LjU5)' /> +<circle cx='603.85' cy='454.61' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8NDQ1LjU5)' /> +<circle cx='662.77' cy='491.61' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8NDQ1LjU5)' /> +<line x1='401.33' y1='485.09' x2='698.83' y2='485.09' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8NDQ1LjU5)' /> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='526.28' y='439.54' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='47.59px' lengthAdjust='spacingAndGlyphs'>HS residuals</text></g> +<defs> + <clipPath id='cpNTkuMDR8Njg5Ljc2fDUwMi41Nnw1OS4wNA=='> + <rect x='59.04' y='59.04' width='630.72' height='443.52' /> + </clipPath> +</defs> +</svg> diff --git a/tests/figs/plotting/mmkin-plot-for-sfo-focus-c-and-d.svg b/tests/figs/plotting/mmkin-plot-for-sfo-focus-c-and-d.svg new file mode 100644 index 00000000..72496e86 --- /dev/null +++ b/tests/figs/plotting/mmkin-plot-for-sfo-focus-c-and-d.svg @@ -0,0 +1,300 @@ +<?xml version='1.0' encoding='UTF-8' ?> +<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 720.00 576.00'> +<defs> + <style type='text/css'><![CDATA[ + line, polyline, polygon, path, rect, circle { + fill: none; + stroke: #000000; + stroke-linecap: round; + stroke-linejoin: round; + stroke-miterlimit: 10.00; + } + ]]></style> +</defs> +<rect width='100%' height='100%' style='stroke: none; fill: #FFFFFF;'/> +<line x1='52.35' y1='257.76' x2='330.13' y2='257.76' style='stroke-width: 0.75;' /> +<line x1='52.35' y1='257.76' x2='52.35' y2='262.80' style='stroke-width: 0.75;' /> +<line x1='98.64' y1='257.76' x2='98.64' y2='262.80' style='stroke-width: 0.75;' /> +<line x1='144.94' y1='257.76' x2='144.94' y2='262.80' style='stroke-width: 0.75;' /> +<line x1='191.24' y1='257.76' x2='191.24' y2='262.80' style='stroke-width: 0.75;' /> +<line x1='237.53' y1='257.76' x2='237.53' y2='262.80' style='stroke-width: 0.75;' /> +<line x1='283.83' y1='257.76' x2='283.83' y2='262.80' style='stroke-width: 0.75;' /> +<line x1='330.13' y1='257.76' x2='330.13' y2='262.80' style='stroke-width: 0.75;' /> +<text x='50.01' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text> +<text x='93.97' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text> +<text x='140.27' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text> +<text x='186.57' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text> +<text x='232.86' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text> +<text x='276.82' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>100</text> +<text x='323.12' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>120</text> +<line x1='41.33' y1='249.74' x2='41.33' y2='61.35' style='stroke-width: 0.75;' /> +<line x1='41.33' y1='249.74' x2='36.29' y2='249.74' style='stroke-width: 0.75;' /> +<line x1='41.33' y1='202.65' x2='36.29' y2='202.65' style='stroke-width: 0.75;' /> +<line x1='41.33' y1='155.55' x2='36.29' y2='155.55' style='stroke-width: 0.75;' /> +<line x1='41.33' y1='108.45' x2='36.29' y2='108.45' style='stroke-width: 0.75;' /> +<line x1='41.33' y1='61.35' x2='36.29' y2='61.35' style='stroke-width: 0.75;' /> +<text transform='translate(29.23,252.08) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text> +<text transform='translate(29.23,207.32) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text> +<text transform='translate(29.23,160.22) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text> +<text transform='translate(29.23,113.12) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text> +<text transform='translate(29.23,66.03) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text> +<polyline points='41.33,257.76 338.83,257.76 338.83,41.33 41.33,41.33 41.33,257.76 ' style='stroke-width: 0.75;' /> +<defs> + <clipPath id='cpMC4wMHwzNjAuMDB8Mjg4LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='360.00' height='288.00' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHwzNjAuMDB8Mjg4LjAwfDAuMDA=)'><text x='180.92' y='296.06' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g> +<g clip-path='url(#cpMC4wMHwzNjAuMDB8Mjg4LjAwfDAuMDA=)'><text transform='translate(9.07,167.75) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='36.42px' lengthAdjust='spacingAndGlyphs'>Observed</text></g> +<defs> + <clipPath id='cpNDEuMzN8MzM4LjgzfDI1Ny43Nnw0MS4zMw=='> + <rect x='41.33' y='41.33' width='297.50' height='216.43' /> + </clipPath> +</defs> +<circle cx='52.35' cy='49.34' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43Nnw0MS4zMw==)' /> +<circle cx='54.66' cy='113.40' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43Nnw0MS4zMw==)' /> +<circle cx='59.29' cy='179.33' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43Nnw0MS4zMw==)' /> +<circle cx='68.55' cy='215.36' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43Nnw0MS4zMw==)' /> +<circle cx='84.75' cy='226.90' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43Nnw0MS4zMw==)' /> +<circle cx='117.16' cy='234.20' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43Nnw0MS4zMw==)' /> +<circle cx='198.18' cy='240.32' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43Nnw0MS4zMw==)' /> +<circle cx='263.00' cy='240.56' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43Nnw0MS4zMw==)' /> +<circle cx='327.81' cy='248.33' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43Nnw0MS4zMw==)' /> +<polyline points='52.35,55.49 55.13,115.28 57.91,156.67 60.69,185.32 63.48,205.15 66.26,218.88 69.04,228.38 71.82,234.95 74.61,239.51 77.39,242.66 80.17,244.84 82.95,246.35 85.74,247.39 88.52,248.12 91.30,248.62 94.08,248.96 96.87,249.20 99.65,249.37 102.43,249.49 105.21,249.57 108.00,249.62 110.78,249.66 113.56,249.68 116.34,249.70 119.13,249.72 121.91,249.72 124.69,249.73 127.47,249.73 130.26,249.74 133.04,249.74 135.82,249.74 138.60,249.74 141.39,249.74 144.17,249.74 146.95,249.74 149.73,249.74 152.52,249.74 155.30,249.74 158.08,249.74 160.86,249.74 163.65,249.74 166.43,249.74 169.21,249.74 171.99,249.74 174.78,249.74 177.56,249.74 180.34,249.74 183.12,249.74 185.91,249.74 188.69,249.74 191.47,249.74 194.25,249.74 197.04,249.74 199.82,249.74 202.60,249.74 205.38,249.74 208.17,249.74 210.95,249.74 213.73,249.74 216.51,249.74 219.30,249.74 222.08,249.74 224.86,249.74 227.64,249.74 230.43,249.74 233.21,249.74 235.99,249.74 238.77,249.74 241.56,249.74 244.34,249.74 247.12,249.74 249.90,249.74 252.69,249.74 255.47,249.74 258.25,249.74 261.03,249.74 263.82,249.74 266.60,249.74 269.38,249.74 272.16,249.74 274.95,249.74 277.73,249.74 280.51,249.74 283.29,249.74 286.08,249.74 288.86,249.74 291.64,249.74 294.42,249.74 297.21,249.74 299.99,249.74 302.77,249.74 305.55,249.74 308.34,249.74 311.12,249.74 313.90,249.74 316.68,249.74 319.47,249.74 322.25,249.74 325.03,249.74 327.81,249.74 ' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43Nnw0MS4zMw==)' /> +<rect x='271.42' y='52.15' width='52.54' height='20.16' style='stroke-width: 0.75; fill: #FFFFFF;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43Nnw0MS4zMw==)' /> +<line x1='273.68' y1='62.23' x2='288.80' y2='62.23' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43Nnw0MS4zMw==)' /> +<circle cx='281.24' cy='62.23' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43Nnw0MS4zMw==)' /> +<g clip-path='url(#cpNDEuMzN8MzM4LjgzfDI1Ny43Nnw0MS4zMw==)'><text x='296.36' y='65.11' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='23.81px' lengthAdjust='spacingAndGlyphs'>parent</text></g> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='349.64' y='20.16' style='font-size: 10.08px; font-weight: bold; font-family: Liberation Sans;' textLength='20.72px' lengthAdjust='spacingAndGlyphs'>SFO</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='128.59' y='33.55' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='40.11px' lengthAdjust='spacingAndGlyphs'>FOCUS_C</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='168.69' y='33.55' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='170.79' y='33.55' style='font-size: 8.40px; font-family: Symbola;' textLength='3.91px' lengthAdjust='spacingAndGlyphs'>χ</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='174.69' y='29.33' style='font-size: 5.88px; font-family: Liberation Sans;' textLength='3.27px' lengthAdjust='spacingAndGlyphs'>2</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='177.96' y='33.55' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='180.05' y='33.55' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='37.33px' lengthAdjust='spacingAndGlyphs'>error level</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='219.32' y='33.55' style='font-size: 8.40px; font-family: Symbola;' textLength='6.52px' lengthAdjust='spacingAndGlyphs'>=</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='227.78' y='33.55' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='23.80px' lengthAdjust='spacingAndGlyphs'>15.8%</text></g> +<defs> + <clipPath id='cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8NDEuMzM='> + <rect x='401.33' y='41.33' width='297.50' height='216.43' /> + </clipPath> +</defs> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<line x1='412.35' y1='257.76' x2='664.88' y2='257.76' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='412.35' y1='257.76' x2='412.35' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='454.43' y1='257.76' x2='454.43' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='496.52' y1='257.76' x2='496.52' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='538.61' y1='257.76' x2='538.61' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='580.70' y1='257.76' x2='580.70' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='622.79' y1='257.76' x2='622.79' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='664.88' y1='257.76' x2='664.88' y2='262.80' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='410.01' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='449.76' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='491.85' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='533.94' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='576.03' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='615.78' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>100</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='657.87' y='275.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>120</text></g> +<line x1='401.33' y1='247.05' x2='401.33' y2='52.04' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='247.05' x2='396.29' y2='247.05' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='198.30' x2='396.29' y2='198.30' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='149.54' x2='396.29' y2='149.54' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='100.79' x2='396.29' y2='100.79' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='52.04' x2='396.29' y2='52.04' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,253.12) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='12.14px' lengthAdjust='spacingAndGlyphs'>-10</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,202.03) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='7.47px' lengthAdjust='spacingAndGlyphs'>-5</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,151.88) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,103.13) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>5</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,56.71) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>10</text></g> +<polyline points='401.33,257.76 698.83,257.76 698.83,41.33 401.33,41.33 401.33,257.76 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<defs> + <clipPath id='cpMzYwLjAwfDcyMC4wMHwyODguMDB8MC4wMA=='> + <rect x='360.00' y='0.00' width='360.00' height='288.00' /> + </clipPath> +</defs> +<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHwyODguMDB8MC4wMA==)'><text x='540.92' y='296.06' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g> +<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHwyODguMDB8MC4wMA==)'><text transform='translate(369.07,165.88) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='32.67px' lengthAdjust='spacingAndGlyphs'>Residual</text></g> +<defs> + <clipPath id='cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8NDEuMzM='> + <rect x='401.33' y='41.33' width='297.50' height='216.43' /> + </clipPath> +</defs> +<circle cx='412.35' cy='124.12' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8NDEuMzM=)' /> +<circle cx='414.45' cy='177.26' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8NDEuMzM=)' /> +<circle cx='418.66' cy='179.13' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8NDEuMzM=)' /> +<circle cx='427.08' cy='101.59' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8NDEuMzM=)' /> +<circle cx='441.81' cy='66.04' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8NDEuMzM=)' /> +<circle cx='471.27' cy='85.34' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8NDEuMzM=)' /> +<circle cx='544.92' cy='110.54' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8NDEuMzM=)' /> +<circle cx='603.85' cy='111.52' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8NDEuMzM=)' /> +<circle cx='662.77' cy='143.69' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8NDEuMzM=)' /> +<line x1='401.33' y1='149.54' x2='698.83' y2='149.54' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' clip-path='url(#cpNDAxLjMzfDY5OC44M3wyNTcuNzZ8NDEuMzM=)' /> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='512.06' y='35.28' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='76.05px' lengthAdjust='spacingAndGlyphs'>FOCUS_C residuals</text></g> +<defs> + <clipPath id='cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc='> + <rect x='41.33' y='309.17' width='297.50' height='215.42' /> + </clipPath> +</defs> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<line x1='52.35' y1='524.59' x2='272.72' y2='524.59' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='52.35' y1='524.59' x2='52.35' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='125.80' y1='524.59' x2='125.80' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='199.26' y1='524.59' x2='199.26' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='272.72' y1='524.59' x2='272.72' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='50.01' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='121.13' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='194.59' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='268.05' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g> +<line x1='41.33' y1='516.61' x2='41.33' y2='321.13' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='516.61' x2='36.29' y2='516.61' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='477.52' x2='36.29' y2='477.52' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='438.42' x2='36.29' y2='438.42' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='399.33' x2='36.29' y2='399.33' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='360.23' x2='36.29' y2='360.23' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='41.33' y1='321.13' x2='36.29' y2='321.13' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,518.95) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,482.19) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,443.09) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,404.00) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,364.90) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(29.23,328.14) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='14.02px' lengthAdjust='spacingAndGlyphs'>100</text></g> +<polyline points='41.33,524.59 338.83,524.59 338.83,309.17 41.33,309.17 41.33,524.59 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<defs> + <clipPath id='cpMC4wMHwzNjAuMDB8NTc2LjAwfDI4OC4wMA=='> + <rect x='0.00' y='288.00' width='360.00' height='288.00' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHwzNjAuMDB8NTc2LjAwfDI4OC4wMA==)'><text x='180.92' y='562.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g> +<g clip-path='url(#cpMC4wMHwzNjAuMDB8NTc2LjAwfDI4OC4wMA==)'><text transform='translate(9.07,435.09) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='36.42px' lengthAdjust='spacingAndGlyphs'>Observed</text></g> +<defs> + <clipPath id='cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc='> + <rect x='41.33' y='309.17' width='297.50' height='215.42' /> + </clipPath> +</defs> +<circle cx='52.35' cy='322.19' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<circle cx='52.35' cy='317.15' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<circle cx='56.02' cy='333.84' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<circle cx='56.02' cy='335.80' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<circle cx='63.37' cy='393.01' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<circle cx='63.37' cy='381.75' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<circle cx='78.06' cy='414.34' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<circle cx='78.06' cy='408.85' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<circle cx='103.77' cy='463.31' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<circle cx='103.77' cy='464.54' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<circle cx='129.48' cy='494.13' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<circle cx='129.48' cy='493.86' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<circle cx='180.90' cy='511.04' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<circle cx='180.90' cy='510.92' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<circle cx='235.99' cy='515.26' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<circle cx='235.99' cy='515.38' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<circle cx='327.81' cy='516.52' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<circle cx='327.81' cy='516.50' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<polyline points='52.35,322.22 55.13,336.12 57.91,349.03 60.69,361.01 63.48,372.14 66.26,382.47 69.04,392.06 71.82,400.97 74.61,409.24 77.39,416.92 80.17,424.05 82.95,430.66 85.74,436.81 88.52,442.52 91.30,447.82 94.08,452.74 96.87,457.30 99.65,461.54 102.43,465.48 105.21,469.14 108.00,472.53 110.78,475.69 113.56,478.61 116.34,481.33 119.13,483.85 121.91,486.20 124.69,488.37 127.47,490.39 130.26,492.27 133.04,494.01 135.82,495.62 138.60,497.12 141.39,498.52 144.17,499.81 146.95,501.01 149.73,502.13 152.52,503.16 155.30,504.13 158.08,505.02 160.86,505.85 163.65,506.62 166.43,507.33 169.21,508.00 171.99,508.61 174.78,509.18 177.56,509.72 180.34,510.21 183.12,510.67 185.91,511.09 188.69,511.49 191.47,511.85 194.25,512.19 197.04,512.51 199.82,512.80 202.60,513.08 205.38,513.33 208.17,513.56 210.95,513.78 213.73,513.98 216.51,514.17 219.30,514.35 222.08,514.51 224.86,514.66 227.64,514.80 230.43,514.93 233.21,515.05 235.99,515.16 238.77,515.26 241.56,515.36 244.34,515.45 247.12,515.53 249.90,515.61 252.69,515.68 255.47,515.75 258.25,515.81 261.03,515.87 263.82,515.92 266.60,515.97 269.38,516.02 272.16,516.06 274.95,516.10 277.73,516.14 280.51,516.17 283.29,516.20 286.08,516.23 288.86,516.26 291.64,516.28 294.42,516.31 297.21,516.33 299.99,516.35 302.77,516.37 305.55,516.39 308.34,516.40 311.12,516.42 313.90,516.43 316.68,516.44 319.47,516.46 322.25,516.47 325.03,516.48 327.81,516.49 ' style='stroke-width: 0.75;' clip-path='url(#cpNDEuMzN8MzM4LjgzfDUyNC41OXwzMDkuMTc=)' /> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='349.64' y='20.16' style='font-size: 10.08px; font-weight: bold; font-family: Liberation Sans;' textLength='20.72px' lengthAdjust='spacingAndGlyphs'>SFO</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='128.59' y='301.39' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='40.11px' lengthAdjust='spacingAndGlyphs'>FOCUS_D</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='168.69' y='301.39' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='170.79' y='301.39' style='font-size: 8.40px; font-family: Symbola;' textLength='3.91px' lengthAdjust='spacingAndGlyphs'>χ</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='174.69' y='297.17' style='font-size: 5.88px; font-family: Liberation Sans;' textLength='3.27px' lengthAdjust='spacingAndGlyphs'>2</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='177.96' y='301.39' style='font-size: 8.40px; font-family: Symbola;' textLength='2.09px' lengthAdjust='spacingAndGlyphs'> </text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='180.05' y='301.39' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='37.33px' lengthAdjust='spacingAndGlyphs'>error level</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='219.32' y='301.39' style='font-size: 8.40px; font-family: Symbola;' textLength='6.52px' lengthAdjust='spacingAndGlyphs'>=</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='227.78' y='301.39' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='23.80px' lengthAdjust='spacingAndGlyphs'>6.45%</text></g> +<defs> + <clipPath id='cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3'> + <rect x='401.33' y='309.17' width='297.50' height='215.42' /> + </clipPath> +</defs> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<line x1='412.35' y1='524.59' x2='679.47' y2='524.59' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='412.35' y1='524.59' x2='412.35' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='479.13' y1='524.59' x2='479.13' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='545.91' y1='524.59' x2='545.91' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='612.69' y1='524.59' x2='612.69' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='679.47' y1='524.59' x2='679.47' y2='529.63' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='410.01' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='474.45' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>20</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='541.23' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>40</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='608.01' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>60</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='674.79' y='542.74' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>80</text></g> +<line x1='401.33' y1='493.14' x2='401.33' y2='340.62' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='493.14' x2='396.29' y2='493.14' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='455.01' x2='396.29' y2='455.01' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='416.88' x2='396.29' y2='416.88' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='378.75' x2='396.29' y2='378.75' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<line x1='401.33' y1='340.62' x2='396.29' y2='340.62' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,499.21) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='12.14px' lengthAdjust='spacingAndGlyphs'>-10</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,458.75) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='7.47px' lengthAdjust='spacingAndGlyphs'>-5</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,419.22) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>0</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,381.08) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='4.67px' lengthAdjust='spacingAndGlyphs'>5</text></g> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(389.23,345.29) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='9.34px' lengthAdjust='spacingAndGlyphs'>10</text></g> +<polyline points='401.33,524.59 698.83,524.59 698.83,309.17 401.33,309.17 401.33,524.59 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' /> +<defs> + <clipPath id='cpMzYwLjAwfDcyMC4wMHw1NzYuMDB8Mjg4LjAw'> + <rect x='360.00' y='288.00' width='360.00' height='288.00' /> + </clipPath> +</defs> +<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHw1NzYuMDB8Mjg4LjAw)'><text x='540.92' y='562.90' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='18.33px' lengthAdjust='spacingAndGlyphs'>Time</text></g> +<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHw1NzYuMDB8Mjg4LjAw)'><text transform='translate(369.07,433.22) rotate(-90)' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='32.67px' lengthAdjust='spacingAndGlyphs'>Residual</text></g> +<defs> + <clipPath id='cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3'> + <rect x='401.33' y='309.17' width='297.50' height='215.42' /> + </clipPath> +</defs> +<circle cx='412.35' cy='416.76' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<circle cx='412.35' cy='397.08' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<circle cx='415.69' cy='391.46' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<circle cx='415.69' cy='399.09' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<circle cx='422.36' cy='499.99' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<circle cx='422.36' cy='456.06' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<circle cx='435.72' cy='399.96' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<circle cx='435.72' cy='378.53' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<circle cx='459.09' cy='401.41' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<circle cx='459.09' cy='406.22' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<circle cx='482.47' cy='426.16' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<circle cx='482.47' cy='425.09' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<circle cx='529.21' cy='419.76' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<circle cx='529.21' cy='419.30' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<circle cx='579.30' cy='417.28' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<circle cx='579.30' cy='417.74' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<circle cx='662.77' cy='416.99' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<circle cx='662.77' cy='416.91' r='1.89pt' style='stroke-width: 0.75;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<line x1='401.33' y1='416.88' x2='698.83' y2='416.88' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' clip-path='url(#cpNDAxLjMzfDY5OC44M3w1MjQuNTl8MzA5LjE3)' /> +<defs> + <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='> + <rect x='0.00' y='0.00' width='720.00' height='576.00' /> + </clipPath> +</defs> +<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='512.06' y='303.12' style='font-size: 8.40px; font-family: Liberation Sans;' textLength='76.05px' lengthAdjust='spacingAndGlyphs'>FOCUS_D residuals</text></g> +<defs> + <clipPath id='cpNTkuMDR8Njg5Ljc2fDUwMi41Nnw1OS4wNA=='> + <rect x='59.04' y='59.04' width='630.72' height='443.52' /> + </clipPath> +</defs> +</svg> diff --git a/tests/testthat/test_twa.R b/tests/testthat/test_plots_twa.R index 42b74a7f..fe0ba325 100644 --- a/tests/testthat/test_twa.R +++ b/tests/testthat/test_plots_twa.R @@ -1,4 +1,4 @@ -# Copyright (C) 2016,2017,2018 Johannes Ranke +# Copyright (C) 2016-2019 Johannes Ranke # Contact: jranke@uni-bremen.de # This file is part of the R package mkin @@ -16,20 +16,20 @@ # You should have received a copy of the GNU General Public License along with # this program. If not, see <http://www.gnu.org/licenses/> -context("Calculation of maximum time weighted average concentrations (TWAs)") +models <- c("SFO", "FOMC", "DFOP", "HS") +fits <- mmkin(models, + list(FOCUS_C = FOCUS_2006_C, FOCUS_D = FOCUS_2006_D), + quiet = TRUE, cores = if (Sys.getenv("TRAVIS") == "") 15 else 1) +context("Calculation of maximum time weighted average concentrations (TWAs)") test_that("Time weighted average concentrations are correct", { skip_on_cran() - twa_models <- c("SFO", "FOMC", "DFOP", "HS") - fits <- mmkin(twa_models, - list(FOCUS_C = FOCUS_2006_C, FOCUS_D = FOCUS_2006_D), - quiet = TRUE, cores = if (Sys.getenv("TRAVIS") == "") 15 else 1) outtimes_10 <- seq(0, 10, length.out = 10000) for (ds in c("FOCUS_C", "FOCUS_D")) { - for (model in twa_models) { + for (model in models) { fit <- fits[[model, ds]] bpar <- summary(fit)$bpar[, "Estimate"] pred_10 <- mkinpredict(fit$mkinmod, @@ -47,3 +47,15 @@ test_that("Time weighted average concentrations are correct", { } } }) + +context("Plotting") + +test_that("Plotting mmkin objects is reproducible", { + skip_on_cran() + mmkin_FOCUS_C <- function() plot(fits[, "FOCUS_C"]) + mmkin_SFO <- function() plot(fits["SFO",]) + + vdiffr::expect_doppelganger("mmkin plot for FOCUS C", mmkin_FOCUS_C) + vdiffr::expect_doppelganger("mmkin plot for SFO (FOCUS C and D)", mmkin_SFO) +}) + |