Add 68% error bars
This commit is contained in:
+15
-3
@@ -144,6 +144,8 @@ class Comparator(Aggregator, HDF5Container):
|
|||||||
v_max = np.zeros(len(self.runs))
|
v_max = np.zeros(len(self.runs))
|
||||||
q975 = np.zeros(len(self.runs))
|
q975 = np.zeros(len(self.runs))
|
||||||
q025 = np.zeros(len(self.runs))
|
q025 = np.zeros(len(self.runs))
|
||||||
|
q16 = np.zeros(len(self.runs))
|
||||||
|
q84 = np.zeros(len(self.runs))
|
||||||
|
|
||||||
for i, run in enumerate(self.runs):
|
for i, run in enumerate(self.runs):
|
||||||
serie = self.save.get_node(group + "/" + name + "/" + run).read()
|
serie = self.save.get_node(group + "/" + name + "/" + run).read()
|
||||||
@@ -168,9 +170,15 @@ class Comparator(Aggregator, HDF5Container):
|
|||||||
|
|
||||||
mean[i] = np.mean(serie[mask], axis=0)
|
mean[i] = np.mean(serie[mask], axis=0)
|
||||||
std[i] = np.std(serie[mask], axis=0)
|
std[i] = np.std(serie[mask], axis=0)
|
||||||
v_min[i], q025[i], median[i], q975[i], v_max[i] = np.percentile(
|
(
|
||||||
serie[mask], [0, 2.5, 50, 97.5, 100], axis=0
|
v_min[i],
|
||||||
)
|
q025[i],
|
||||||
|
q16[i],
|
||||||
|
median[i],
|
||||||
|
q84[i],
|
||||||
|
q975[i],
|
||||||
|
v_max[i],
|
||||||
|
) = np.percentile(serie[mask], [0, 2.5, 16, 50, 84, 97.5, 100], axis=0)
|
||||||
return {
|
return {
|
||||||
"runs": self.runs,
|
"runs": self.runs,
|
||||||
"mean": mean,
|
"mean": mean,
|
||||||
@@ -180,6 +188,8 @@ class Comparator(Aggregator, HDF5Container):
|
|||||||
"max": v_max,
|
"max": v_max,
|
||||||
"q025": q025,
|
"q025": q025,
|
||||||
"q975": q975,
|
"q975": q975,
|
||||||
|
"q16": q16,
|
||||||
|
"q84": q84,
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_attr(self, attr_name, run, num, node_name="/", arg=None):
|
def get_attr(self, attr_name, run, num, node_name="/", arg=None):
|
||||||
@@ -390,6 +400,8 @@ class Comparator(Aggregator, HDF5Container):
|
|||||||
"min": "Minimum of {}".format(descr),
|
"min": "Minimum of {}".format(descr),
|
||||||
"q025": "2.5 percentile of {}".format(descr),
|
"q025": "2.5 percentile of {}".format(descr),
|
||||||
"q975": "97.5 percentile of {}".format(descr),
|
"q975": "97.5 percentile of {}".format(descr),
|
||||||
|
"q16": "16 percentile of {}".format(descr),
|
||||||
|
"q84": "84 percentile of {}".format(descr),
|
||||||
}
|
}
|
||||||
|
|
||||||
# units={
|
# units={
|
||||||
|
|||||||
@@ -668,6 +668,9 @@ class Plotter(Aggregator, BaseProcessor):
|
|||||||
elif yerr_kind == "95per":
|
elif yerr_kind == "95per":
|
||||||
yerr_min = node_y.q025.read() * yunit_old.express(yunit)
|
yerr_min = node_y.q025.read() * yunit_old.express(yunit)
|
||||||
yerr_max = node_y.q975.read() * yunit_old.express(yunit)
|
yerr_max = node_y.q975.read() * yunit_old.express(yunit)
|
||||||
|
elif yerr_kind == "68per":
|
||||||
|
yerr_min = node_y.q16.read() * yunit_old.express(yunit)
|
||||||
|
yerr_max = node_y.q84.read() * yunit_old.express(yunit)
|
||||||
else:
|
else:
|
||||||
yerr_min = y
|
yerr_min = y
|
||||||
yerr_max = y
|
yerr_max = y
|
||||||
|
|||||||
Reference in New Issue
Block a user