__repr__ of Obs changed to more convenient form

This commit is contained in:
Fabian Joswig 2021-10-16 11:02:54 +01:00
parent 5f1fb285f5
commit ea51df3719
2 changed files with 9 additions and 6 deletions

View file

@ -402,7 +402,7 @@ class Corr:
if plateau: if plateau:
if isinstance(plateau, Obs): if isinstance(plateau, Obs):
ax1.axhline(y=plateau.value, linewidth=2, color=plt.rcParams['text.color'], alpha=0.6, marker=',', ls='--', label=plateau.__repr__()[4:-1]) ax1.axhline(y=plateau.value, linewidth=2, color=plt.rcParams['text.color'], alpha=0.6, marker=',', ls='--', label=plateau.__repr__())
ax1.axhspan(plateau.value - plateau.dvalue, plateau.value + plateau.dvalue, alpha=0.25, color=plt.rcParams['text.color'], ls='-') ax1.axhspan(plateau.value - plateau.dvalue, plateau.value + plateau.dvalue, alpha=0.25, color=plt.rcParams['text.color'], ls='-')
else: else:
raise Exception('plateau must be an Obs') raise Exception('plateau must be an Obs')
@ -451,7 +451,7 @@ class Corr:
else: else:
content_string += str(i + range[0]) content_string += str(i + range[0])
for element in sub_corr: for element in sub_corr:
content_string += '\t' + element.__repr__()[4:-1] content_string += '\t' + element.__repr__()
content_string += '\n' content_string += '\n'
return content_string return content_string

View file

@ -474,14 +474,17 @@ class Obs:
def __repr__(self): def __repr__(self):
if self.dvalue == 0.0: if self.dvalue == 0.0:
return 'Obs[' + str(self.value) + ']' return str(self.value)
fexp = np.floor(np.log10(self.dvalue)) fexp = np.floor(np.log10(self.dvalue))
if fexp < 0.0: if fexp < 0.0:
return 'Obs[{:{form}}({:2.0f})]'.format(self.value, self.dvalue * 10 ** (-fexp + 1), form='.' + str(-int(fexp) + 1) + 'f') return '{:{form}}({:2.0f})'.format(self.value, self.dvalue * 10 ** (-fexp + 1), form='.' + str(-int(fexp) + 1) + 'f')
elif fexp == 0.0: elif fexp == 0.0:
return 'Obs[{:.1f}({:1.1f})]'.format(self.value, self.dvalue) return '{:.1f}({:1.1f})'.format(self.value, self.dvalue)
else: else:
return 'Obs[{:.0f}({:2.0f})]'.format(self.value, self.dvalue) return '{:.0f}({:2.0f})'.format(self.value, self.dvalue)
def __str__(self):
return 'Obs[' + str(self) + ']'
# Overload comparisons # Overload comparisons
def __lt__(self, other): def __lt__(self, other):