prologues := 3;
outputformat := "svg";
defaultfont := "cmr10";
defaultscale := 1.1;
color Blue,Teal,Orange,Green,Grey,Light,Wash;
Blue := (0,84/255,159/255); Teal := (0,177/255,183/255);
Orange := (246/255,168/255,0); Green := (87/255,171/255,39/255);
Grey := (100/255,101/255,103/255); Light := (236/255,236/255,237/255);
Wash := (232/255,241/255,250/255);
% Format displayed numbers to hundredths using integer strings.
vardef numlabel(expr value)=
 save n,whole,frac; numeric n,whole,frac;
 n:=round(100abs value); whole:=floor(n/100); frac:=n mod 100;
 (if value<-.005: "-" & fi decimal whole
  if frac>0: & "." & if frac<10: "0" & fi decimal frac fi)
enddef;
pickup pencircle scaled .9;
outputtemplate := "MPT-14-005.svg";
input graph;
numeric n,t[],observed[],model[],low[],high[],valid[];
n:=0;
gdata("data/readings.dat", row,
 n:=n+1; t[n]:=scantokens row1; observed[n]:=scantokens row2;
 model[n]:=scantokens row3; low[n]:=scantokens row4;
 high[n]:=scantokens row5; valid[n]:=scantokens row6;
);
beginfig(1);
fill unitsquare xscaled 320 yscaled 220 withcolor white;
% BEGIN DRAWING
vardef xy(expr x,y)=(45+30x,40+26y) enddef;
draw (45,196)--(45,40)--(285,40) withcolor Grey;
for j=1 upto n:
 if valid[j]=1:
  draw fullcircle scaled 5 shifted xy(t[j],observed[j])
   withpen pencircle scaled 1.1 withcolor Blue;
 fi
endfor;
draw xy(0,model[1])--xy(8,model[n]) dashed evenly
 withpen pencircle scaled 1.3 withcolor Teal;
draw fullcircle scaled 5 shifted (65,177) withcolor Blue;
label.rt("Observed",(72,177));
draw (183,177)--(205,177) dashed evenly withcolor Teal;
label.rt("Model",(212,177));
for j=0 upto 8: label.bot(decimal j,xy(j,0)); endfor;
label.bot("Time (s)",(165,26));
label.lft("0",xy(0,0)); label.lft("6",xy(0,6));
label("Response (a.u.)",(165,195));
% END DRAWING
label.lft("MPT-14-005" infont "cmr8",(312,210));
setbounds currentpicture to unitsquare xscaled 320 yscaled 220;
endfig;
end.
