event vs. time pir charts done
This commit is contained in:
parent
14c7538cb9
commit
11b58dda36
@ -3,6 +3,7 @@ import sys
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import matplotlib.gridspec as gridspec
|
import matplotlib.gridspec as gridspec
|
||||||
|
from matplotlib.patches import Patch
|
||||||
import pandas as pd
|
import pandas as pd
|
||||||
from IPython import embed
|
from IPython import embed
|
||||||
from event_time_correlations import load_and_converete_boris_events, kde, gauss
|
from event_time_correlations import load_and_converete_boris_events, kde, gauss
|
||||||
@ -179,6 +180,9 @@ def main(base_path):
|
|||||||
win_sex.append(trial['sex_win'])
|
win_sex.append(trial['sex_win'])
|
||||||
lose_sex.append(trial['sex_lose'])
|
lose_sex.append(trial['sex_lose'])
|
||||||
|
|
||||||
|
embed()
|
||||||
|
quit()
|
||||||
|
|
||||||
iei_analysis(all_chirp_times_lose, all_chirp_times_win, all_rise_times_lose, all_rise_times_win, win_sex, lose_sex)
|
iei_analysis(all_chirp_times_lose, all_chirp_times_win, all_rise_times_lose, all_rise_times_win, win_sex, lose_sex)
|
||||||
|
|
||||||
relative_rate_progression(all_chirp_times_lose, title=r'chirp$_{lose}$')
|
relative_rate_progression(all_chirp_times_lose, title=r'chirp$_{lose}$')
|
||||||
@ -191,34 +195,42 @@ def main(base_path):
|
|||||||
|
|
||||||
|
|
||||||
all_chase_chirp_mask = []
|
all_chase_chirp_mask = []
|
||||||
all_chase_off_chirp_mask = []
|
|
||||||
all_contact_chirp_mask = []
|
|
||||||
all_chasing_t = []
|
all_chasing_t = []
|
||||||
|
|
||||||
|
all_chase_off_chirp_mask = []
|
||||||
all_chase_off_t = []
|
all_chase_off_t = []
|
||||||
|
|
||||||
|
all_contact_chirp_mask = []
|
||||||
all_physical_t = []
|
all_physical_t = []
|
||||||
|
|
||||||
|
time_tol = 2
|
||||||
|
|
||||||
for contact_t, ag_on_t, ag_off_t, chirp_times_lose in zip(all_contact_t, all_ag_on_t, all_ag_off_t, all_chirp_times_lose):
|
for contact_t, ag_on_t, ag_off_t, chirp_times_lose in zip(all_contact_t, all_ag_on_t, all_ag_off_t, all_chirp_times_lose):
|
||||||
if len(contact_t) == 0:
|
if len(contact_t) == 0:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
# ToDo: the 5 seconds are a little dirty... sometimes 5s is longer than chasing dur
|
||||||
chase_chirp_mask = np.zeros_like(chirp_times_lose)
|
chase_chirp_mask = np.zeros_like(chirp_times_lose)
|
||||||
chase_off_chirp_mask = np.zeros_like(chirp_times_lose)
|
chase_off_chirp_mask = np.zeros_like(chirp_times_lose)
|
||||||
for chase_on_t, chase_off_t in zip(ag_on_t, ag_off_t):
|
for chase_on_t, chase_off_t in zip(ag_on_t, ag_off_t):
|
||||||
chase_chirp_mask[(chirp_times_lose >= chase_on_t) & (chirp_times_lose < chase_off_t)] = 1
|
chase_chirp_mask[(chirp_times_lose >= chase_on_t) & (chirp_times_lose < chase_off_t-time_tol)] = 1
|
||||||
chase_off_chirp_mask[(chirp_times_lose >= chase_off_t-5) & (chirp_times_lose < chase_off_t+5)] = 1
|
chase_off_chirp_mask[(chirp_times_lose >= chase_off_t-time_tol) & (chirp_times_lose < chase_off_t+time_tol)] = 1
|
||||||
all_chase_chirp_mask.append(chase_chirp_mask)
|
all_chase_chirp_mask.append(chase_chirp_mask)
|
||||||
all_chase_off_chirp_mask.append(chase_off_chirp_mask)
|
all_chase_off_chirp_mask.append(chase_off_chirp_mask)
|
||||||
|
|
||||||
chasing_t = np.sum(ag_off_t - ag_on_t)
|
|
||||||
|
chasing_dur = (ag_off_t - ag_on_t) - time_tol
|
||||||
|
chasing_dur[chasing_dur < 0] = 0
|
||||||
|
chasing_t = np.sum(chasing_dur)
|
||||||
all_chasing_t.append(chasing_t)
|
all_chasing_t.append(chasing_t)
|
||||||
all_chase_off_t.append(len(ag_off_t) * 10)
|
all_chase_off_t.append(len(ag_off_t) * time_tol*2)
|
||||||
|
|
||||||
contact_chirp_mask = np.zeros_like(chirp_times_lose)
|
contact_chirp_mask = np.zeros_like(chirp_times_lose)
|
||||||
for ct in contact_t:
|
for ct in contact_t:
|
||||||
contact_chirp_mask[(chirp_times_lose >= ct-5) & (chirp_times_lose < ct+5)] = 1
|
contact_chirp_mask[(chirp_times_lose >= ct-time_tol) & (chirp_times_lose < ct+time_tol)] = 1
|
||||||
all_contact_chirp_mask.append(contact_chirp_mask)
|
all_contact_chirp_mask.append(contact_chirp_mask)
|
||||||
|
|
||||||
all_physical_t.append(len(contact_t) * 10)
|
all_physical_t.append(len(contact_t) * time_tol*2)
|
||||||
|
|
||||||
all_physical_t = np.array(all_physical_t)
|
all_physical_t = np.array(all_physical_t)
|
||||||
all_chasing_t = np.array(all_chasing_t)
|
all_chasing_t = np.array(all_chasing_t)
|
||||||
@ -249,6 +261,45 @@ def main(base_path):
|
|||||||
ax.tick_params(labelsize=10)
|
ax.tick_params(labelsize=10)
|
||||||
plt.show()
|
plt.show()
|
||||||
|
|
||||||
|
flat_contact_chirp_mask = np.hstack(all_contact_chirp_mask)
|
||||||
|
flat_chase_chirp_mask = np.hstack(all_chase_chirp_mask)
|
||||||
|
flat_chase_off_chirp_mask = np.hstack(all_chase_off_chirp_mask)
|
||||||
|
|
||||||
|
flat_chase_chirp_mask[flat_contact_chirp_mask == 1] = 0
|
||||||
|
flat_chase_off_chirp_mask[flat_contact_chirp_mask == 1] = 0
|
||||||
|
flat_chase_chirp_mask[flat_chase_off_chirp_mask == 1] = 0
|
||||||
|
|
||||||
|
chirps_context_values = [np.sum(flat_contact_chirp_mask) / len(flat_contact_chirp_mask),
|
||||||
|
np.sum(flat_chase_chirp_mask) / len(flat_chase_chirp_mask),
|
||||||
|
np.sum(flat_chase_off_chirp_mask) / len(flat_chase_off_chirp_mask)]
|
||||||
|
chirps_context_values.append(1 - np.sum(chirps_context_values))
|
||||||
|
|
||||||
|
time_context_values = [np.sum(all_physical_t), np.sum(all_chasing_t), np.sum(all_chase_off_t)]
|
||||||
|
time_context_values.append(len(all_chasing_t) * 3*60*60 - np.sum(time_context_values))
|
||||||
|
time_context_values /= np.sum(time_context_values)
|
||||||
|
|
||||||
|
|
||||||
|
fig, ax = plt.subplots(figsize=(12/2.54,12/2.54))
|
||||||
|
size = 0.3
|
||||||
|
outer_colors = ['tab:red', 'tab:orange', 'tab:green', 'tab:grey']
|
||||||
|
ax.pie(chirps_context_values, radius=1, colors=outer_colors,
|
||||||
|
wedgeprops=dict(width=size, edgecolor='w'), startangle=90, center=(0, .5))
|
||||||
|
ax.pie(time_context_values, radius=1-size, colors=outer_colors,
|
||||||
|
wedgeprops=dict(width=size, edgecolor='w', alpha=.6), startangle=90, center=(0, .5))
|
||||||
|
|
||||||
|
ax.set_title(r'chirp$_{lose}$ context')
|
||||||
|
legend_elements = [Patch(facecolor='tab:red', edgecolor='w', label='%.1f' % (chirps_context_values[0] * 100) + '%'),
|
||||||
|
Patch(facecolor='tab:orange', edgecolor='w', label='%.1f' % (chirps_context_values[1] * 100) + '%'),
|
||||||
|
Patch(facecolor='tab:green', edgecolor='w', label='%.1f' % (chirps_context_values[2] * 100) + '%'),
|
||||||
|
Patch(facecolor='tab:red', alpha=0.6, edgecolor='w', label='%.1f' % (time_context_values[0] * 100) + '%'),
|
||||||
|
Patch(facecolor='tab:orange', alpha=0.6, edgecolor='w', label='%.1f' % (time_context_values[1] * 100) + '%'),
|
||||||
|
Patch(facecolor='tab:green', alpha=0.6, edgecolor='w', label='%.1f' % (time_context_values[2] * 100) + '%')]
|
||||||
|
|
||||||
|
# ax.text(-0.65, -1.4, 'chirps', fontsize=10, va='center', ha='center')
|
||||||
|
# ax.text(0.75, -1.4, 'time', fontsize=10, va='center', ha='center')
|
||||||
|
ax.legend(handles=legend_elements, loc='lower right', ncol=2, bbox_to_anchor=(1.1, -0.15), frameon=False, fontsize=9)
|
||||||
|
plt.show()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
embed()
|
embed()
|
||||||
|
Loading…
Reference in New Issue
Block a user