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))
|
||||
q975 = 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):
|
||||
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)
|
||||
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 {
|
||||
"runs": self.runs,
|
||||
"mean": mean,
|
||||
@@ -180,6 +188,8 @@ class Comparator(Aggregator, HDF5Container):
|
||||
"max": v_max,
|
||||
"q025": q025,
|
||||
"q975": q975,
|
||||
"q16": q16,
|
||||
"q84": q84,
|
||||
}
|
||||
|
||||
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),
|
||||
"q025": "2.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={
|
||||
|
||||
@@ -668,6 +668,9 @@ class Plotter(Aggregator, BaseProcessor):
|
||||
elif yerr_kind == "95per":
|
||||
yerr_min = node_y.q025.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:
|
||||
yerr_min = y
|
||||
yerr_max = y
|
||||
|
||||
Reference in New Issue
Block a user