diff --git a/model_tools/parameters_storage.py b/model_tools/parameters_storage.py index c1df67fce4743a9d8fc87879aa0621b9e864b341..3b78f5ba0aeef6cba0f105b1403c68dc74b4cc4d 100644 --- a/model_tools/parameters_storage.py +++ b/model_tools/parameters_storage.py @@ -28,13 +28,26 @@ class ParametersStorage(NestedMKDict): key = '.'.join(key) labels.setdefault('paths', []).append(key) - def plot(self) -> None: + def plot( + self, + *args, + close: bool=True, + show: bool=True, + **kwargs + ) -> None: from dagflow.plot import plot_auto + if close: + from matplotlib.pyplot import close + if show: + from matplotlib.pyplot import show for key, value in self.walkitems(): if not isinstance(value, Output): continue - plot_auto(value) + plot_auto(value, *args, **kwargs) + + if show: show() + if close: close() def to_list(self, **kwargs) -> list: return self.visit(ParametersVisitor(kwargs)).data_list diff --git a/models/dayabay_v0.py b/models/dayabay_v0.py index 6b5e8c218406976167cfb464d9f4d8e0e0181c28..ea27d1c59872614e3e557baf2ee2a9bf520a11d1 100644 --- a/models/dayabay_v0.py +++ b/models/dayabay_v0.py @@ -1,6 +1,5 @@ from dagflow.bundles.load_parameters import load_parameters from pathlib import Path -from matplotlib.pyplot import show from dagflow.graph import Graph from dagflow.graphviz import savegraph @@ -63,8 +62,7 @@ def model_dayabay_v0(): outputs['edges.energy_common']= (energy_edges:=Array("energy_edges", linspace(0, 12, 241)).outputs[0]) storage.read_paths() - storage('outputs').plot() - show() + storage('outputs').plot(close=False, show=True) storage['parameter.normalized.detector.eres.b_stat'].value = 1 storage['parameter.normalized.detector.eres.a_nonuniform'].value = 2