Skip to content
Snippets Groups Projects

Feat: Add generic notebook to plot calibration constants

Merged Mikhail Karnevskiy requested to merge feat/add_generic_plotCalDB into master
6 unresolved threads
6 files
+ 692
27
Compare changes
  • Side-by-side
  • Inline
Files
6
@@ -352,6 +352,13 @@ class HMType(Enum):
INSET_AXIS = 2
class IMType(Enum):
NO_CONST = -1e+4
ALL_NAN = -2e+4
STRANGE_VAL = -3e+4
ALL_BAD = -4e+4
NO_BPMAP = -5e+4
def get_range(data, scale):
"""
Return a range calculated by median absolute deviations
@@ -386,10 +393,24 @@ def hm_combine(data, fname=None, htype=None, **kwargs):
fig = plt.figure(figsize=(10, 12))
ax = fig.add_subplot(111)
data_txt = np.full(data.shape, '').astype(str)
data_txt[data == IMType.NO_CONST.value] = 'X'
data_txt[data == IMType.ALL_NAN.value] = 'n'
data_txt[data == IMType.ALL_BAD.value] = 'B'
data_txt[data == IMType.STRANGE_VAL.value] = '0'
data_txt[data == IMType.NO_BPMAP.value] = 'N'
data[data == IMType.NO_CONST.value] = np.nan
data[data == IMType.ALL_NAN.value] = np.nan
data[data == IMType.ALL_BAD.value] = np.nan
data[data == IMType.STRANGE_VAL.value] = np.nan
data[data == IMType.NO_BPMAP.value] = np.nan
xana.heatmapPlot(data, add_panels=False, cmap='viridis',
cb_pad=0.6 if htype == HMType.INSET_AXIS else 0.1,
use_axis=ax,
**kwargs)
plt.setp(ax.yaxis.get_majorticklabels(), rotation=90)
pad = kwargs.get('pad', [0.125, 0.125, 0.1, 0.18])
@@ -406,6 +427,14 @@ def hm_combine(data, fname=None, htype=None, **kwargs):
h_frame = 1 - pad_b - pad_t
w_frame = 1 - pad_l - pad_r
# Loop over data dimensions and create text annotations.
for i in range(data.shape[0]):
for j in range(data.shape[1]):
_ = ax.text(j+0.5, i+0.5, data_txt[i, j],
horizontalalignment="center",
verticalalignment="center",
color="black")
if htype == HMType.INSET_1D:
ax.tick_params(axis='y', which='major', pad=50)
for y in range(data.shape[0]):
Loading