Skip to content

Commit f7449ae

Browse files
committed
scripts: plot.py/plotmpl.py: Stop dropping unlabeled datasets
That was confusing. The -L/--label flag is already tricky enough to get right. Allowing -L/--label to filter datasets is counter-intuitive and just makes it harder to debug things.
1 parent ba0e591 commit f7449ae

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

scripts/plot.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -543,12 +543,16 @@ def fold(results, by=None, x=None, y=None, defines=[], labels=None):
543543
key_ += (y_,)
544544
datasets[key_] = dataset
545545

546-
# filter/order by labels
546+
# order by labels
547547
if labels:
548548
datasets_ = co.OrderedDict()
549549
for _, key in labels:
550550
if key in datasets:
551551
datasets_[key] = datasets[key]
552+
# include unlabeled data to help with debugging
553+
for key, dataset in datasets.items():
554+
if key not in datasets_:
555+
datasets_[key] = datasets[key]
552556
datasets = datasets_
553557

554558
return datasets
@@ -1030,7 +1034,9 @@ def writeln(s=''):
10301034
if all_labels:
10311035
all_labels_ = {key: l for l, key in all_labels}
10321036
for i, name in enumerate(datasets_.keys()):
1033-
if all_labels and not all_labels_[name]:
1037+
if (all_labels
1038+
and name in all_labels_
1039+
and not all_labels_[name]):
10341040
continue
10351041
label = '%s%s' % (
10361042
'%s ' % datachars_[name]
@@ -1039,7 +1045,7 @@ def writeln(s=''):
10391045
if line_chars is not None
10401046
else '',
10411047
all_labels_[name]
1042-
if all_labels
1048+
if all_labels and name in all_labels_
10431049
else ','.join(name))
10441050

10451051
if label:

scripts/plotmpl.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,12 +283,16 @@ def fold(results, by=None, x=None, y=None, defines=[], labels=None):
283283
key_ += (y_,)
284284
datasets[key_] = dataset
285285

286-
# filter/order by labels
286+
# order by labels
287287
if labels:
288288
datasets_ = co.OrderedDict()
289289
for _, key in labels:
290290
if key in datasets:
291291
datasets_[key] = datasets[key]
292+
# include unlabeled data to help with debugging
293+
for key, dataset in datasets.items():
294+
if key not in datasets_:
295+
datasets_[key] = datasets[key]
292296
datasets = datasets_
293297

294298
return datasets
@@ -947,7 +951,7 @@ def subplots_get(k, *, subplots=[], **args):
947951
for name in datasets_.keys():
948952
name_ = ','.join(name)
949953
if name_ in legend:
950-
if all_labels:
954+
if all_labels and name in all_labels_:
951955
if all_labels_[name]:
952956
legend_.append((all_labels_[name], legend[name_]))
953957
else:

0 commit comments

Comments
 (0)