wilcoxon test

This commit is contained in:
weygoldt 2023-01-25 21:26:52 +01:00
parent f5c922c4ff
commit 2ee5a350fd
5 changed files with 83 additions and 62 deletions

View File

@ -1,4 +1,5 @@
import numpy as np
from extract_chirps import get_valid_datasets
import os
@ -116,6 +117,8 @@ def main(datapath: str):
foldernames = [
datapath + x + '/' for x in os.listdir(datapath) if os.path.isdir(datapath+x)]
foldernames, _ = get_valid_datasets(datapath)
path_order_meta = (
'/').join(foldernames[0].split('/')[:-2]) + '/order_meta.csv'
order_meta_df = read_csv(path_order_meta)
@ -223,7 +226,8 @@ def main(datapath: str):
size_chirps_diffs.append(chirp_winner - chirp_loser)
freq_diffs.append(freq_winner - freq_loser)
fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(22*ps.cm, 12*ps.cm), width_ratios=[1.5, 1,1])
fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(
22*ps.cm, 12*ps.cm), width_ratios=[1.5, 1, 1])
plt.subplots_adjust(left=0.098, right=0.945, top=0.94, wspace=0.343)
scatterwinner = 1.15
scatterloser = 1.85

View File

@ -1,10 +1,11 @@
import numpy as np
from extract_chirps import get_valid_datasets
import os
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import pearsonr, spearmanr
from scipy.stats import pearsonr, spearmanr, wilcoxon
from thunderfish.powerspectrum import decibel
from IPython import embed
@ -182,6 +183,7 @@ def main(datapath: str):
foldernames = [
datapath + x + '/' for x in os.listdir(datapath) if os.path.isdir(datapath+x)]
foldernames, _ = get_valid_datasets(datapath)
path_order_meta = (
'/').join(foldernames[0].split('/')[:-2]) + '/order_meta.csv'
order_meta_df = read_csv(path_order_meta)
@ -242,24 +244,25 @@ def main(datapath: str):
size_chirps_winner.append(chirp_winner)
size_chirps_loser.append(chirp_loser)
size_winner_pearsonr = pearsonr(size_diffs_winner, size_chirps_winner)
size_loser_pearsonr = pearsonr(size_diffs_loser, size_chirps_loser)
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(
22*ps.cm, 12*ps.cm), sharey=True)
13*ps.cm, 10*ps.cm), sharey=True)
plt.subplots_adjust(left=0.098, right=0.945, top=0.94, wspace=0.343)
scatterwinner = 1.15
scatterloser = 1.85
chirps_winner = np.asarray(chirps_winner)[~np.isnan(chirps_winner)]
chirps_loser = np.asarray(chirps_loser)[~np.isnan(chirps_loser)]
stat = wilcoxon(chirps_winner, chirps_loser)
print(stat)
bplot1 = ax1.boxplot(chirps_winner, positions=[
1], showfliers=False, patch_artist=True)
0.9], showfliers=False, patch_artist=True)
bplot2 = ax1.boxplot(chirps_loser, positions=[
2], showfliers=False, patch_artist=True)
2.1], showfliers=False, patch_artist=True)
ax1.scatter(np.ones(len(chirps_winner)) *
scatterwinner, chirps_winner, color=ps.red)
ax1.scatter(np.ones(len(chirps_loser)) *
@ -270,19 +273,27 @@ def main(datapath: str):
for w, l in zip(chirps_winner, chirps_loser):
ax1.plot([scatterwinner, scatterloser], [w, l],
color='r', alpha=0.5, linewidth=0.5)
ax1.set_ylabel('Chirps [n]', color=ps.white)
color=ps.white, alpha=1, linewidth=0.5)
ax1.set_ylabel('chirps [n]', color=ps.white)
ax1.set_xlabel('outcome', color=ps.white)
colors1 = ps.red
ps.set_boxplot_color(bplot1, colors1)
colors1 = ps.orange
ps.set_boxplot_color(bplot2, colors1)
ax2.scatter(size_diffs_winner, size_chirps_winner, color=ps.red)
ax2.scatter(size_diffs_loser, size_chirps_loser, color=ps.orange)
ax2.scatter(size_diffs_winner, size_chirps_winner,
color=ps.red, label='winner')
ax2.scatter(size_diffs_loser, size_chirps_loser,
color=ps.orange, label='loser')
ax2.set_xlabel('size difference [cm]')
# ax2.set_xticks(np.arange(-10, 10.1, 2))
handles, labels = ax2.get_legend_handles_labels()
fig.legend(handles, labels, loc='upper center', ncol=2)
plt.subplots_adjust(left=0.162, right=0.97, top=0.85, bottom=0.176)
ax2.set_xlabel('Size difference [cm]')
ax2.set_xticks(np.arange(-10, 10.1, 2))
# pearson r
plt.savefig('../poster/figs/chirps_winner_loser.pdf')
plt.show()

