From d5b23481ad0e2cba2acc5b9496a3e8df94f0ea2d Mon Sep 17 00:00:00 2001 From: wendtalexander Date: Wed, 25 Jan 2023 19:57:44 +0100 Subject: [PATCH] adding plot in chasing --- code/plot_chirps_in_chasing.py | 81 ++++++++++++++++++++++++++++++ poster/figs/chirps_in_chasing.pdf | Bin 0 -> 12294 bytes 2 files changed, 81 insertions(+) create mode 100644 code/plot_chirps_in_chasing.py create mode 100644 poster/figs/chirps_in_chasing.pdf diff --git a/code/plot_chirps_in_chasing.py b/code/plot_chirps_in_chasing.py new file mode 100644 index 0000000..19a505e --- /dev/null +++ b/code/plot_chirps_in_chasing.py @@ -0,0 +1,81 @@ +import numpy as np + +import os + +import numpy as np +import matplotlib.pyplot as plt +from scipy.stats import pearsonr, spearmanr +from thunderfish.powerspectrum import decibel + +from IPython import embed +from pandas import read_csv +from modules.logger import makeLogger +from modules.plotstyle import PlotStyle +from modules.behaviour_handling import Behavior, correct_chasing_events +from modules.datahandling import flatten + + +ps = PlotStyle() + +logger = makeLogger(__name__) + + +def main(datapath: str): + + foldernames = [ + datapath + x + '/' for x in os.listdir(datapath) if os.path.isdir(datapath+x)] + time_precents = [] + chirps_percents = [] + for foldername in foldernames: + # behabvior is pandas dataframe with all the data + if foldername == '../data/mount_data/2020-05-12-10_00/': + continue + bh = Behavior(foldername) + + category = bh.behavior + timestamps = bh.start_s + # Correct for doubles in chasing on- and offsets to get the right on-/offset pairs + # Get rid of tracking faults (two onsets or two offsets after another) + category, timestamps = correct_chasing_events(category, timestamps) + + chasing_onset = timestamps[category == 0] + chasing_offset = timestamps[category == 1] + if len(chasing_onset) != len(chasing_offset): + embed() + + chirps_in_chasings = [] + for onset, offset in zip(chasing_onset, chasing_offset): + chirps_in_chasing = [c for c in bh.chirps if (c > onset) & (c < offset)] + chirps_in_chasings.append(chirps_in_chasing) + + try: + time_chasing = np.sum(chasing_offset[chasing_offset<3*60*60] - chasing_onset[chasing_onset<3*60*60]) + except: + time_chasing = np.sum(chasing_offset[chasing_offset<3*60*60] - chasing_onset[chasing_onset<3*60*60][:-1]) + + + time_chasing_percent = (time_chasing/(3*60*60))*100 + chirps_chasing = np.asarray(flatten(chirps_in_chasings)) + chirps_chasing_new = chirps_chasing[chirps_chasing<3*60*60] + chirps_percent = (len(chirps_chasing_new)/len(bh.chirps))*100 + + time_precents.append(time_chasing_percent) + chirps_percents.append(chirps_percent) + + fig, ax = plt.subplots(1, 1, figsize=(14*ps.cm, 10*ps.cm)) + + ax.boxplot([time_precents, chirps_percents]) + ax.set_xticklabels(['Time Chasing', 'Chirps in Chasing']) + ax.set_ylabel('Percent') + ax.scatter(np.ones(len(time_precents)), time_precents, color=ps.white) + ax.scatter(np.ones(len(chirps_percents))*2, chirps_percents, color=ps.white) + plt.savefig('../poster/figs/chirps_in_chasing.pdf') + plt.show() + + +if __name__ == '__main__': + # Path to the data + datapath = '../data/mount_data/' + main(datapath) + + diff --git a/poster/figs/chirps_in_chasing.pdf b/poster/figs/chirps_in_chasing.pdf new file mode 100644 index 0000000000000000000000000000000000000000..49ce2e15b8eace965fa587eba8af7db3ae30d2db GIT binary patch literal 12294 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 ViAHC9u4u6P3y%GZYwgrV{1;bt8JqwB literal 0 HcmV?d00001