aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Ranke <jranke@uni-bremen.de>2019-10-22 10:13:16 +0200
committerJohannes Ranke <jranke@uni-bremen.de>2019-10-22 10:13:16 +0200
commitf8d45402477a588f773f6fd300f3d4e914648773 (patch)
treeb4191dab6d7249150933e322349501d90dc05ac3
parent1c8fae503c6c18764d62bc98236111168ac83529 (diff)
Improved visual testing
-rw-r--r--GNUmakefile4
-rw-r--r--man/plot.mkinfit.Rd3
-rw-r--r--test.log10
-rw-r--r--tests/figs/plotting/plot-errmod-with-sfo-lin-a-obs.svg237
-rw-r--r--tests/figs/plotting/plot-errmod-with-sfo-lin-a-tc.svg235
-rw-r--r--tests/testthat/FOCUS_2006_D.csf2
-rw-r--r--tests/testthat/setup_script.R2
-rw-r--r--tests/testthat/test_error_models.R6
-rw-r--r--tests/testthat/test_plots_summary_twa.R4
9 files changed, 487 insertions, 16 deletions
diff --git a/GNUmakefile b/GNUmakefile
index 0141b54c..231273c1 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -76,6 +76,9 @@ slowtests: install
NOT_CRAN=true "$(RBIN)/Rscript" -e 'library(mkin); testthat::test_dir("tests/testthat/slow")' 2>&1 | tee tests_slow.log
sed -i -e "s/\r.*\r//" tests_slow.log
+vdiffr:
+ "$(RBIN)/Rscript" -e 'vdiffr::manage_cases(filter = "plots|nafta")'
+
testcheck: test check
README.html: README.md
@@ -123,7 +126,6 @@ winbin: $(WINBIN)
dratwin: winbin
"$(RBIN)/Rscript" -e "drat::insertPackage('$(WINBIN)', '~/git/drat/', commit = TRUE)"
-
submit:
@echo "\nHow about make test, make check, make pd, make winbuilder"
@echo "\nIs the DESCRIPTION file up to date?"
diff --git a/man/plot.mkinfit.Rd b/man/plot.mkinfit.Rd
index e7b456a1..fac5663a 100644
--- a/man/plot.mkinfit.Rd
+++ b/man/plot.mkinfit.Rd
@@ -135,9 +135,6 @@ plot(fit)
plot_res(fit)
plot_err(fit)
-# Show the observed variables separately
-plot(fit, sep_obs = TRUE, lpos = c("topright", "bottomright"))
-
# Show the observed variables separately, with residuals
plot(fit, sep_obs = TRUE, show_residuals = TRUE, lpos = c("topright", "bottomright"),
show_errmin = TRUE)
diff --git a/test.log b/test.log
index 901091a1..230fbd3b 100644
--- a/test.log
+++ b/test.log
@@ -3,9 +3,9 @@ Testing mkin
✔ | OK F W S | Context
✔ | 2 | Export dataset for reading into CAKE
✔ | 3 | Confidence intervals and p-values
-✔ | 11 | Error model fitting [51.0 s]
+✔ | 10 | Error model fitting [37.0 s]
✔ | 5 | Calculation of FOCUS chi2 error levels [3.5 s]
-✔ | 13 | Results for FOCUS D established in expertise for UBA (Ranke 2014) [3.5 s]
+✔ | 13 | Results for FOCUS D established in expertise for UBA (Ranke 2014) [3.4 s]
✔ | 6 | Test fitting the decline of metabolites from their maximum [0.9 s]
✔ | 1 | Fitting the logistic model [0.9 s]
✔ | 1 | Test dataset class mkinds used in gmkin
@@ -15,7 +15,7 @@ Testing mkin
✔ | 16 | Evaluations according to 2015 NAFTA guidance [4.0 s]
✔ | 4 | Calculation of maximum time weighted average concentrations (TWAs) [2.2 s]
✔ | 3 | Summary
-✔ | 7 | Plotting [0.4 s]
+✔ | 9 | Plotting [0.5 s]
✔ | 3 | AIC calculation
✔ | 2 | Complex test case from Schaefer et al. (2007) Piacenza paper [5.3 s]
✔ | 4 | Fitting the SFORB model [1.7 s]
@@ -23,9 +23,9 @@ Testing mkin
✔ | 4 | Results for synthetic data established in expertise for UBA (Ranke 2014) [7.1 s]
══ Results ═════════════════════════════════════════════════════════════════════
-Duration: 83.9 s
+Duration: 69.9 s
-OK: 110
+OK: 111
Failed: 0
Warnings: 0
Skipped: 0
diff --git a/tests/figs/plotting/plot-errmod-with-sfo-lin-a-obs.svg b/tests/figs/plotting/plot-errmod-with-sfo-lin-a-obs.svg
new file mode 100644
index 00000000..88e7aaee
--- /dev/null
+++ b/tests/figs/plotting/plot-errmod-with-sfo-lin-a-obs.svg
@@ -0,0 +1,237 @@
+<?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='69.07' y1='502.56' x2='319.73' y2='502.56' style='stroke-width: 0.75;' />
+<line x1='69.07' y1='502.56' x2='69.07' y2='509.76' style='stroke-width: 0.75;' />
+<line x1='110.84' y1='502.56' x2='110.84' y2='509.76' style='stroke-width: 0.75;' />
+<line x1='152.62' y1='502.56' x2='152.62' y2='509.76' style='stroke-width: 0.75;' />
+<line x1='194.40' y1='502.56' x2='194.40' y2='509.76' style='stroke-width: 0.75;' />
+<line x1='236.18' y1='502.56' x2='236.18' y2='509.76' style='stroke-width: 0.75;' />
+<line x1='277.96' y1='502.56' x2='277.96' y2='509.76' style='stroke-width: 0.75;' />
+<line x1='319.73' y1='502.56' x2='319.73' y2='509.76' style='stroke-width: 0.75;' />
+<text x='65.73' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='6.67px' lengthAdjust='spacingAndGlyphs'>0</text>
+<text x='104.17' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>20</text>
+<text x='145.95' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>40</text>
+<text x='187.73' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>60</text>
+<text x='229.51' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>80</text>
+<text x='267.95' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='20.02px' lengthAdjust='spacingAndGlyphs'>100</text>
+<text x='309.73' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='20.02px' lengthAdjust='spacingAndGlyphs'>120</text>
+<line x1='59.04' y1='486.13' x2='59.04' y2='83.73' style='stroke-width: 0.75;' />
+<line x1='59.04' y1='486.13' x2='51.84' y2='486.13' style='stroke-width: 0.75;' />
+<line x1='59.04' y1='405.65' x2='51.84' y2='405.65' style='stroke-width: 0.75;' />
+<line x1='59.04' y1='325.17' x2='51.84' y2='325.17' style='stroke-width: 0.75;' />
+<line x1='59.04' y1='244.69' x2='51.84' y2='244.69' style='stroke-width: 0.75;' />
+<line x1='59.04' y1='164.21' x2='51.84' y2='164.21' style='stroke-width: 0.75;' />
+<line x1='59.04' y1='83.73' x2='51.84' y2='83.73' style='stroke-width: 0.75;' />
+<text transform='translate(41.76,489.47) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='6.67px' lengthAdjust='spacingAndGlyphs'>0</text>
+<text transform='translate(41.76,412.32) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>20</text>
+<text transform='translate(41.76,331.84) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>40</text>
+<text transform='translate(41.76,251.36) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>60</text>
+<text transform='translate(41.76,170.88) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>80</text>
+<text transform='translate(41.76,93.74) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='20.02px' lengthAdjust='spacingAndGlyphs'>100</text>
+<polyline points='59.04,502.56 329.76,502.56 329.76,59.04 59.04,59.04 59.04,502.56 ' style='stroke-width: 0.75;' />
+<defs>
+ <clipPath id='cpMC4wMHwzNjAuMDB8NTc2LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='360.00' height='576.00' />
+ </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHwzNjAuMDB8NTc2LjAwfDAuMDA=)'><text x='181.29' y='557.28' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='26.22px' lengthAdjust='spacingAndGlyphs'>Time</text></g>
+<g clip-path='url(#cpMC4wMHwzNjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(12.96,306.81) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='52.02px' lengthAdjust='spacingAndGlyphs'>Observed</text></g>
+<defs>
+ <clipPath id='cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA=='>
+ <rect x='59.04' y='59.04' width='270.72' height='443.52' />
+ </clipPath>
+</defs>
+<circle cx='69.07' cy='77.69' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='69.07' cy='78.90' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='71.16' cy='269.24' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='71.16' cy='294.99' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='75.33' cy='444.28' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='75.33' cy='455.55' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='83.69' cy='481.71' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='83.69' cy='484.93' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='98.31' cy='472.05' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='127.56' cy='473.26' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='257.07' cy='483.72' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='319.73' cy='472.05' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='71.16,335.46 74.79,341.76 67.52,341.76 71.16,335.46 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='71.16,331.44 74.79,337.73 67.52,337.73 71.16,331.44 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='75.33,343.91 78.97,350.21 71.70,350.21 75.33,343.91 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='75.33,321.78 78.97,328.08 71.70,328.08 75.33,321.78 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='83.69,421.17 87.33,427.47 80.05,427.47 83.69,421.17 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='83.69,410.31 87.33,416.60 80.05,416.60 83.69,410.31 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='98.31,458.60 101.95,464.89 94.67,464.89 98.31,458.60 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='98.31,477.11 101.95,483.40 94.67,483.40 98.31,477.11 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='194.40,479.92 198.04,486.22 190.76,486.22 194.40,479.92 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='257.07,469.06 260.70,475.36 253.43,475.36 257.07,469.06 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='319.73,475.90 323.37,482.20 316.10,482.20 319.73,475.90 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='319.73,479.52 323.37,485.82 316.10,485.82 319.73,479.52 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='67.34' y1='466.82' x2='74.97' y2='466.82' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='71.16' y1='470.64' x2='71.16' y2='463.00' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='71.51' y1='402.03' x2='79.15' y2='402.03' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='75.33' y1='405.85' x2='75.33' y2='398.21' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='71.51' y1='408.47' x2='79.15' y2='408.47' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='75.33' y1='412.29' x2='75.33' y2='404.65' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='79.87' y1='317.12' x2='87.51' y2='317.12' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='83.69' y1='320.94' x2='83.69' y2='313.31' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='79.87' y1='312.70' x2='87.51' y2='312.70' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='83.69' y1='316.52' x2='83.69' y2='308.88' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='94.49' y1='287.35' x2='102.13' y2='287.35' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='98.31' y1='291.16' x2='98.31' y2='283.53' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='94.49' y1='307.87' x2='102.13' y2='307.87' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='98.31' y1='311.69' x2='98.31' y2='304.05' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='123.74' y1='346.90' x2='131.37' y2='346.90' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='127.56' y1='350.72' x2='127.56' y2='343.08' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='123.74' y1='353.34' x2='131.37' y2='353.34' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='127.56' y1='357.16' x2='127.56' y2='349.52' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='190.58' y1='410.48' x2='198.22' y2='410.48' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='194.40' y1='414.30' x2='194.40' y2='406.66' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='190.58' y1='415.31' x2='198.22' y2='415.31' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='194.40' y1='419.13' x2='194.40' y2='411.49' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='253.25' y1='443.48' x2='260.89' y2='443.48' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='257.07' y1='447.30' x2='257.07' y2='439.66' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='253.25' y1='442.67' x2='260.89' y2='442.67' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='257.07' y1='446.49' x2='257.07' y2='438.86' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='315.91' y1='446.70' x2='323.55' y2='446.70' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='319.73' y1='450.52' x2='319.73' y2='442.88' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='315.91' y1='472.85' x2='323.55' y2='472.85' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='319.73' y1='476.67' x2='319.73' y2='469.04' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='69.07,75.47 71.60,318.44 74.13,417.65 76.66,458.17 79.19,474.71 81.73,481.47 84.26,484.23 86.79,485.36 89.32,485.82 91.85,486.00 94.39,486.08 96.92,486.11 99.45,486.12 101.98,486.13 104.51,486.13 107.05,486.13 109.58,486.13 112.11,486.13 114.64,486.13 117.17,486.13 119.71,486.13 122.24,486.13 124.77,486.13 127.30,486.13 129.83,486.13 132.37,486.13 134.90,486.13 137.43,486.13 139.96,486.13 142.49,486.13 145.03,486.13 147.56,486.13 150.09,486.13 152.62,486.13 155.15,486.13 157.69,486.13 160.22,486.13 162.75,486.13 165.28,486.13 167.81,486.13 170.35,486.13 172.88,486.13 175.41,486.13 177.94,486.13 180.47,486.13 183.01,486.13 185.54,486.13 188.07,486.13 190.60,486.13 193.13,486.13 195.67,486.13 198.20,486.13 200.73,486.13 203.26,486.13 205.79,486.13 208.33,486.13 210.86,486.13 213.39,486.13 215.92,486.13 218.45,486.13 220.99,486.13 223.52,486.13 226.05,486.13 228.58,486.13 231.11,486.13 233.65,486.13 236.18,486.13 238.71,486.13 241.24,486.13 243.77,486.13 246.31,486.13 248.84,486.13 251.37,486.13 253.90,486.13 256.43,486.13 258.97,486.13 261.50,486.13 264.03,486.13 266.56,486.13 269.09,486.13 271.63,486.13 274.16,486.13 276.69,486.13 279.22,486.13 281.75,486.13 284.29,486.13 286.82,486.13 289.35,486.13 291.88,486.13 294.41,486.13 296.95,486.13 299.48,486.13 302.01,486.13 304.54,486.13 307.07,486.13 309.61,486.13 312.14,486.13 314.67,486.13 317.20,486.13 319.73,486.13 ' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='69.07,486.13 71.60,333.73 74.13,317.73 76.66,343.39 79.19,376.31 81.73,405.38 84.26,428.15 86.79,445.03 89.32,457.21 91.85,465.86 94.39,471.96 96.92,476.24 99.45,479.23 101.98,481.32 104.51,482.78 107.05,483.80 109.58,484.51 112.11,485.00 114.64,485.34 117.17,485.58 119.71,485.75 122.24,485.87 124.77,485.95 127.30,486.00 129.83,486.04 132.37,486.07 134.90,486.09 137.43,486.10 139.96,486.11 142.49,486.12 145.03,486.12 147.56,486.13 150.09,486.13 152.62,486.13 155.15,486.13 157.69,486.13 160.22,486.13 162.75,486.13 165.28,486.13 167.81,486.13 170.35,486.13 172.88,486.13 175.41,486.13 177.94,486.13 180.47,486.13 183.01,486.13 185.54,486.13 188.07,486.13 190.60,486.13 193.13,486.13 195.67,486.13 198.20,486.13 200.73,486.13 203.26,486.13 205.79,486.13 208.33,486.13 210.86,486.13 213.39,486.13 215.92,486.13 218.45,486.13 220.99,486.13 223.52,486.13 226.05,486.13 228.58,486.13 231.11,486.13 233.65,486.13 236.18,486.13 238.71,486.13 241.24,486.13 243.77,486.13 246.31,486.13 248.84,486.13 251.37,486.13 253.90,486.13 256.43,486.13 258.97,486.13 261.50,486.13 264.03,486.13 266.56,486.13 269.09,486.13 271.63,486.13 274.16,486.13 276.69,486.13 279.22,486.13 281.75,486.13 284.29,486.13 286.82,486.13 289.35,486.13 291.88,486.13 294.41,486.13 296.95,486.13 299.48,486.13 302.01,486.13 304.54,486.13 307.07,486.13 309.61,486.13 312.14,486.13 314.67,486.13 317.20,486.13 319.73,486.13 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='69.07,486.13 71.60,461.63 74.13,419.15 76.66,380.16 79.19,350.09 81.73,328.88 84.26,314.90 86.79,306.36 89.32,301.75 91.85,299.93 94.39,300.04 96.92,301.48 99.45,303.81 101.98,306.73 104.51,310.04 107.05,313.59 109.58,317.26 112.11,321.01 114.64,324.76 117.17,328.51 119.71,332.21 122.24,335.86 124.77,339.45 127.30,342.96 129.83,346.41 132.37,349.78 134.90,353.07 137.43,356.29 139.96,359.43 142.49,362.50 145.03,365.49 147.56,368.42 150.09,371.27 152.62,374.06 155.15,376.77 157.69,379.43 160.22,382.01 162.75,384.54 165.28,387.00 167.81,389.41 170.35,391.75 172.88,394.04 175.41,396.27 177.94,398.45 180.47,400.58 183.01,402.66 185.54,404.68 188.07,406.66 190.60,408.58 193.13,410.46 195.67,412.30 198.20,414.09 200.73,415.84 203.26,417.54 205.79,419.21 208.33,420.83 210.86,422.41 213.39,423.96 215.92,425.47 218.45,426.94 220.99,428.37 223.52,429.77 226.05,431.14 228.58,432.47 231.11,433.78 233.65,435.05 236.18,436.28 238.71,437.49 241.24,438.67 243.77,439.82 246.31,440.95 248.84,442.04 251.37,443.11 253.90,444.16 256.43,445.17 258.97,446.17 261.50,447.14 264.03,448.08 266.56,449.01 269.09,449.91 271.63,450.78 274.16,451.64 276.69,452.48 279.22,453.29 281.75,454.09 284.29,454.87 286.82,455.63 289.35,456.37 291.88,457.09 294.41,457.79 296.95,458.48 299.48,459.15 302.01,459.81 304.54,460.44 307.07,461.07 309.61,461.67 312.14,462.27 314.67,462.85 317.20,463.41 319.73,463.96 ' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<rect x='241.17' y='81.22' width='75.06' height='57.60' style='stroke-width: 0.75; fill: #FFFFFF;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='244.41' y1='95.62' x2='266.01' y2='95.62' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='244.41' y1='110.02' x2='266.01' y2='110.02' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='244.41' y1='124.42' x2='266.01' y2='124.42' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='255.21' cy='95.62' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='255.21,105.82 258.84,112.12 251.57,112.12 255.21,105.82 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='251.39' y1='124.42' x2='259.03' y2='124.42' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='255.21' y1='128.23' x2='255.21' y2='120.60' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<g clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)'><text x='276.81' y='99.74' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='34.02px' lengthAdjust='spacingAndGlyphs'>parent</text></g>
+<g clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)'><text x='276.81' y='114.14' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='16.67px' lengthAdjust='spacingAndGlyphs'>M1</text></g>
+<g clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)'><text x='276.81' y='128.54' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='16.67px' lengthAdjust='spacingAndGlyphs'>M2</text></g>
+<defs>
+ <clipPath id='cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ='>
+ <rect x='419.04' y='59.04' width='270.72' height='443.52' />
+ </clipPath>
+</defs>
+<defs>
+ <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='720.00' height='576.00' />
+ </clipPath>
+</defs>
+<line x1='429.07' y1='502.56' x2='652.36' y2='502.56' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='429.07' y1='502.56' x2='429.07' y2='509.76' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='473.73' y1='502.56' x2='473.73' y2='509.76' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='518.38' y1='502.56' x2='518.38' y2='509.76' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='563.04' y1='502.56' x2='563.04' y2='509.76' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='607.70' y1='502.56' x2='607.70' y2='509.76' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='652.36' y1='502.56' x2='652.36' y2='509.76' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='425.73' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='6.67px' lengthAdjust='spacingAndGlyphs'>0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='467.05' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>20</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='511.71' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>40</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='556.37' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>60</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='601.03' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>80</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='642.35' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='20.02px' lengthAdjust='spacingAndGlyphs'>100</text></g>
+<line x1='419.04' y1='486.13' x2='419.04' y2='99.75' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='419.04' y1='486.13' x2='411.84' y2='486.13' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='419.04' y1='421.74' x2='411.84' y2='421.74' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='419.04' y1='357.34' x2='411.84' y2='357.34' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='419.04' y1='292.94' x2='411.84' y2='292.94' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='419.04' y1='228.54' x2='411.84' y2='228.54' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='419.04' y1='164.15' x2='411.84' y2='164.15' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='419.04' y1='99.75' x2='411.84' y2='99.75' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(401.76,489.47) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='6.67px' lengthAdjust='spacingAndGlyphs'>0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(401.76,425.07) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='6.67px' lengthAdjust='spacingAndGlyphs'>5</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(401.76,364.01) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>10</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(401.76,299.61) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>15</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(401.76,235.22) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>20</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(401.76,170.82) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>25</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(401.76,106.42) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>30</text></g>
+<polyline points='419.04,502.56 689.76,502.56 689.76,59.04 419.04,59.04 419.04,502.56 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<defs>
+ <clipPath id='cpMzYwLjAwfDcyMC4wMHw1NzYuMDB8MC4wMA=='>
+ <rect x='360.00' y='0.00' width='360.00' height='576.00' />
+ </clipPath>
+</defs>
+<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHw1NzYuMDB8MC4wMA==)'><text x='529.06' y='557.28' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='50.69px' lengthAdjust='spacingAndGlyphs'>Predicted</text></g>
+<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHw1NzYuMDB8MC4wMA==)'><text transform='translate(372.96,326.16) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='90.72px' lengthAdjust='spacingAndGlyphs'>Squared residual</text></g>
+<defs>
+ <clipPath id='cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ='>
+ <rect x='419.04' y='59.04' width='270.72' height='443.52' />
+ </clipPath>
+</defs>
+<circle cx='656.95' cy='482.19' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='656.95' cy='476.76' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='537.91' cy='143.91' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='537.91' cy='466.16' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='453.90' cy='479.44' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='453.90' cy='326.46' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='430.36' cy='482.64' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='430.36' cy='485.13' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='429.07' cy='328.66' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='429.07' cy='354.25' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='429.07' cy='481.50' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='429.07' cy='328.36' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='506.65,446.70 510.29,453.00 503.02,453.00 506.65,446.70 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='506.65,391.21 510.29,397.51 503.02,397.51 506.65,391.21 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='517.01,149.17 520.64,155.47 513.37,155.47 517.01,149.17 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='517.01,479.69 520.64,485.99 513.37,485.99 517.01,479.69 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='463.78,479.37 467.42,485.67 460.14,485.67 463.78,479.37 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='463.78,416.53 467.42,422.83 460.14,422.83 463.78,416.53 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='433.57,297.56 437.21,303.85 429.93,303.85 433.57,297.56 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='433.57,473.35 437.21,479.65 429.93,479.65 433.57,473.35 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='429.07,478.71 432.70,485.01 425.43,485.01 429.07,478.71 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='429.07,350.05 432.70,356.35 425.43,356.35 429.07,350.05 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='429.07,452.96 432.70,459.25 425.43,459.25 429.07,452.96 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='429.07,477.30 432.70,483.60 425.43,483.60 429.07,477.30 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='435.17' y1='484.50' x2='442.81' y2='484.50' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='438.99' y1='488.32' x2='438.99' y2='480.68' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='473.23' y1='481.64' x2='480.87' y2='481.64' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='477.05' y1='485.46' x2='477.05' y2='477.83' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='473.23' y1='424.34' x2='480.87' y2='424.34' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='477.05' y1='428.16' x2='477.05' y2='420.53' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='518.82' y1='486.01' x2='526.45' y2='486.01' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='522.64' y1='489.83' x2='522.64' y2='482.20' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='518.82' y1='467.70' x2='526.45' y2='467.70' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='522.64' y1='471.52' x2='522.64' y2='463.89' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='527.05' y1='299.30' x2='534.69' y2='299.30' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='530.87' y1='303.12' x2='530.87' y2='295.48' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='527.05' y1='464.66' x2='534.69' y2='464.66' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='530.87' y1='468.48' x2='530.87' y2='460.84' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='504.50' y1='475.89' x2='512.14' y2='475.89' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='508.32' y1='479.70' x2='508.32' y2='472.07' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='504.50' y1='406.15' x2='512.14' y2='406.15' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='508.32' y1='409.97' x2='508.32' y2='402.33' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='466.72' y1='485.48' x2='474.36' y2='485.48' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='470.54' y1='489.30' x2='470.54' y2='481.66' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='466.72' y1='473.89' x2='474.36' y2='473.89' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='470.54' y1='477.71' x2='470.54' y2='470.07' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='447.84' y1='483.12' x2='455.47' y2='483.12' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='451.66' y1='486.94' x2='451.66' y2='479.30' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='447.84' y1='480.11' x2='455.47' y2='480.11' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='451.66' y1='483.93' x2='451.66' y2='476.29' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='437.55' y1='249.05' x2='445.19' y2='249.05' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='441.37' y1='252.86' x2='441.37' y2='245.23' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='437.55' y1='423.26' x2='445.19' y2='423.26' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='441.37' y1='427.07' x2='441.37' y2='419.44' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='419.04' y1='402.95' x2='689.76' y2='402.95' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='419.04' y1='411.92' x2='689.76' y2='411.92' style='stroke-width: 0.75; stroke: #FF0000; stroke-dasharray: 4.00,4.00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='419.04' y1='439.01' x2='689.76' y2='439.01' style='stroke-width: 0.75; stroke: #00CD00; stroke-dasharray: 4.00,4.00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<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/plot-errmod-with-sfo-lin-a-tc.svg b/tests/figs/plotting/plot-errmod-with-sfo-lin-a-tc.svg
new file mode 100644
index 00000000..af7429a0
--- /dev/null
+++ b/tests/figs/plotting/plot-errmod-with-sfo-lin-a-tc.svg
@@ -0,0 +1,235 @@
+<?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='69.07' y1='502.56' x2='319.73' y2='502.56' style='stroke-width: 0.75;' />
+<line x1='69.07' y1='502.56' x2='69.07' y2='509.76' style='stroke-width: 0.75;' />
+<line x1='110.84' y1='502.56' x2='110.84' y2='509.76' style='stroke-width: 0.75;' />
+<line x1='152.62' y1='502.56' x2='152.62' y2='509.76' style='stroke-width: 0.75;' />
+<line x1='194.40' y1='502.56' x2='194.40' y2='509.76' style='stroke-width: 0.75;' />
+<line x1='236.18' y1='502.56' x2='236.18' y2='509.76' style='stroke-width: 0.75;' />
+<line x1='277.96' y1='502.56' x2='277.96' y2='509.76' style='stroke-width: 0.75;' />
+<line x1='319.73' y1='502.56' x2='319.73' y2='509.76' style='stroke-width: 0.75;' />
+<text x='65.73' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='6.67px' lengthAdjust='spacingAndGlyphs'>0</text>
+<text x='104.17' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>20</text>
+<text x='145.95' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>40</text>
+<text x='187.73' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>60</text>
+<text x='229.51' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>80</text>
+<text x='267.95' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='20.02px' lengthAdjust='spacingAndGlyphs'>100</text>
+<text x='309.73' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='20.02px' lengthAdjust='spacingAndGlyphs'>120</text>
+<line x1='59.04' y1='486.13' x2='59.04' y2='83.77' style='stroke-width: 0.75;' />
+<line x1='59.04' y1='486.13' x2='51.84' y2='486.13' style='stroke-width: 0.75;' />
+<line x1='59.04' y1='405.66' x2='51.84' y2='405.66' style='stroke-width: 0.75;' />
+<line x1='59.04' y1='325.19' x2='51.84' y2='325.19' style='stroke-width: 0.75;' />
+<line x1='59.04' y1='244.71' x2='51.84' y2='244.71' style='stroke-width: 0.75;' />
+<line x1='59.04' y1='164.24' x2='51.84' y2='164.24' style='stroke-width: 0.75;' />
+<line x1='59.04' y1='83.77' x2='51.84' y2='83.77' style='stroke-width: 0.75;' />
+<text transform='translate(41.76,489.47) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='6.67px' lengthAdjust='spacingAndGlyphs'>0</text>
+<text transform='translate(41.76,412.33) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>20</text>
+<text transform='translate(41.76,331.86) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>40</text>
+<text transform='translate(41.76,251.38) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>60</text>
+<text transform='translate(41.76,170.91) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>80</text>
+<text transform='translate(41.76,93.77) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='20.02px' lengthAdjust='spacingAndGlyphs'>100</text>
+<polyline points='59.04,502.56 329.76,502.56 329.76,59.04 59.04,59.04 59.04,502.56 ' style='stroke-width: 0.75;' />
+<defs>
+ <clipPath id='cpMC4wMHwzNjAuMDB8NTc2LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='360.00' height='576.00' />
+ </clipPath>
+</defs>
+<g clip-path='url(#cpMC4wMHwzNjAuMDB8NTc2LjAwfDAuMDA=)'><text x='181.29' y='557.28' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='26.22px' lengthAdjust='spacingAndGlyphs'>Time</text></g>
+<g clip-path='url(#cpMC4wMHwzNjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(12.96,306.81) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='52.02px' lengthAdjust='spacingAndGlyphs'>Observed</text></g>
+<defs>
+ <clipPath id='cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA=='>
+ <rect x='59.04' y='59.04' width='270.72' height='443.52' />
+ </clipPath>
+</defs>
+<circle cx='69.07' cy='77.73' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='69.07' cy='78.94' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='71.16' cy='269.26' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='71.16' cy='295.01' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='75.33' cy='444.29' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='75.33' cy='455.55' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='83.69' cy='481.71' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='83.69' cy='484.93' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='98.31' cy='472.05' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='127.56' cy='473.26' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='257.07' cy='483.72' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='319.73' cy='472.05' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='71.16,335.47 74.79,341.77 67.52,341.77 71.16,335.47 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='71.16,331.45 74.79,337.75 67.52,337.75 71.16,331.45 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='75.33,343.92 78.97,350.22 71.70,350.22 75.33,343.92 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='75.33,321.79 78.97,328.09 71.70,328.09 75.33,321.79 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='83.69,421.18 87.33,427.48 80.05,427.48 83.69,421.18 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='83.69,410.31 87.33,416.61 80.05,416.61 83.69,410.31 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='98.31,458.60 101.95,464.90 94.67,464.90 98.31,458.60 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='98.31,477.11 101.95,483.40 94.67,483.40 98.31,477.11 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='194.40,479.92 198.04,486.22 190.76,486.22 194.40,479.92 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='257.07,469.06 260.70,475.36 253.43,475.36 257.07,469.06 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='319.73,475.90 323.37,482.20 316.10,482.20 319.73,475.90 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='319.73,479.52 323.37,485.82 316.10,485.82 319.73,479.52 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='67.34' y1='466.82' x2='74.97' y2='466.82' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='71.16' y1='470.64' x2='71.16' y2='463.00' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='71.51' y1='402.04' x2='79.15' y2='402.04' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='75.33' y1='405.86' x2='75.33' y2='398.22' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='71.51' y1='408.48' x2='79.15' y2='408.48' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='75.33' y1='412.29' x2='75.33' y2='404.66' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='79.87' y1='317.14' x2='87.51' y2='317.14' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='83.69' y1='320.96' x2='83.69' y2='313.32' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='79.87' y1='312.71' x2='87.51' y2='312.71' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='83.69' y1='316.53' x2='83.69' y2='308.89' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='94.49' y1='287.36' x2='102.13' y2='287.36' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='98.31' y1='291.18' x2='98.31' y2='283.55' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='94.49' y1='307.88' x2='102.13' y2='307.88' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='98.31' y1='311.70' x2='98.31' y2='304.07' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='123.74' y1='346.91' x2='131.37' y2='346.91' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='127.56' y1='350.73' x2='127.56' y2='343.10' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='123.74' y1='353.35' x2='131.37' y2='353.35' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='127.56' y1='357.17' x2='127.56' y2='349.53' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='190.58' y1='410.49' x2='198.22' y2='410.49' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='194.40' y1='414.31' x2='194.40' y2='406.67' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='190.58' y1='415.32' x2='198.22' y2='415.32' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='194.40' y1='419.13' x2='194.40' y2='411.50' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='253.25' y1='443.48' x2='260.89' y2='443.48' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='257.07' y1='447.30' x2='257.07' y2='439.66' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='253.25' y1='442.68' x2='260.89' y2='442.68' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='257.07' y1='446.50' x2='257.07' y2='438.86' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='315.91' y1='446.70' x2='323.55' y2='446.70' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='319.73' y1='450.52' x2='319.73' y2='442.88' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='315.91' y1='472.86' x2='323.55' y2='472.86' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='319.73' y1='476.67' x2='319.73' y2='469.04' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='69.07,75.47 71.60,318.52 74.13,417.72 76.66,458.21 79.19,474.74 81.73,481.48 84.26,484.24 86.79,485.36 89.32,485.82 91.85,486.00 94.39,486.08 96.92,486.11 99.45,486.12 101.98,486.13 104.51,486.13 107.05,486.13 109.58,486.13 112.11,486.13 114.64,486.13 117.17,486.13 119.71,486.13 122.24,486.13 124.77,486.13 127.30,486.13 129.83,486.13 132.37,486.13 134.90,486.13 137.43,486.13 139.96,486.13 142.49,486.13 145.03,486.13 147.56,486.13 150.09,486.13 152.62,486.13 155.15,486.13 157.69,486.13 160.22,486.13 162.75,486.13 165.28,486.13 167.81,486.13 170.35,486.13 172.88,486.13 175.41,486.13 177.94,486.13 180.47,486.13 183.01,486.13 185.54,486.13 188.07,486.13 190.60,486.13 193.13,486.13 195.67,486.13 198.20,486.13 200.73,486.13 203.26,486.13 205.79,486.13 208.33,486.13 210.86,486.13 213.39,486.13 215.92,486.13 218.45,486.13 220.99,486.13 223.52,486.13 226.05,486.13 228.58,486.13 231.11,486.13 233.65,486.13 236.18,486.13 238.71,486.13 241.24,486.13 243.77,486.13 246.31,486.13 248.84,486.13 251.37,486.13 253.90,486.13 256.43,486.13 258.97,486.13 261.50,486.13 264.03,486.13 266.56,486.13 269.09,486.13 271.63,486.13 274.16,486.13 276.69,486.13 279.22,486.13 281.75,486.13 284.29,486.13 286.82,486.13 289.35,486.13 291.88,486.13 294.41,486.13 296.95,486.13 299.48,486.13 302.01,486.13 304.54,486.13 307.07,486.13 309.61,486.13 312.14,486.13 314.67,486.13 317.20,486.13 319.73,486.13 ' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='69.07,486.13 71.60,333.58 74.13,317.72 76.66,343.53 79.19,376.53 81.73,405.63 84.26,428.39 86.79,445.25 89.32,457.39 91.85,466.02 94.39,472.09 96.92,476.34 99.45,479.31 101.98,481.38 104.51,482.83 107.05,483.83 109.58,484.53 112.11,485.02 114.64,485.36 117.17,485.59 119.71,485.76 122.24,485.87 124.77,485.95 127.30,486.01 129.83,486.05 132.37,486.07 134.90,486.09 137.43,486.10 139.96,486.11 142.49,486.12 145.03,486.12 147.56,486.13 150.09,486.13 152.62,486.13 155.15,486.13 157.69,486.13 160.22,486.13 162.75,486.13 165.28,486.13 167.81,486.13 170.35,486.13 172.88,486.13 175.41,486.13 177.94,486.13 180.47,486.13 183.01,486.13 185.54,486.13 188.07,486.13 190.60,486.13 193.13,486.13 195.67,486.13 198.20,486.13 200.73,486.13 203.26,486.13 205.79,486.13 208.33,486.13 210.86,486.13 213.39,486.13 215.92,486.13 218.45,486.13 220.99,486.13 223.52,486.13 226.05,486.13 228.58,486.13 231.11,486.13 233.65,486.13 236.18,486.13 238.71,486.13 241.24,486.13 243.77,486.13 246.31,486.13 248.84,486.13 251.37,486.13 253.90,486.13 256.43,486.13 258.97,486.13 261.50,486.13 264.03,486.13 266.56,486.13 269.09,486.13 271.63,486.13 274.16,486.13 276.69,486.13 279.22,486.13 281.75,486.13 284.29,486.13 286.82,486.13 289.35,486.13 291.88,486.13 294.41,486.13 296.95,486.13 299.48,486.13 302.01,486.13 304.54,486.13 307.07,486.13 309.61,486.13 312.14,486.13 314.67,486.13 317.20,486.13 319.73,486.13 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='69.07,486.13 71.60,461.57 74.13,419.04 76.66,380.02 79.19,349.97 81.73,328.80 84.26,314.86 86.79,306.36 89.32,301.79 91.85,300.00 94.39,300.14 96.92,301.59 99.45,303.93 101.98,306.86 104.51,310.17 107.05,313.72 109.58,317.39 112.11,321.13 114.64,324.89 117.17,328.62 119.71,332.32 122.24,335.96 124.77,339.54 127.30,343.06 129.83,346.49 132.37,349.86 134.90,353.14 137.43,356.35 139.96,359.49 142.49,362.55 145.03,365.54 147.56,368.46 150.09,371.31 152.62,374.09 155.15,376.80 157.69,379.45 160.22,382.03 162.75,384.56 165.28,387.02 167.81,389.42 170.35,391.76 172.88,394.04 175.41,396.27 177.94,398.45 180.47,400.57 183.01,402.65 185.54,404.67 188.07,406.64 190.60,408.57 193.13,410.44 195.67,412.28 198.20,414.07 200.73,415.81 203.26,417.51 205.79,419.18 208.33,420.80 210.86,422.38 213.39,423.92 215.92,425.43 218.45,426.90 220.99,428.34 223.52,429.74 226.05,431.10 228.58,432.43 231.11,433.74 233.65,435.00 236.18,436.24 238.71,437.45 241.24,438.63 243.77,439.78 246.31,440.90 248.84,442.00 251.37,443.07 253.90,444.11 256.43,445.13 258.97,446.12 261.50,447.09 264.03,448.04 266.56,448.96 269.09,449.86 271.63,450.74 274.16,451.59 276.69,452.43 279.22,453.25 281.75,454.04 284.29,454.82 286.82,455.58 289.35,456.32 291.88,457.04 294.41,457.75 296.95,458.43 299.48,459.10 302.01,459.76 304.54,460.40 307.07,461.02 309.61,461.63 312.14,462.22 314.67,462.80 317.20,463.37 319.73,463.92 ' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<rect x='241.17' y='81.22' width='75.06' height='57.60' style='stroke-width: 0.75; fill: #FFFFFF;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='244.41' y1='95.62' x2='266.01' y2='95.62' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='244.41' y1='110.02' x2='266.01' y2='110.02' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='244.41' y1='124.42' x2='266.01' y2='124.42' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<circle cx='255.21' cy='95.62' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<polyline points='255.21,105.82 258.84,112.12 251.57,112.12 255.21,105.82 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='251.39' y1='124.42' x2='259.03' y2='124.42' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<line x1='255.21' y1='128.23' x2='255.21' y2='120.60' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)' />
+<g clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)'><text x='276.81' y='99.74' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='34.02px' lengthAdjust='spacingAndGlyphs'>parent</text></g>
+<g clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)'><text x='276.81' y='114.14' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='16.67px' lengthAdjust='spacingAndGlyphs'>M1</text></g>
+<g clip-path='url(#cpNTkuMDR8MzI5Ljc2fDUwMi41Nnw1OS4wNA==)'><text x='276.81' y='128.54' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='16.67px' lengthAdjust='spacingAndGlyphs'>M2</text></g>
+<defs>
+ <clipPath id='cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ='>
+ <rect x='419.04' y='59.04' width='270.72' height='443.52' />
+ </clipPath>
+</defs>
+<defs>
+ <clipPath id='cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA='>
+ <rect x='0.00' y='0.00' width='720.00' height='576.00' />
+ </clipPath>
+</defs>
+<line x1='429.07' y1='502.56' x2='652.34' y2='502.56' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='429.07' y1='502.56' x2='429.07' y2='509.76' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='473.72' y1='502.56' x2='473.72' y2='509.76' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='518.38' y1='502.56' x2='518.38' y2='509.76' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='563.03' y1='502.56' x2='563.03' y2='509.76' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='607.69' y1='502.56' x2='607.69' y2='509.76' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='652.34' y1='502.56' x2='652.34' y2='509.76' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='425.73' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='6.67px' lengthAdjust='spacingAndGlyphs'>0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='467.05' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>20</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='511.70' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>40</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='556.36' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>60</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='601.01' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>80</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text x='642.33' y='528.48' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='20.02px' lengthAdjust='spacingAndGlyphs'>100</text></g>
+<line x1='419.04' y1='486.13' x2='419.04' y2='102.21' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='419.04' y1='486.13' x2='411.84' y2='486.13' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='419.04' y1='422.15' x2='411.84' y2='422.15' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='419.04' y1='358.16' x2='411.84' y2='358.16' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='419.04' y1='294.17' x2='411.84' y2='294.17' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='419.04' y1='230.18' x2='411.84' y2='230.18' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='419.04' y1='166.19' x2='411.84' y2='166.19' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<line x1='419.04' y1='102.21' x2='411.84' y2='102.21' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(401.76,489.47) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='6.67px' lengthAdjust='spacingAndGlyphs'>0</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(401.76,425.48) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='6.67px' lengthAdjust='spacingAndGlyphs'>5</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(401.76,364.83) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>10</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(401.76,300.84) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>15</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(401.76,236.85) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>20</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(401.76,172.87) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>25</text></g>
+<g clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)'><text transform='translate(401.76,108.88) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='13.34px' lengthAdjust='spacingAndGlyphs'>30</text></g>
+<polyline points='419.04,502.56 689.76,502.56 689.76,59.04 419.04,59.04 419.04,502.56 ' style='stroke-width: 0.75;' clip-path='url(#cpMC4wMHw3MjAuMDB8NTc2LjAwfDAuMDA=)' />
+<defs>
+ <clipPath id='cpMzYwLjAwfDcyMC4wMHw1NzYuMDB8MC4wMA=='>
+ <rect x='360.00' y='0.00' width='360.00' height='576.00' />
+ </clipPath>
+</defs>
+<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHw1NzYuMDB8MC4wMA==)'><text x='529.06' y='557.28' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='50.69px' lengthAdjust='spacingAndGlyphs'>Predicted</text></g>
+<g clip-path='url(#cpMzYwLjAwfDcyMC4wMHw1NzYuMDB8MC4wMA==)'><text transform='translate(372.96,326.16) rotate(-90)' style='font-size: 12.00px; font-family: Liberation Sans;' textLength='90.72px' lengthAdjust='spacingAndGlyphs'>Squared residual</text></g>
+<defs>
+ <clipPath id='cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ='>
+ <rect x='419.04' y='59.04' width='270.72' height='443.52' />
+ </clipPath>
+</defs>
+<circle cx='656.95' cy='482.08' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='656.95' cy='476.61' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='537.87' cy='143.91' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='537.87' cy='466.81' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='453.87' cy='479.72' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='453.87' cy='328.67' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='430.36' cy='482.64' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='430.36' cy='485.15' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='429.07' cy='329.66' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='429.07' cy='355.09' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='429.07' cy='481.53' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<circle cx='429.07' cy='329.36' r='2.70pt' style='stroke-width: 0.75;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='506.74,448.73 510.38,455.02 503.11,455.02 506.74,448.73 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='506.74,394.70 510.38,401.00 503.11,401.00 506.74,394.70 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='516.97,152.94 520.61,159.24 513.33,159.24 516.97,152.94 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='516.97,479.57 520.61,485.87 513.33,485.87 516.97,479.57 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='463.65,480.02 467.28,486.31 460.01,486.31 463.65,480.02 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='463.65,413.48 467.28,419.77 460.01,419.77 463.65,413.48 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='433.52,296.68 437.16,302.98 429.89,302.98 433.52,296.68 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='433.52,473.84 437.16,480.14 429.89,480.14 433.52,473.84 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='429.07,478.74 432.70,485.03 425.43,485.03 429.07,478.74 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='429.07,350.89 432.70,357.19 425.43,357.19 429.07,350.89 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='429.07,453.14 432.70,459.44 425.43,459.44 429.07,453.14 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='429.07,477.33 432.70,483.63 425.43,483.63 429.07,477.33 ' style='stroke-width: 0.75; stroke: #FF0000;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='435.19' y1='484.61' x2='442.83' y2='484.61' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='439.01' y1='488.43' x2='439.01' y2='480.79' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='473.31' y1='481.13' x2='480.95' y2='481.13' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='477.13' y1='484.95' x2='477.13' y2='477.31' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='473.31' y1='422.76' x2='480.95' y2='422.76' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='477.13' y1='426.58' x2='477.13' y2='418.94' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='518.85' y1='486.05' x2='526.48' y2='486.05' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='522.66' y1='489.87' x2='522.66' y2='482.23' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='518.85' y1='468.33' x2='526.48' y2='468.33' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='522.66' y1='472.15' x2='522.66' y2='464.51' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='526.99' y1='298.06' x2='534.62' y2='298.06' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='530.80' y1='301.88' x2='530.80' y2='294.24' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='526.99' y1='465.61' x2='534.62' y2='465.61' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='530.80' y1='469.43' x2='530.80' y2='461.79' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='504.45' y1='476.39' x2='512.09' y2='476.39' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='508.27' y1='480.20' x2='508.27' y2='472.57' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='504.45' y1='407.88' x2='512.09' y2='407.88' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='508.27' y1='411.70' x2='508.27' y2='404.06' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='466.74' y1='485.52' x2='474.37' y2='485.52' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='470.55' y1='489.34' x2='470.55' y2='481.70' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='466.74' y1='473.80' x2='474.37' y2='473.80' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='470.55' y1='477.62' x2='470.55' y2='469.98' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='447.86' y1='483.29' x2='455.50' y2='483.29' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='451.68' y1='487.11' x2='451.68' y2='479.47' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='447.86' y1='480.37' x2='455.50' y2='480.37' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='451.68' y1='484.18' x2='451.68' y2='476.55' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='437.58' y1='251.82' x2='445.21' y2='251.82' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='441.39' y1='255.64' x2='441.39' y2='248.00' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='437.58' y1='423.00' x2='445.21' y2='423.00' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<line x1='441.39' y1='426.82' x2='441.39' y2='419.18' style='stroke-width: 0.75; stroke: #00CD00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<polyline points='429.07,420.01 431.35,420.01 433.62,420.01 435.90,420.01 438.18,420.01 440.46,420.01 442.74,420.01 445.02,420.01 447.30,420.01 449.58,420.01 451.85,420.01 454.13,420.01 456.41,420.01 458.69,420.01 460.97,420.01 463.25,420.01 465.53,420.01 467.81,420.01 470.08,420.01 472.36,420.01 474.64,420.01 476.92,420.01 479.20,420.01 481.48,420.01 483.76,420.01 486.04,420.01 488.32,420.01 490.59,420.01 492.87,420.01 495.15,420.01 497.43,420.01 499.71,420.01 501.99,420.01 504.27,420.01 506.55,420.01 508.82,420.01 511.10,420.01 513.38,420.01 515.66,420.01 517.94,420.01 520.22,420.01 522.50,420.01 524.78,420.01 527.05,420.01 529.33,420.01 531.61,420.01 533.89,420.01 536.17,420.01 538.45,420.01 540.73,420.01 543.01,420.01 545.28,420.01 547.56,420.01 549.84,420.01 552.12,420.01 554.40,420.01 556.68,420.01 558.96,420.01 561.24,420.01 563.52,420.01 565.79,420.01 568.07,420.01 570.35,420.01 572.63,420.01 574.91,420.01 577.19,420.01 579.47,420.01 581.75,420.01 584.02,420.01 586.30,420.01 588.58,420.01 590.86,420.01 593.14,420.01 595.42,420.01 597.70,420.01 599.98,420.01 602.25,420.01 604.53,420.01 606.81,420.01 609.09,420.01 611.37,420.01 613.65,420.01 615.93,420.01 618.21,420.01 620.48,420.01 622.76,420.01 625.04,420.01 627.32,420.01 629.60,420.01 631.88,420.01 634.16,420.01 636.44,420.01 638.72,420.01 640.99,420.01 643.27,420.01 645.55,420.01 647.83,420.01 650.11,420.01 652.39,420.01 654.67,420.01 656.95,420.01 ' style='stroke-width: 0.75; stroke-dasharray: 4.00,4.00;' clip-path='url(#cpNDE5LjA0fDY4OS43Nnw1MDIuNTZ8NTkuMDQ=)' />
+<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/FOCUS_2006_D.csf b/tests/testthat/FOCUS_2006_D.csf
index 171abbb0..638acd88 100644
--- a/tests/testthat/FOCUS_2006_D.csf
+++ b/tests/testthat/FOCUS_2006_D.csf
@@ -5,7 +5,7 @@ Description:
MeasurementUnits: % AR
TimeUnits: days
Comments: Created using mkin::CAKE_export
-Date: 2019-10-21
+Date: 2019-10-22
Optimiser: IRLS
[Data]
diff --git a/tests/testthat/setup_script.R b/tests/testthat/setup_script.R
index d8d94d4b..51fea4f6 100644
--- a/tests/testthat/setup_script.R
+++ b/tests/testthat/setup_script.R
@@ -76,3 +76,5 @@ f_SFO_lin_mkin_OLS <- mkinfit(m_synth_SFO_lin, SFO_lin_a, quiet = TRUE)
f_SFO_lin_mkin_ML <- mkinfit(m_synth_SFO_lin, SFO_lin_a, quiet = TRUE,
error_model = "const", error_model_algorithm = "direct")
+fit_obs_1 <- mkinfit(m_synth_SFO_lin, SFO_lin_a, error_model = "obs", quiet = TRUE)
+fit_tc_1 <- mkinfit(m_synth_SFO_lin, SFO_lin_a, error_model = "tc", quiet = TRUE)
diff --git a/tests/testthat/test_error_models.R b/tests/testthat/test_error_models.R
index d8263c95..12a8b7e5 100644
--- a/tests/testthat/test_error_models.R
+++ b/tests/testthat/test_error_models.R
@@ -20,18 +20,12 @@ context("Error model fitting")
test_that("Error model 'obs' works", {
skip_on_cran()
- fit_obs_1 <- mkinfit(m_synth_SFO_lin, SFO_lin_a, error_model = "obs", quiet = TRUE)
parms_2 <- round(fit_obs_1$bparms.optim, c(1, 4, 4, 4, 4, 4))
expect_equivalent(parms_2, c(102.1, 0.7389, 0.2982, 0.0203, 0.7677, 0.7246))
- plot_errmod_fit_obs_1 <- function() plot_err(fit_obs_1, sep_obs = FALSE)
-
- skip_on_travis() # This fails on Travis for an unknown reason
- vdiffr::expect_doppelganger("plot_errmod with SFO_lin_a", plot_errmod_fit_obs_1)
})
test_that("Error model 'tc' works", {
skip_on_cran()
- fit_tc_1 <- mkinfit(m_synth_SFO_lin, SFO_lin_a, error_model = "tc", quiet = TRUE)
parms_3 <- round(fit_tc_1$bparms.optim, c(1, 4, 4, 4, 4, 4))
expect_equivalent(parms_3, c(102.1, 0.7393, 0.2992, 0.0202, 0.7687, 0.7229))
})
diff --git a/tests/testthat/test_plots_summary_twa.R b/tests/testthat/test_plots_summary_twa.R
index 089290f6..e3ecbbc4 100644
--- a/tests/testthat/test_plots_summary_twa.R
+++ b/tests/testthat/test_plots_summary_twa.R
@@ -99,6 +99,8 @@ test_that("Plotting mkinfit and mmkin objects is reproducible", {
mmkin_SFO <- function() plot(fits["SFO",])
plot_res_sfo_sfo <- function() plot_res(f_sfo_sfo_desolve)
plot_err_sfo_sfo <- function() plot_err(f_sfo_sfo_desolve)
+ plot_errmod_fit_obs_1 <- function() plot_err(fit_obs_1, sep_obs = FALSE)
+ plot_errmod_fit_tc_1 <- function() plot_err(fit_tc_1, sep_obs = FALSE)
vdiffr::expect_doppelganger("mkinfit plot for FOCUS C with sep = TRUE", plot_sep_FOCUS_C_SFO)
vdiffr::expect_doppelganger("mkinparplot for FOCUS C SFO", mkinparplot_FOCUS_C_SFO)
@@ -107,6 +109,8 @@ test_that("Plotting mkinfit and mmkin objects is reproducible", {
vdiffr::expect_doppelganger("mmkin plot for SFO (FOCUS C and D)", mmkin_SFO)
vdiffr::expect_doppelganger("plot_res for FOCUS D", plot_res_sfo_sfo)
vdiffr::expect_doppelganger("plot_err for FOCUS D", plot_err_sfo_sfo)
+ vdiffr::expect_doppelganger("plot_errmod with SFO_lin_a_obs", plot_errmod_fit_obs_1)
+ vdiffr::expect_doppelganger("plot_errmod with SFO_lin_a_tc", plot_errmod_fit_tc_1)
})
context("AIC calculation")

Contact - Imprint