View File

@ -12,6 +12,7 @@ from modules.logger import makeLogger
from modules.plotstyle import PlotStyle
from modules.behaviour_handling import Behavior, correct_chasing_events
from extract_chirps import get_valid_datasets
ps = PlotStyle()
logger = makeLogger(__name__)
@ -19,7 +20,9 @@ logger = makeLogger(__name__)
def main(datapath: str):
foldernames = [datapath + x + '/' for x in os.listdir(datapath) if os.path.isdir(datapath+x)]
foldernames = [
datapath + x + '/' for x in os.listdir(datapath) if os.path.isdir(datapath+x)]
foldernames, _ = get_valid_datasets(datapath)
for foldername in foldernames:
#foldername = foldernames[0]
if foldername == '../data/mount_data/2020-05-12-10_00/':
@ -47,14 +50,18 @@ def main(datapath: str):
fish1_color = ps.red
fish2_color = ps.orange
fig, ax = plt.subplots(4, 1, figsize=(21*ps.cm, 13*ps.cm), height_ratios=[0.5, 0.5, 0.5, 6], sharex=True)
fig, ax = plt.subplots(4, 1, figsize=(
21*ps.cm, 13*ps.cm), height_ratios=[0.5, 0.5, 0.5, 6], sharex=True)
# marker size
s = 200
ax[0].scatter(physical_contact, np.ones(len(physical_contact)), color='firebrick', marker='|', s=s)
ax[1].scatter(chasing_onset, np.ones(len(chasing_onset)), color='green', marker='|', s=s )
ax[2].scatter(fish1, np.ones(len(fish1))-0.25, color=fish1_color, marker='|', s=s)
ax[2].scatter(fish2, np.zeros(len(fish2))+0.25, color=fish2_color, marker='|', s=s)
ax[0].scatter(physical_contact, np.ones(
len(physical_contact)), color='firebrick', marker='|', s=s)
ax[1].scatter(chasing_onset, np.ones(len(chasing_onset)),
color='green', marker='|', s=s)
ax[2].scatter(fish1, np.ones(len(fish1))-0.25,
color=fish1_color, marker='|', s=s)
ax[2].scatter(fish2, np.zeros(len(fish2))+0.25,
color=fish2_color, marker='|', s=s)
freq_temp = bh.freq[bh.ident == fish1_id]
time_temp = bh.time[bh.idx[bh.ident == fish1_id]]
@ -73,7 +80,6 @@ def main(datapath: str):
ax[0].set_yticks([])
ps.hide_ax(ax[0])
ax[1].grid(False)
ax[1].set_frame_on(False)
ax[1].set_xticks([])
@ -86,16 +92,17 @@ def main(datapath: str):
ax[2].set_xticks([])
ps.hide_ax(ax[2])
ax[3].axvspan(3, 6, 0, 5, facecolor='grey', alpha=0.5)
ax[3].set_xticks(np.arange(0, 6.1, 0.5))
labelpad = 40
fsize = 12
ax[0].set_ylabel('Physical contact', rotation=0, labelpad=labelpad, fontsize=fsize)
ax[1].set_ylabel('Chasing events', rotation=0, labelpad=labelpad, fontsize=fsize)
ax[2].set_ylabel('Chirps', rotation=0, labelpad=labelpad, fontsize=fsize)
ax[0].set_ylabel('Physical contact', rotation=0,
labelpad=labelpad, fontsize=fsize)
ax[1].set_ylabel('Chasing events', rotation=0,
labelpad=labelpad, fontsize=fsize)
ax[2].set_ylabel('Chirps', rotation=0,
labelpad=labelpad, fontsize=fsize)
ax[3].set_ylabel('EODf')
ax[3].set_xlabel('Time [h]')
@ -105,7 +112,6 @@ def main(datapath: str):
# plt.savefig('../poster/figs/timeline.pdf')
plt.show()
# plot chirps

Binary file not shown.

BIN
poster/main.pdf Normal file

Binary file not shown.