Skip to content

Commit 508c0ba

Browse files
committed
add presence plot to event plots / reports
1 parent b6de612 commit 508c0ba

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

specparam/core/reports.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,12 +179,12 @@ def save_event_report(event_model, file_name, file_path=None, add_settings=True)
179179
has_knee = 'knee' in event_model.event_time_results.keys()
180180

181181
# Initialize figure, defining number of axes based on model + what is to be plotted
182-
n_rows = 1 + (4 if has_knee else 3) + (n_bands * 4) + 2 + (1 if add_settings else 0)
182+
n_rows = 1 + (4 if has_knee else 3) + (n_bands * 5) + 2 + (1 if add_settings else 0)
183183
height_ratios = [2.75] + [1] * (3 if has_knee else 2) + \
184-
[0.25, 1, 1, 1] * n_bands + [0.25] + [1, 1] + ([1.5] if add_settings else [])
184+
[0.25, 1, 1, 1, 1] * n_bands + [0.25] + [1, 1] + ([1.5] if add_settings else [])
185185
_, axes = plt.subplots(n_rows, 1,
186186
gridspec_kw={'hspace' : 0.1, 'height_ratios' : height_ratios},
187-
figsize=(REPORT_FIGSIZE[0], REPORT_FIGSIZE[1] + 6))
187+
figsize=(REPORT_FIGSIZE[0], REPORT_FIGSIZE[1] + 7))
188188

189189
# First / top: text results
190190
plot_text(gen_event_results_str(event_model), 0.5, 0.7, ax=axes[0])

specparam/plts/event.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from itertools import cycle
99

1010
from specparam.data.utils import get_periodic_labels, get_band_labels
11+
from specparam.utils.data import compute_presence
1112
from specparam.plts.utils import savefig
1213
from specparam.plts.templates import plot_param_over_time_yshade
1314
from specparam.plts.settings import PARAM_COLORS
@@ -45,13 +46,13 @@ def plot_event_model(event_model, **plot_kwargs):
4546
n_bands = len(pe_labels['cf'])
4647

4748
has_knee = 'knee' in event_model.event_time_results.keys()
48-
height_ratios = [1] * (3 if has_knee else 2) + [0.25, 1, 1, 1] * n_bands + [0.25] + [1, 1]
49+
height_ratios = [1] * (3 if has_knee else 2) + [0.25, 1, 1, 1, 1] * n_bands + [0.25] + [1, 1]
4950

5051
axes = plot_kwargs.pop('axes', None)
5152
if axes is None:
52-
_, axes = plt.subplots((4 if has_knee else 3) + (n_bands * 4) + 2, 1,
53+
_, axes = plt.subplots((4 if has_knee else 3) + (n_bands * 5) + 2, 1,
5354
gridspec_kw={'hspace' : 0.1, 'height_ratios' : height_ratios},
54-
figsize=plot_kwargs.pop('figsize', [10, 4 + 4 * n_bands]))
55+
figsize=plot_kwargs.pop('figsize', [10, 4 + 5 * n_bands]))
5556
axes = cycle(axes)
5657

5758
xlim = [0, event_model.n_time_windows - 1]
@@ -74,6 +75,10 @@ def plot_event_model(event_model, **plot_kwargs):
7475
label=plabel.upper(), drop_xticks=True, add_xlabel=False, xlim=xlim,
7576
title='Periodic Parameters - ' + band_labels[band_ind] if plabel == 'cf' else None,
7677
color=PARAM_COLORS[plabel], ax=next(axes))
78+
plot_param_over_time_yshade(\
79+
None, compute_presence(event_model.event_time_results[pe_labels[plabel][band_ind]]),
80+
label='Presence', drop_xticks=True, add_xlabel=False, xlim=xlim,
81+
color=PARAM_COLORS['presence'], ax=next(axes))
7782
next(axes).axis('off')
7883

7984
# 03: goodness of fit

specparam/plts/settings.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
'cf' : '#acc918',
3131
'pw' : '#28a103',
3232
'bw' : '#0fd197',
33+
'presence' : '#095407',
3334
'error' : '#940000',
3435
'r_squared' : '#ab7171',
3536
}

0 commit comments

Comments
 (0)