if groups and len(groups.groups()) == 3:
if str(groups.group(3)) == \
plot["reference"]["include"]:
- vals[c][n]["vals_c"].append(result)
+ vals[c][n]["vals_r"].append(result)
elif str(groups.group(3)) == \
plot["compare"]["include"]:
- vals[c][n]["vals_r"].append(result)
+ vals[c][n]["vals_c"].append(result)
break
if not vals:
logging.error("No data.")
if vals[key_c][key_n]["vals_r"]:
vals[key_c][key_n]["nr_r"] = len(vals[key_c][key_n]["vals_r"])
vals[key_c][key_n]["mean_r"] = \
- round(mean(vals[key_c][key_n]["vals_r"]) / 1000000, 1)
+ mean(vals[key_c][key_n]["vals_r"])
vals[key_c][key_n]["stdev_r"] = \
round(stdev(vals[key_c][key_n]["vals_r"]) / 1000000, 1)
if vals[key_c][key_n]["vals_c"]:
vals[key_c][key_n]["nr_c"] = len(vals[key_c][key_n]["vals_c"])
vals[key_c][key_n]["mean_c"] = \
- round(mean(vals[key_c][key_n]["vals_c"]) / 1000000, 1)
+ mean(vals[key_c][key_n]["vals_c"])
vals[key_c][key_n]["stdev_c"] = \
round(stdev(vals[key_c][key_n]["vals_c"]) / 1000000, 1)
val_r = vals[txt_chains[c - 1]][txt_nodes[n - 1]]["mean_r"]
except (KeyError, IndexError):
val_r = None
- data_r[c - 1].append(val_r)
try:
val_c = vals[txt_chains[c - 1]][txt_nodes[n - 1]]["mean_c"]
except (KeyError, IndexError):
val_c = None
- data_c[c - 1].append(val_c)
-
if val_c is not None and val_r:
- diff[c - 1].append(round((val_c - val_r) * 100 / val_r, 1))
+ val_d = (val_c - val_r) * 100 / val_r
else:
- diff[c - 1].append(None)
+ val_d = None
+
+ if val_r is not None:
+ val_r = round(val_r / 1000000, 1)
+ data_r[c - 1].append(val_r)
+ if val_c is not None:
+ val_c = round(val_c / 1000000, 1)
+ data_c[c - 1].append(val_c)
+ if val_d is not None:
+ val_d = int(round(val_d, 0))
+ diff[c - 1].append(val_d)
# Colorscales:
my_green = [[0.0, 'rgb(235, 249, 242)'],
for c in range(len(txt_chains)):
hover_line = list()
for n in range(len(txt_nodes)):
- if data_r[c][n] is not None:
- data_point = dict(
- x=n+1,
- y=c+1,
- xref="x",
- yref="y",
- xanchor="center",
- yanchor="middle",
- text=str(data_r[c][n]) if data_r[c][n] is not None else "",
- font=dict(
- size=14,
- ),
- align="center",
- showarrow=False
- )
- annotations_r.append(deepcopy(data_point))
- data_point["text"] = str(data_c[c][n]) \
- if data_c[c][n] is not None else ""
- annotations_c.append(deepcopy(data_point))
- data_point["text"] = str(diff[c][n]) \
- if diff[c][n] is not None else ""
- annotations_diff.append(deepcopy(data_point))
+ point = dict(
+ x=n + 1,
+ y=c + 1,
+ xref="x",
+ yref="y",
+ xanchor="center",
+ yanchor="middle",
+ text="",
+ font=dict(
+ size=14,
+ ),
+ align="center",
+ showarrow=False
+ )
- hover_line.append(text.format(
- name=vals[txt_chains[c]][txt_nodes[n]]["name"],
- title_r=plot["reference"]["name"],
- text_r=text_r.format(
- val_r=data_r[c][n],
+ point_text_r = "Not present"
+ point_text_c = "Not present"
+ point_text_diff = ""
+ try:
+ point_r = data_r[c][n]
+ if point_r is not None:
+ point_text_r = text_r.format(
+ val_r=point_r,
stdev_r=vals[txt_chains[c]][txt_nodes[n]]["stdev_r"],
- nr_r=vals[txt_chains[c]][txt_nodes[n]]["nr_r"]
- ) if data_r[c][n] is not None else "Test Failed",
- title_c=plot["compare"]["name"],
- text_c=text_c.format(
- val_c=data_c[c][n],
- stdev_c = vals[txt_chains[c]][txt_nodes[n]]["stdev_c"],
- nr_c=vals[txt_chains[c]][txt_nodes[n]]["nr_c"]
- ) if data_c[c][n] is not None else "Test Failed",
- text_diff=text_diff.format(
- diff=diff[c][n]
- ) if diff[c][n] is not None else ""
- ))
+ nr_r=vals[txt_chains[c]][txt_nodes[n]]["nr_r"])
+ except KeyError:
+ point_r = None
+ point["text"] = "" if point_r is None else point_r
+ annotations_r.append(deepcopy(point))
+
+ try:
+ point_c = data_c[c][n]
+ if point_c is not None:
+ point_text_c = text_c.format(
+ val_c=point_c,
+ stdev_c=vals[txt_chains[c]][txt_nodes[n]]["stdev_c"],
+ nr_c=vals[txt_chains[c]][txt_nodes[n]]["nr_c"])
+ except KeyError:
+ point_c = None
+ point["text"] = "" if point_c is None else point_c
+ annotations_c.append(deepcopy(point))
+
+ try:
+ point_d = diff[c][n]
+ if point_d is not None:
+ point_text_diff = text_diff.format(
+ title_r=plot["reference"]["name"],
+ title_c=plot["compare"]["name"],
+ diff=point_d)
+ except KeyError:
+ point_d = None
+ point["text"] = "" if point_d is None else point_d
+ annotations_diff.append(deepcopy(point))
+
+ try:
+ name = vals[txt_chains[c]][txt_nodes[n]]["name"]
+ except KeyError:
+ continue
+
+ hover_line.append(text.format(
+ name=name,
+ title_r=plot["reference"]["name"],
+ text_r=point_text_r,
+ title_c=plot["compare"]["name"],
+ text_c=point_text_c,
+ text_diff=point_text_diff
+ ))
hovertext.append(hover_line)
name="Diff",
visible=False,
colorbar=dict(
- title="Relative difference [%]",
+ title="Relative Difference {name_c} vs. {name_r} [%]".
+ format(name_c=plot["compare"]["name"],
+ name_r=plot["reference"]["name"]),
titleside="right",
titlefont=dict(
size=16