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.")
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