custom plots

Want even more control, or access the data directly? Go ahead, knock yourself out:

#::: settings
inst = 'TESS'
key = 'flux'

#::: load the time, flux, and flux_err
time = alles.data[inst]['time']
flux = alles.data[inst][key]
flux_err = alles.data[inst]['err_scales_'+key] * alles.posterior_params_median['err_'+key+'_'+inst]

#::: note that the error for RV instruments is calculated differently
#rv_err = np.sqrt( alles.data[inst]['white_noise_'+key]**2 + alles.posterior_params_median['jitter_'+key+'_'+inst]**2 )

#::: set up the figure
fig, axes = plt.subplots(2, 1, figsize=(8,8), gridspec_kw={'height_ratios': [3,1]}, sharex=True)
fig.subplots_adjust(hspace=0)

#::: top panel: plot the data and 20 curves from random posterior samples (evaluated on a fine time grid)
ax = axes[0]
ax.errorbar(time, flux, flux_err, fmt='b.')
for i in range(20):
    time_fine = np.linspace(time[0], time[-1], 1000)
    model_fine, baseline_fine, _ = alles.get_one_posterior_curve_set(inst, key, xx=time_fine)
    ax.plot(time_fine, 1.+baseline_fine, 'g-', lw=2)
    ax.plot(time_fine, model_fine+baseline_fine, 'r-', lw=2)

#::: bottom panel: plot the residuals;
#::: for that, subtract the "posterior median model" and "posterior median baseline" from the data (evaluated on the time stamps of the data)
ax = axes[1]
baseline = alles.get_posterior_median_baseline(inst, key)
model = alles.get_posterior_median_model(inst, key)
ax.errorbar(time, flux-(model+baseline), flux_err, fmt='b.')
ax.axhline(0, color='grey', linestyle='--')