Upload files to ''
This commit is contained in:
parent
e564736eef
commit
acf36a4d58
90
plot_eigen_trajectories.py
Normal file
90
plot_eigen_trajectories.py
Normal file
@ -0,0 +1,90 @@
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import matplotlib.dates as mdates
|
||||
import matplotlib.gridspec as gridspec
|
||||
|
||||
from IPython import embed
|
||||
import helper_functions as hf
|
||||
from params import *
|
||||
import os
|
||||
|
||||
if __name__ == '__main__':
|
||||
###################################################################################################################
|
||||
# parameter and variables
|
||||
kernel_size = 100
|
||||
kernel = np.ones(kernel_size) / kernel_size
|
||||
|
||||
fig1 = plt.figure(constrained_layout=True, figsize=[15 / inch, 15 / inch])
|
||||
gs = gridspec.GridSpec(ncols=2, nrows=3, figure=fig1, hspace=0.05, wspace=0.05,
|
||||
width_ratios=[1, 1], height_ratios=[1, 1, 1], left=0.1, bottom=0.15, right=0.95, top=0.98)
|
||||
c = 0
|
||||
ax_counter = 0
|
||||
###################################################################################################################
|
||||
# load all the data of one day
|
||||
|
||||
for filename_idx in [0, 1, 2, 3]:
|
||||
filename = sorted(os.listdir('../data/'))[filename_idx]
|
||||
|
||||
all_max_ch_means = np.load('../data/' + filename + '/all_max_ch.npy', allow_pickle=True)
|
||||
all_xticks = np.load('../data/' + filename + '/all_xtickses.npy', allow_pickle=True)
|
||||
all_ipp = np.load('../data/' + filename + '/all_ipp.npy', allow_pickle=True)
|
||||
power_means = np.load('../data/' + filename + '/power_means.npy', allow_pickle=True)
|
||||
freq = np.load('../data/' + filename + '/fish_freq_q10.npy', allow_pickle=True)
|
||||
names = np.load('../data/' + filename + '/fish_species.npy', allow_pickle=True)
|
||||
|
||||
###############################################################################################################
|
||||
# get fish
|
||||
print(filename)
|
||||
|
||||
for fish_number in range(len(power_means)):
|
||||
if names[fish_number] == 'Eigenmannia' and power_means[fish_number] >= -90.0:
|
||||
ipp = all_ipp[fish_number]
|
||||
x_tickses = all_xticks[fish_number]
|
||||
max_ch_mean = all_max_ch_means[fish_number]
|
||||
|
||||
# smoothing of max channel mean
|
||||
smooth_mcm = np.convolve(max_ch_mean, kernel, 'valid')
|
||||
|
||||
try:
|
||||
smooth_x = x_tickses[int(np.ceil(kernel_size / 2)):-int(np.floor(kernel_size / 2))]
|
||||
except:
|
||||
embed()
|
||||
quit()
|
||||
|
||||
#####################################################################################################
|
||||
# plot traces
|
||||
ax1 = fig1.add_subplot(gs[c])
|
||||
ax1.imshow(ipp[::20].T[::-1], vmin=-100, vmax=-50, aspect='auto', interpolation='gaussian',
|
||||
extent=[x_tickses[0], x_tickses[-1], -0.5, 15.5])
|
||||
|
||||
ax1.plot(smooth_x[::20], smooth_mcm[::20], '.', color=color2[4])
|
||||
|
||||
ax1.make_nice_ax()
|
||||
ax1.axhline(7.5, xmin=0, xmax=15, color='white', lw=4)
|
||||
ax1.set_yticks([0, 1, 2, 3, 4, 5, 6, 7, 7.5, 8, 9, 10, 11, 12, 13, 14, 15])
|
||||
ax1.set_yticklabels(['1', '', '3', '', '5', '', '7', '', 'g', '', '10', '', '12', '', '14', '', '16'],
|
||||
fontsize=9)
|
||||
|
||||
print(ax_counter)
|
||||
ax1.text(-0.17, 1, chr(ord('A') + ax_counter), transform=ax1.transAxes, fontsize='large')
|
||||
ax_counter += 1
|
||||
ax1.invert_yaxis()
|
||||
ax1.xaxis_date()
|
||||
date_format = mdates.DateFormatter('%H:%M')
|
||||
ax1.xaxis.set_major_formatter(date_format)
|
||||
|
||||
|
||||
if c in [3, 4]:
|
||||
ax1.set_xlabel('Time', fontsize=11)
|
||||
if c in [1, 2]:
|
||||
ax1.set_xticks(ax1.get_xticks()[::2])
|
||||
|
||||
if c in [0, 2, 4]:
|
||||
ax1.set_ylabel('Electrode', fontsize=11)
|
||||
|
||||
c += 1
|
||||
|
||||
###################################################################################################################
|
||||
# save plot
|
||||
fig1.savefig(save_path + 'eigen_trajectories.pdf')
|
||||
plt.show()
|
79
plot_hist_fish_freq.py
Normal file
79
plot_hist_fish_freq.py
Normal file
@ -0,0 +1,79 @@
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import matplotlib.dates as mdates
|
||||
import matplotlib.colors as mcolors
|
||||
import matplotlib.gridspec as gridspec
|
||||
from IPython import embed
|
||||
from scipy import stats
|
||||
import os
|
||||
from IPython import embed
|
||||
from params import *
|
||||
import datetime
|
||||
import itertools
|
||||
import pandas as pd
|
||||
|
||||
if __name__ == '__main__':
|
||||
###################################################################################################################
|
||||
# parameter
|
||||
save_path = '../../thesis/Figures/Results/'
|
||||
inch=2.54
|
||||
# color_emf = ['#a2a2a2', '#729ece', '#ed665d']
|
||||
|
||||
|
||||
# lists
|
||||
eigen = []
|
||||
males = []
|
||||
females = []
|
||||
###################################################################################################################
|
||||
# load data
|
||||
###################################################################################################################
|
||||
# load all the data of one day
|
||||
for index, filename_idx in enumerate([0,1,2,3]):
|
||||
filename = sorted(os.listdir('../data/'))[filename_idx]
|
||||
all_q10 = np.load('../data/'+filename+'/fish_freq_q10.npy', allow_pickle=True)
|
||||
power_means = np.load('../data/' + filename + '/power_means.npy', allow_pickle=True)
|
||||
names = np.load('../data/' + filename + '/fish_species.npy', allow_pickle=True)
|
||||
|
||||
for fish_number in range(len(power_means)):
|
||||
if power_means[fish_number] >= -90.0:
|
||||
|
||||
# if all_q10[fish_number,2] <560:
|
||||
# eigen.append(all_q10[fish_number,2])
|
||||
# elif all_q10[fish_number,2] >=760:
|
||||
# males.append(all_q10[fish_number, 2])
|
||||
# elif (all_q10[fish_number,2]>=560) and (all_q10[fish_number,2]<760):
|
||||
# females.append(all_q10[fish_number, 2])
|
||||
if names[fish_number] == 'Eigenmannia':
|
||||
eigen.append(all_q10[fish_number,2])
|
||||
elif names[fish_number] == 'Apteronotus' and all_q10[fish_number,2] >=760:
|
||||
males.append(all_q10[fish_number, 2]) and all_q10[fish_number,2]>=400 and all_q10[fish_number,2]<760
|
||||
elif names[fish_number] == 'Apteronotus':
|
||||
females.append(all_q10[fish_number, 2])
|
||||
|
||||
|
||||
# eigen.extend(all_q10[:,2][all_q10[:,2]<500])
|
||||
# males.extend(all_q10[:,2][all_q10[:,2]>=760])
|
||||
# females.extend(all_q10[:,2][(all_q10[:,2]>=500)&(all_q10[:,2]<760)])
|
||||
|
||||
# plot
|
||||
fig, ax = plt.subplots(1, 1, figsize=(16 /inch, 8 /inch))
|
||||
fig.subplots_adjust(left=0.1, bottom=0.15, right=0.95, top=0.95)
|
||||
|
||||
# ax.hist(eigen, bins=np.arange(400, 1000, 20), color=color_efm[0], label=labels[0])
|
||||
# ax.hist(females, bins=np.arange(400, 1000, 20), color=color_efm[1], label=labels[1])
|
||||
# ax.hist(males, bins=np.arange(400, 1000, 20), color=color_efm[2], label=labels[2])
|
||||
ax.hist([eigen,females,males], bins=np.arange(400, 1000, 20), histtype='bar', stacked=True, label=labels[0:3], color=color_efm[0:3])
|
||||
# ax.hist(females, bins=np.arange(400, 1000, 20), color=color_efm[1], label=labels[1])
|
||||
# ax.hist(males, bins=np.arange(400, 1000, 20), color=color_efm[2], label=labels[2])
|
||||
|
||||
ax.make_nice_ax()
|
||||
ax.set_xlabel('EODf [Hz]', fontsize=fs)
|
||||
ax.set_ylabel('n', fontsize=fs)
|
||||
ax.set_yticks([0,5,10,15,20,25])
|
||||
ax.set_xlim([400,1000])
|
||||
fig.legend(loc='upper right')
|
||||
# fig.savefig(save_path+'EODf_hist.png')
|
||||
fig.savefig(save_path+'EODf_hist.pdf')
|
||||
plt.show()
|
||||
|
||||
embed()
|
396
plot_jans_pdf.py
Normal file
396
plot_jans_pdf.py
Normal file
@ -0,0 +1,396 @@
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import matplotlib.dates as mdates
|
||||
import matplotlib.colors as mcolors
|
||||
import matplotlib.gridspec as gridspec
|
||||
from mpl_toolkits.axes_grid1.inset_locator import inset_axes
|
||||
from IPython import embed
|
||||
from scipy import stats, optimize
|
||||
import pandas as pd
|
||||
import math
|
||||
import os
|
||||
from IPython import embed
|
||||
|
||||
from eventdetection import threshold_crossings, merge_events
|
||||
import helper_functions as hf
|
||||
from params import *
|
||||
from statisitic_functions import significance_bar, cohen_d
|
||||
import itertools
|
||||
|
||||
|
||||
def get_recording_number_in_time_bins(time_bins):
|
||||
"""
|
||||
Calculates the number of the recordings in the time bins
|
||||
|
||||
:param time_bins: numpy array with borders of the time bins
|
||||
:return: time_bins_recording: numpy array with the number of recordings to that specific time bin
|
||||
"""
|
||||
# variables
|
||||
time_bins_recordings = np.zeros(len(time_bins) - 1)
|
||||
|
||||
# load data
|
||||
for index, filename_idx in enumerate([0, 1, 2, 3]):
|
||||
filename = sorted(os.listdir('../data/'))[filename_idx]
|
||||
time_points = np.load('../data/' + filename + '/all_hms.npy', allow_pickle=True)
|
||||
|
||||
# in which bins is this recording, fill time_bins_recordings
|
||||
unique_time_points = np.unique(np.hstack(time_points))
|
||||
for idx, tb in enumerate(time_bins[:-1]):
|
||||
if np.any((unique_time_points >= tb) & (unique_time_points <= time_bins[idx + 1])):
|
||||
time_bins_recordings[idx] += 1
|
||||
|
||||
return time_bins_recordings
|
||||
|
||||
|
||||
def func(x, a, tau, c):
|
||||
return a * np.exp(-x / tau) + c
|
||||
|
||||
|
||||
def calc_movement(cbf, i):
|
||||
movement = cbf[0, :, i] + cbf[1, :, i]
|
||||
movement[np.isnan(movement)] = 0
|
||||
re_mov = cbf[0, :, i] - cbf[1, :, i]
|
||||
re_mov[np.isnan(re_mov)] = 0
|
||||
|
||||
return movement, re_mov
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
###################################################################################################################
|
||||
# parameter and variables
|
||||
# plot params
|
||||
inch = 2.54
|
||||
|
||||
c = 0
|
||||
cat_v1 = [0, 0, 750, 0]
|
||||
cat_v2 = [750, 750, 1000, 1000]
|
||||
cat_n = ['Eigenmannia', 'Apteronotus', 'Apteronotus']
|
||||
|
||||
# time
|
||||
# time_bins 5 min
|
||||
time_factor = 60 * 60
|
||||
# tb2 = np.arange(0, 24 * time_factor + 1, 2)
|
||||
tb5 = np.arange(0, 24 * time_factor + 1, 5)
|
||||
# tb10 = np.arange(0, 24 * time_factor + 1, 10)
|
||||
tb15 = np.arange(0, 24 * time_factor + 1, 15)
|
||||
# tb30 = np.arange(0, 24 * time_factor + 1, 30)
|
||||
tb60 = np.arange(0, 24 * time_factor + 1, 60)
|
||||
tb150 = np.arange(0, 24 * time_factor + 1, 150)
|
||||
# tb180 = np.arange(0, 24 * time_factor + 1, 180)
|
||||
tb300 = np.arange(0, 24 * time_factor + 1, 300)
|
||||
|
||||
|
||||
# time_edges = np.array([4.5, 6.5, 16.5, 18.5]) * time_factor
|
||||
# day = time_bins[:-1][(time_bins[:-1] >= time_edges[1]) & (time_bins[:-1] <= time_edges[2])]
|
||||
# dusk = time_bins[:-1][(time_bins[:-1] >= time_edges[2]) & (time_bins[:-1] <= time_edges[3])]
|
||||
# night = time_bins[:-1][(time_bins[:-1] <= time_edges[0]) | (time_bins[:-1] >= time_edges[3])]
|
||||
# dawn = time_bins[:-1][(time_bins[:-1] >= time_edges[0]) & (time_bins[:-1] <= time_edges[1])]
|
||||
|
||||
###################################################################################################################
|
||||
# load data
|
||||
###################################################################################################################
|
||||
# load all the data of one day
|
||||
# cbf2 = np.load('../data/cbf2.npy', allow_pickle=True)
|
||||
cbf5 = np.load('../data/cbf5.npy', allow_pickle=True)
|
||||
# cbf10 = np.load('../data/cbf10.npy', allow_pickle=True)
|
||||
cbf15 = np.load('../data/cbf15.npy', allow_pickle=True)
|
||||
# cbf30 = np.load('../data/cbf30.npy', allow_pickle=True)
|
||||
cbf60 = np.load('../data/cbf60.npy', allow_pickle=True)
|
||||
cbf150 = np.load('../data/cbf150.npy', allow_pickle=True)
|
||||
# cbf180 = np.load('../data/cbf180.npy', allow_pickle=True)
|
||||
cbf300 = np.load('../data/cbf300.npy', allow_pickle=True)
|
||||
|
||||
stl = np.load('../data/stl.npy', allow_pickle=True)
|
||||
names = np.load('../data/n.npy', allow_pickle=True)
|
||||
freq = np.load('../data/f.npy', allow_pickle=True)
|
||||
|
||||
trajectories = np.load('../data/trajectories.npy', allow_pickle=True)
|
||||
trajec_x = np.load('../data/trajec_x.npy', allow_pickle=True)
|
||||
|
||||
###############################################################################################################
|
||||
# variables
|
||||
for index, filename_idx in enumerate([0]):
|
||||
filename = sorted(os.listdir('../data/'))[filename_idx]
|
||||
all_Ctime_v = np.load('../data/' + filename + '/all_Ctime_v.npy', allow_pickle=True)
|
||||
sampling_rate = 1 / np.diff(all_Ctime_v[0])[0] # in sec
|
||||
|
||||
cbf_counter = 0
|
||||
###################################################################################################################
|
||||
# analysis
|
||||
for i in range(len(trajectories)):
|
||||
if names[i] == 'unknown':
|
||||
continue
|
||||
|
||||
|
||||
# mov2, re_mov2 = calc_movement(cbf2, cbf_counter)
|
||||
mov5, re_mov5 = calc_movement(cbf5, cbf_counter)
|
||||
# mov10, re_mov10 = calc_movement(cbf10, cbf_counter)
|
||||
mov15, re_mov15 = calc_movement(cbf15, cbf_counter)
|
||||
# mov30, re_mov30 = calc_movement(cbf30, cbf_counter)
|
||||
mov60, re_mov60 = calc_movement(cbf60, cbf_counter)
|
||||
mov150, re_mov150 = calc_movement(cbf150, cbf_counter)
|
||||
# mov180, re_mov180 = calc_movement(cbf180, cbf_counter)
|
||||
mov300, re_mov300 = calc_movement(cbf300, cbf_counter)
|
||||
cbf_counter += 1
|
||||
|
||||
trajec = trajectories[i]
|
||||
t_x = trajec_x[i]
|
||||
|
||||
fig = plt.figure(constrained_layout=True, figsize=[20 / inch, 26 / inch])
|
||||
gs = gridspec.GridSpec(ncols=2, nrows=6, figure=fig, hspace=0.01, wspace=0.01,
|
||||
height_ratios=[1, 1, 1, 1, 1, 1], width_ratios=[4,1],left=0.1, bottom=0.15, right=0.95,
|
||||
top=0.95)
|
||||
|
||||
ax0 = fig.add_subplot(gs[0, 0])
|
||||
ax1 = fig.add_subplot(gs[1, 0], sharex=ax0)
|
||||
ax2 = fig.add_subplot(gs[2, 0], sharex=ax0)
|
||||
ax3 = fig.add_subplot(gs[3, 0], sharex=ax0)
|
||||
ax4 = fig.add_subplot(gs[4, 0], sharex=ax0)
|
||||
ax5 = fig.add_subplot(gs[5, 0], sharex=ax0)
|
||||
# ax6 = fig.add_subplot(gs[6, 0], sharex=ax0)
|
||||
ax11 = fig.add_subplot(gs[1, 1])
|
||||
ax21 = fig.add_subplot(gs[2, 1])
|
||||
ax31 = fig.add_subplot(gs[3, 1])
|
||||
ax41 = fig.add_subplot(gs[4, 1])
|
||||
ax51 = fig.add_subplot(gs[5, 1])
|
||||
# ax61 = fig.add_subplot(gs[6, 1])
|
||||
|
||||
ax0.plot(t_x/60/60, trajec)
|
||||
# ax1.plot(tb2[:-1]/60/60, mov2)
|
||||
ax1.plot(tb5[:-1]/60/60, mov5)
|
||||
# ax3.plot(tb10[:-1]/60/60, mov10)
|
||||
ax2.plot(tb15[:-1]/60/60, mov15)
|
||||
# ax3.plot(tb30[:-1]/60/60, mov30)
|
||||
ax3.plot(tb60[:-1]/60/60, mov60)
|
||||
ax4.plot(tb150[:-1]/60/60, mov150)
|
||||
ax5.plot(tb300[:-1]/60/60, mov300)
|
||||
|
||||
# ax11.hist(mov2, bins=np.linspace(1,np.max(mov2),int(np.max(mov2))))
|
||||
ax11.hist(mov5, bins=np.linspace(1,np.max(mov5)+1,int(np.max(mov5)+1)))
|
||||
# ax31.hist(mov10, bins=np.linspace(1,np.max(mov10),int(np.max(mov10))))
|
||||
ax21.hist(mov15, bins=np.linspace(1,np.max(mov15)+1,int(np.max(mov15)+1)))
|
||||
# ax31.hist(mov30, bins=np.linspace(1,np.max(mov30),int(np.max(mov30))))
|
||||
ax31.hist(mov60, bins=np.linspace(1,np.max(mov60)+1,int(np.max(mov60)+1)))
|
||||
ax41.hist(mov150, bins=np.linspace(1,np.max(mov150)+1,int(np.max(mov150)+1)))
|
||||
ax51.hist(mov300, bins=np.linspace(1,np.max(mov300)+1,int(np.max(mov300)+1)))
|
||||
# ax7.hist(mov2)
|
||||
|
||||
tag = ['trajectory', '5', '15', '60', '150', '300']
|
||||
for idx, ax in enumerate([ax0, ax1, ax2, ax3, ax4, ax5]):
|
||||
xl_min=np.min(t_x)/60/60
|
||||
xl_max=np.max(t_x)/60/60
|
||||
ax.set_xlim([xl_min ,xl_max])
|
||||
ax.text(0.01, 0.7, tag[idx], transform=ax.transAxes, fontsize='small')
|
||||
if ax != ax0:
|
||||
ax.set_ylabel('n')
|
||||
|
||||
ax0.set_ylim([0,15])
|
||||
ax0.invert_yaxis()
|
||||
ax0.set_ylabel('electrode')
|
||||
ax5.set_xlabel('Time [h]')
|
||||
fig.suptitle('EODf '+str(np.round(freq[i],2))+' '+names[i], fontsize=12)
|
||||
# embed()
|
||||
# quit()
|
||||
fig.savefig('../../../jan_plots/trajec'+str(i)+'.pdf')
|
||||
|
||||
plt.close()
|
||||
|
||||
|
||||
|
||||
|
||||
# ###############################################################################################################
|
||||
# # roll time axis
|
||||
# start = []
|
||||
# stop = []
|
||||
# for j in range(len(roaming_events)):
|
||||
# start.extend(roaming_events[j][0])
|
||||
# stop.extend(roaming_events[j][1])
|
||||
#
|
||||
# N_rec_time_bins = get_recording_number_in_time_bins(time_bins[::int((60 / bin_len) * 60)])
|
||||
#
|
||||
# # rolled time axis for nicer plot midnight in the middle start noon
|
||||
# N_start, bin_edges = np.histogram(np.array(start) * 5, bins=time_bins[::int((60 / bin_len) * 60)])
|
||||
# N_stop, bin_edges2 = np.histogram(np.array(stop) * 5, bins=time_bins[::int((60 / bin_len) * 60)])
|
||||
# rolled_start = np.roll(N_start / N_rec_time_bins, int(len(N_start) / 2))
|
||||
# rolled_stop = np.roll(N_stop / N_rec_time_bins, int(len(N_stop) / 2))
|
||||
# rolled_bins = (bin_edges[:-1] / time_factor) + 0.5
|
||||
#
|
||||
# ###############################################################################################################
|
||||
# # figure 1: max_channel_changes per time zone and per duration of the roaming event
|
||||
# fig = plt.figure(constrained_layout=True, figsize=[15 / inch, 14 / inch])
|
||||
# gs = gridspec.GridSpec(ncols=6, nrows=3, figure=fig, hspace=0.01, wspace=0.01,
|
||||
# height_ratios=[1, 1, 1], width_ratios=[1, 1, 1, 1, 1, 1], left=0.1, bottom=0.15, right=0.95,
|
||||
# top=0.95)
|
||||
#
|
||||
# ax0 = fig.add_subplot(gs[0, :])
|
||||
# ax1 = fig.add_subplot(gs[1, :3])
|
||||
# ax2 = fig.add_subplot(gs[1, 3:], sharex=ax1)
|
||||
# ax3 = fig.add_subplot(gs[2, :2], sharey=ax2)
|
||||
# ax4 = fig.add_subplot(gs[2, 2:4], sharey=ax2)
|
||||
# ax5 = fig.add_subplot(gs[2, 4:])
|
||||
#
|
||||
# # axins = inset_axes(ax1, width='30%', height='60%')
|
||||
#
|
||||
# # bar plot
|
||||
# ax0.bar(rolled_bins, rolled_start, color=color2[4])
|
||||
# print('bar plot')
|
||||
# print('day: mean ', np.round(np.mean([rolled_start[:6], rolled_start[18:]]), 2),
|
||||
# ' std: ', np.round(np.std([rolled_start[:6], rolled_start[18:]]), 2))
|
||||
#
|
||||
# print('night: mean ', np.round(np.mean(rolled_start[6:18]), 2),
|
||||
# ' std: ', np.round(np.std(rolled_start[6:18]), 2))
|
||||
#
|
||||
# ax0.plot([16.5, 6.5], [20, 20], color=color_diffdays[0], lw=7)
|
||||
# ax0.plot([16.5, 18.5], [20, 20], color=color_diffdays[3], lw=7)
|
||||
# ax0.plot([4.5, 6.5], [20, 20], color=color_diffdays[3], lw=7)
|
||||
#
|
||||
# ###############################################################################################################
|
||||
# # curve_fit: tau, std, n
|
||||
# curvefit_stat = []
|
||||
#
|
||||
# xdata = np.linspace(0.0, 10., 500)
|
||||
# y_speeds = []
|
||||
# for plot_zone, color_zone, day_zone, pos_zone in \
|
||||
# zip([day, dusk, night, dawn], [6, 1, 4, 0], ['day', 'dusk', 'night', 'dawn'], [1, 2, 3, 4]):
|
||||
#
|
||||
# # boxplot ax1
|
||||
# props_e = dict(linewidth=2, color=color2[color_zone])
|
||||
# bp = ax1.boxplot(dauer[np.in1d(wann * 5, plot_zone)], positions=[pos_zone], widths=0.7,
|
||||
# showfliers=False, vert=False,
|
||||
# boxprops=props_e, medianprops=props_e, capprops=props_e, whiskerprops=props_e)
|
||||
#
|
||||
# x_n = [item.get_xdata() for item in bp['whiskers']][1][1]
|
||||
# n = len(dauer[np.in1d(wann * 5, plot_zone)])
|
||||
# ax1.text(x_n + 2, pos_zone, str(n), ha='left', va='center')
|
||||
# print('dauer: ', day_zone, np.median(dauer[np.in1d(wann * 5, plot_zone)]),
|
||||
# ' 25, 75: ', np.percentile(dauer[np.in1d(wann * 5, plot_zone)], [25, 75]))
|
||||
#
|
||||
# # curve fit
|
||||
# x_dauer = dauer[dauer <= 10][np.in1d(wann[dauer <= 10] * 5, plot_zone)]
|
||||
# y_speed = speeds[dauer <= 10][np.in1d(wann[dauer <= 10] * 5, plot_zone)]
|
||||
# y_speeds.append(y_speed)
|
||||
#
|
||||
# popt, pcov = optimize.curve_fit(func, x_dauer, y_speed)
|
||||
# perr = np.sqrt(np.diag(pcov))
|
||||
# print(day_zone, popt, 'perr', perr[1])
|
||||
# curvefit_stat.append(np.array([popt[1], perr[1], n]))
|
||||
#
|
||||
# # plot dauer vs speed
|
||||
# ax2.plot(x_dauer, y_speed, 'o', alpha=0.3, color=color2[color_zone])
|
||||
#
|
||||
# ax3.plot(x_dauer, y_speed, 'o', alpha=0.3, color=color2[color_zone])
|
||||
#
|
||||
# # plot curve fit
|
||||
# ax4.plot(xdata, func(xdata, *popt), '-', color=color2[color_zone], label=day_zone)
|
||||
# ax4.set_ylim(ax2.get_ylim())
|
||||
#
|
||||
# curvefit_stat = np.array(curvefit_stat)
|
||||
# # plot std of tau
|
||||
# ax5.bar([0, 1, 2, 3], curvefit_stat[:, 0], yerr=curvefit_stat[:, 1], color=color2[4])
|
||||
#
|
||||
# ###############################################################################################################
|
||||
# # statistic
|
||||
# day_group = [day, dusk, night, dawn]
|
||||
# for subset in itertools.combinations([0, 1, 2, 3], 2):
|
||||
# mean1, std1, n1 = curvefit_stat[subset[0]]
|
||||
# mean2, std2, n2 = curvefit_stat[subset[1]]
|
||||
# t, p = stats.ttest_ind_from_stats(mean1, std1, n1, mean2, std2, n2)
|
||||
# d = cohen_d(y_speeds[subset[0]], y_speeds[subset[1]])
|
||||
# print(['day', 'dusk', 'night', 'dawn'][subset[0]], ['day', 'dusk', 'night', 'dawn'][subset[1]], 't: ',
|
||||
# np.round(t, 2), 'p: ', np.round(p, 4), 'd: ', d)
|
||||
#
|
||||
# print(stats.mannwhitneyu(dauer[dauer <= 100][np.in1d(wann[dauer <= 100] * 5, day_group[subset[0]])],
|
||||
# dauer[dauer <= 100][np.in1d(wann[dauer <= 100] * 5, day_group[subset[1]])]))
|
||||
# if subset[0] == 0 and subset[1] == 2:
|
||||
# significance_bar(ax5, p, None, subset[0], subset[1], 4.)
|
||||
#
|
||||
# ###############################################################################################################
|
||||
# # labels
|
||||
# ax0.set_ylabel('# Roaming Events', fontsize=fs)
|
||||
# ax0.set_xticks([0, 6, 12, 18, 24])
|
||||
# ax0.set_xticklabels(['12:00', '18:00', '00:00', '06:00', '12:00'])
|
||||
# ax0.set_xlabel('Time', fontsize=fs)
|
||||
#
|
||||
# ax1.set_yticks([1, 2, 3, 4])
|
||||
# ax1.set_yticklabels(['day', 'dusk', 'night', 'dawn'])
|
||||
# ax1.set_xlabel('Duration [min]', fontsize=fs)
|
||||
# ax1.invert_yaxis()
|
||||
#
|
||||
# ax2.set_xlabel('Duration [min]', fontsize=fs)
|
||||
# ax2.set_ylabel('Speed [m/min]', fontsize=fs)
|
||||
# ax2.set_ylim([0, 27])
|
||||
#
|
||||
# ax3.set_ylabel('Speed [m/min]', fontsize=fs)
|
||||
# ax3.set_xlabel('Duration [min]', fontsize=fs)
|
||||
# ax3.set_xlim([0, 10])
|
||||
#
|
||||
# ax4.set_xlabel('Duration [min]', fontsize=fs)
|
||||
# ax4.set_xlim([0, 10])
|
||||
#
|
||||
# ax5.set_xticks([0, 1, 2, 3])
|
||||
# ax5.set_xticklabels(['day', 'dusk', 'night', 'dawn'], rotation=45)
|
||||
# ax5.set_ylabel(r'$\tau$')
|
||||
#
|
||||
# tagx = [-0.05, -0.07, -0.07, -0.17, -0.17, -0.17]
|
||||
# for idx, ax in enumerate([ax0, ax1, ax2, ax3, ax4, ax5]):
|
||||
# ax.make_nice_ax()
|
||||
# ax.text(tagx[idx], 1.05, chr(ord('A') + idx), transform=ax.transAxes, fontsize='large')
|
||||
#
|
||||
# # fig.align_ylabels()
|
||||
# # fig.savefig(save_path + 'roaming_events.pdf')
|
||||
# # fig.savefig(save_path_pres + 'roaming_events.pdf')
|
||||
#
|
||||
# ###############################################################################################################
|
||||
# # figure 2:
|
||||
# linregress_stat = []
|
||||
# fig2 = plt.figure(constrained_layout=True, figsize=[15 / inch, 10 / inch])
|
||||
# gs = gridspec.GridSpec(ncols=1, nrows=2, figure=fig2, hspace=0.05, wspace=0.0,
|
||||
# height_ratios=[1, 2], left=0.1, bottom=0.15, right=0.95, top=0.95)
|
||||
#
|
||||
# ax21 = fig2.add_subplot(gs[0, 0])
|
||||
# ax23 = fig2.add_subplot(gs[1, 0])
|
||||
#
|
||||
# for plot_zone, color_zone, day_zone, bar_pos, pos_zone in \
|
||||
# zip([day, dusk, night, dawn], [6, 1, 4, 0], ['day', 'dusk', 'night', 'dawn'], [-0.3, -0.1, 0.1, 0.3],
|
||||
# [0, 1, 2, 3]):
|
||||
# # pdf
|
||||
# N_roam, bin_roam = np.histogram(roam_dist[np.in1d(wann * 5, plot_zone)], bins=np.linspace(0, 15, 16))
|
||||
# N_roam = N_roam / np.sum(N_roam) / (bin_roam[1] - bin_roam[0])
|
||||
# ax21.plot(bin_roam[:-1], N_roam, color=color2[color_zone], label=day_zone)
|
||||
# ax21.set_xlabel('Distance [m]')
|
||||
# ax21.set_ylabel('PDF')
|
||||
# ax21.set_xlim([1, 15])
|
||||
#
|
||||
# # duration vs distance
|
||||
# ax23.plot(dauer[np.in1d(wann * 5, plot_zone)], roam_dist[np.in1d(wann * 5, plot_zone)], 'o',
|
||||
# color=color2[color_zone], alpha=0.3)
|
||||
# res = stats.linregress(dauer[np.in1d(wann * 5, plot_zone)], roam_dist[np.in1d(wann * 5, plot_zone)])
|
||||
# print(day_zone, res.slope)
|
||||
# linregress_stat.append(np.array([res.slope, res.stderr, len(dauer[np.in1d(wann * 5, plot_zone)])]))
|
||||
# ax23.set_xlabel('Duration [min]')
|
||||
# ax23.set_ylabel('Distance [m]')
|
||||
# ax23.set_xlim([0, 100])
|
||||
#
|
||||
# print('linregress')
|
||||
# for subset in itertools.combinations([0, 1, 2, 3], 2):
|
||||
# mean1, std1, n1 = linregress_stat[subset[0]]
|
||||
# mean2, std2, n2 = linregress_stat[subset[1]]
|
||||
# t, p = stats.ttest_ind_from_stats(mean1, std1, n1, mean2, std2, n2)
|
||||
# d = cohen_d(y_speeds[subset[0]], y_speeds[subset[1]])
|
||||
# # print(['day', 'dusk', 'night', 'dawn'][subset[0]], ['day', 'dusk', 'night', 'dawn'][subset[1]], 't: ',
|
||||
# # np.round(t, 2), 'p: ', np.round(p, 4), 'd: ', d)
|
||||
# # print(np.round(0.05 / 6, 4))
|
||||
#
|
||||
# for axis in [ax21, ax23]:
|
||||
# axis.make_nice_ax()
|
||||
#
|
||||
# ax21.legend(loc='best', bbox_to_anchor=(0.5, 0.7, 0.5, 0.5), ncol=2)
|
||||
#
|
||||
# fig2.savefig(save_path_pres + 'roaming_distance.pdf')
|
||||
# fig2.savefig(save_path + 'roaming_distance.pdf')
|
||||
#
|
||||
# plt.show()
|
||||
#
|
||||
# # df = pd.DataFrame({'duration': dauer, 'speed': speeds, 'distance': roam_dist})
|
||||
# embed()
|
||||
# quit()
|
152
plot_location.py
Normal file
152
plot_location.py
Normal file
@ -0,0 +1,152 @@
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import matplotlib.dates as mdates
|
||||
import matplotlib.colors as mcolors
|
||||
import matplotlib.gridspec as gridspec
|
||||
from IPython import embed
|
||||
from scipy import stats
|
||||
import math
|
||||
import os
|
||||
from IPython import embed
|
||||
import helper_functions as hf
|
||||
from params import *
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
###################################################################################################################
|
||||
# parameter and variables
|
||||
# plot params
|
||||
inch = 2.45
|
||||
save_path = '../../thesis/Figures/Results/'
|
||||
|
||||
# lists
|
||||
afx = [] # all_flat_x
|
||||
|
||||
###################################################################################################################
|
||||
# load data
|
||||
for filename_idx in [0, 1, 2, 3]:
|
||||
filename = sorted(os.listdir('../data/'))[filename_idx]
|
||||
all_xticks = np.load('../data/' + filename + '/all_xtickses.npy', allow_pickle=True)
|
||||
|
||||
# lists
|
||||
afx.extend(np.unique(np.hstack(all_xticks)))
|
||||
afx = sorted(np.unique(afx))
|
||||
c = 0
|
||||
###################################################################################################################
|
||||
# make alm: all location matrix
|
||||
alm = np.full([len(afx), 16], 0)
|
||||
for filename_idx in [0, 1, 2, 3]:
|
||||
filename = sorted(os.listdir('../data/'))[filename_idx]
|
||||
all_max_ch_means = np.load('../data/' + filename + '/all_max_ch.npy', allow_pickle=True)
|
||||
all_xticks = np.load('../data/' + filename + '/all_xtickses.npy', allow_pickle=True)
|
||||
power_means = np.load('../data/' + filename + '/power_means.npy', allow_pickle=True)
|
||||
names = np.load('../data/' + filename + '/fish_species.npy', allow_pickle=True)
|
||||
|
||||
for fish_number in range(len(power_means)):
|
||||
if power_means[fish_number] >= -90 and names[fish_number] != 'unknown':
|
||||
c += 1
|
||||
x_tickses = all_xticks[fish_number]
|
||||
max_ch_mean = all_max_ch_means[fish_number]
|
||||
|
||||
alm[np.flatnonzero(np.isin(afx, x_tickses)), max_ch_mean] += 1
|
||||
|
||||
hist = np.sum(alm, axis=0)/len(alm)
|
||||
# hist = np.mean(alm, axis=0) #/len(alm)
|
||||
# hist_err = np.std(alm, axis=0) #/len(alm)
|
||||
|
||||
###################################################################################################################
|
||||
# figure
|
||||
# fig1, [ax1, ax11] = plt.subplots(1, 2, figsize=(16 / inch, 10 / inch))
|
||||
# fig1.subplots_adjust(left=0.12, bottom=0.15, right=0.99, top=0.99, wspace=0.0)
|
||||
|
||||
fig1 = plt.figure(figsize=[13 / inch, 10 / inch])
|
||||
spec = gridspec.GridSpec(ncols=2, nrows=1, figure=fig1, hspace=0.5, wspace=0.05,
|
||||
width_ratios=[7,1], left=0.12, bottom=0.15, right=0.99, top=0.95)
|
||||
ax1 = fig1.add_subplot(spec[0, 0])
|
||||
ax11 = fig1.add_subplot(spec[0, 1])
|
||||
###################################################################################################################
|
||||
# plot
|
||||
ax1.imshow(alm[::20].T[::-1], vmin=0.0, vmax=7.0, aspect='auto', interpolation='gaussian',
|
||||
extent=[afx[0], afx[-1], -0.5, 15.5])
|
||||
ax1.beautimechannelaxis()
|
||||
ax1.timeaxis()
|
||||
# fig1.autofmt_xdate()
|
||||
|
||||
ax11.barh(np.arange(0,16), hist, color=color2[4])
|
||||
# ax11.barh(np.arange(0,16), hist, color=color2[4], xerr=hist_err)
|
||||
ax11.make_nice_ax()
|
||||
|
||||
ax11.set_ylim(-0.5,15.5)
|
||||
ax11.set_yticks([])
|
||||
ax11.set_xticks([])
|
||||
ax11.invert_yaxis()
|
||||
|
||||
fig1.savefig(save_path+'all_trajectories.pdf')
|
||||
|
||||
x = np.array(afx)
|
||||
x1 = np.where((x>=datetime_box[0])&(x<=datetime_box[2]))[0]
|
||||
x2 = np.where((x>=datetime_box[4])&(x<=datetime_box[5]))[0]
|
||||
y = np.concatenate((alm[x1],alm[x2]))
|
||||
y_a=np.sum(y, axis=0)/len(y)
|
||||
|
||||
x3 = np.where((x>=datetime_box[2])&(x<=datetime_box[4]))[0]
|
||||
y_b = np.sum(alm[x3], axis=0)/len(alm[x3])
|
||||
|
||||
fig2 = plt.figure(figsize=[13 / inch, 10 / inch])
|
||||
spec = gridspec.GridSpec(ncols=2, nrows=1, figure=fig2, hspace=0.5, wspace=0.05,
|
||||
width_ratios=[1, 1], left=0.12, bottom=0.15, right=0.99, top=0.95)
|
||||
ax2 = fig2.add_subplot(spec[0, 0])
|
||||
ax22 = fig2.add_subplot(spec[0, 1])
|
||||
###################################################################################################################
|
||||
# plot
|
||||
ax2.barh(np.arange(1, 17), y_a, color=color2[4])
|
||||
ax22.barh(np.arange(1, 17), y_b, color=color2[4])
|
||||
|
||||
for ax in [ax2, ax22]:
|
||||
ax.make_nice_ax()
|
||||
ax.set_ylim(-0.5, 15.5)
|
||||
ax.set_ylim(0, 6.0)
|
||||
# ax.set_xticks([])
|
||||
ax.set_yticks([0, 1, 2, 3, 4, 5, 6, 7, 7.5, 8, 9, 10, 11, 12, 13, 14, 15])
|
||||
ax.set_yticklabels(['1', '', '3', '', '5', '', '7', '', 'g', '', '10', '', '12', '', '14', '', '16'], fontsize=9)
|
||||
ax.invert_yaxis()
|
||||
ax22.set_yticklabels([])
|
||||
|
||||
plt.show()
|
||||
|
||||
embed()
|
||||
quit()
|
||||
|
||||
###################################################################################################################
|
||||
# figure 2: each day on its own
|
||||
# for filename_idx in [1, 4, 6]:
|
||||
# filename = sorted(os.listdir('../../../data/'))[filename_idx]
|
||||
# all_max_ch_means = np.load('../data/' + filename + '/all_max_ch.npy', allow_pickle=True)
|
||||
# all_xticks = np.load('../data/' + filename + '/all_xtickses.npy', allow_pickle=True)
|
||||
# power_means = np.load('../data/' + filename + '/power_means.npy', allow_pickle=True)
|
||||
#
|
||||
# # lists
|
||||
# flat_x = np.unique(np.hstack(all_xticks))
|
||||
# afx.extend(flat_x)
|
||||
# location_matrix = np.full([len(flat_x), 16], 0)
|
||||
#
|
||||
# for fish_number in range(len(power_means)):
|
||||
# # if power_means[fish_number] >= -65:
|
||||
# x_tickses = all_xticks[fish_number]
|
||||
# max_ch_mean = all_max_ch_means[fish_number]
|
||||
#
|
||||
# location_matrix[np.flatnonzero(np.isin(flat_x, x_tickses)), max_ch_mean] += 1
|
||||
#
|
||||
# fig2 = plt.figure(figsize=[16 / inch, 12 / inch])
|
||||
# spec = gridspec.GridSpec(ncols=1, nrows=1, figure=fig2, hspace=0.5, wspace=0.5)
|
||||
# ax2 = fig2.add_subplot(spec[0, 0])
|
||||
#
|
||||
# ax2.imshow(location_matrix[::20].T[::-1], aspect='auto', interpolation='gaussian', cmap='jet',
|
||||
# extent=[flat_x[0], flat_x[-1], 0, 15])
|
||||
# ax2.beautimechannelaxis()
|
||||
# ax2.timeaxis()
|
||||
# fig2.autofmt_xdate()
|
||||
#
|
||||
# plt.show()
|
||||
# embed()
|
136
plot_material_connect_ID.py
Normal file
136
plot_material_connect_ID.py
Normal file
@ -0,0 +1,136 @@
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import matplotlib.dates as mdates
|
||||
import matplotlib.colors as mcolors
|
||||
import matplotlib.gridspec as gridspec
|
||||
import math
|
||||
from IPython import embed
|
||||
from scipy import stats
|
||||
import os
|
||||
from IPython import embed
|
||||
from params import *
|
||||
import datetime
|
||||
import itertools
|
||||
import pandas as pd
|
||||
import helper_functions as hf
|
||||
|
||||
inch = 2.45
|
||||
save_path = '../../thesis/Figures/Methods/'
|
||||
|
||||
# color2 = ['#f39c12', '#d35400', '#f8c471', '#dc7633', '#c0392b', '#f1c40f']
|
||||
|
||||
|
||||
# fig, ax = plt.subplots(1, 1, figsize=(16 / inch, 5 / inch))
|
||||
# fig.subplots_adjust(left=0.1, bottom=0.30, right=0.95, top=0.95)
|
||||
#
|
||||
# ax.plot([0,0.5,1,2], [1,1,1,1], '*', color=color2[0], label='Fish 1', markersize=7)
|
||||
# ax.plot([0,1,1.5,2], [2,2,2,2], '*', color=color2[1], label='Fish 2', markersize=7)
|
||||
#
|
||||
# ax.set_ylim(0.5,2.5)
|
||||
# ax.set_xlim(-0.2,2.7)
|
||||
# ax.set_xticks([0,1,2])
|
||||
# ax.set_yticks([1,2])
|
||||
# ax.set_yticklabels([700,720])
|
||||
# ax.set_xlabel('Time', fontsize=fs)
|
||||
# ax.set_ylabel('Frequency', fontsize=fs)
|
||||
# ax.make_nice_ax()
|
||||
# ax.legend(loc='upper right')
|
||||
#
|
||||
# # fig.savefig(save_path+'till_data_structure.png')
|
||||
# fig.savefig(save_path + 'till_data_structure.pdf')
|
||||
#
|
||||
# plt.show()
|
||||
|
||||
x1 = [2.5, 5]
|
||||
y1 = [1, 1]
|
||||
|
||||
x2 = [2.5, 4]
|
||||
y2 = [1.2, 1.2]
|
||||
|
||||
x3 = [1,3]
|
||||
y3 = [2.5,2.5]
|
||||
|
||||
x4 = [1,1.5]
|
||||
y4 = [1.7,1.7]
|
||||
|
||||
#
|
||||
fig1, [ax1,ax2,ax3] = plt.subplots(3, 1, figsize=(16 / inch, 10 / inch))
|
||||
fig1.subplots_adjust(left=0.1, bottom=0.1, right=0.85, top=0.95)
|
||||
|
||||
ax2.plot(x1,y1, '-', color=color2[0], label='Fish 1', linewidth=2, markersize=7)
|
||||
ax2.plot(x2,y2, '-', color=color2[1], label='ID 2', linewidth=2, markersize=7)
|
||||
ax2.plot(x3,y3, '-', color=color2[4], label='ID 3', linewidth=2, markersize=7)
|
||||
ax2.plot(x4,y4, '-', color='gray', label='ID 4', linewidth=2, markersize=7)
|
||||
|
||||
ax1.plot(x1,y1, '-', color=color2[0], linewidth=2, markersize=7)
|
||||
ax1.plot(x2,y2, '-', color=color2[1], linewidth=2, markersize=7)
|
||||
ax1.plot(x3,y3, '-', color=color2[4], linewidth=2, markersize=7)
|
||||
ax1.plot(x4,y4, '-', color='gray', linewidth=2, markersize=7)
|
||||
|
||||
ax3.plot(x1,y1, '-', color=color2[0], linewidth=2, markersize=7)
|
||||
ax3.plot(x2,y2, '-', color=color2[1], linewidth=2, markersize=7)
|
||||
ax3.plot(x3,y3, '-', color='gray', linewidth=2, markersize=7)
|
||||
ax3.plot([2.5, 4], y1, 'o', color=color2[0], linewidth=2, markersize=7)
|
||||
ax3.plot(x2,y2, 'o', color=color2[1], linewidth=2, markersize=7)
|
||||
ax3.plot([2.5, 3], y3, 'o', color='gray', linewidth=2, markersize=7)
|
||||
|
||||
ax1.vlines(2.2, ymin=0, ymax=5.5, color='k', linestyle='dashed')
|
||||
ax1.vlines(5.3, ymin=0, ymax=5.5, color='k', linestyle='dashed')
|
||||
ax1.plot([2.2,2.5], [0.8,0.8],'k', linestyle='dotted')
|
||||
ax1.plot([5.0,5.3], [0.8,0.8],'k', linestyle='dotted')
|
||||
|
||||
ax2.axvspan(2.2, 2.8, color=color2[0], alpha=0.1)
|
||||
ax2.axvspan(2.2, 2.8, color=color2[1], alpha=0.1)
|
||||
ax2.axvspan(2.2, 2.8, color=color2[4], alpha=0.1)
|
||||
ax2.axvspan(3.7, 4.3, color=color2[1], alpha=0.1)
|
||||
ax2.axvspan(2.7, 3.3, color=color2[4], alpha=0.1)
|
||||
|
||||
ax3.hlines(0.6, xmin=0, xmax=5.5, color='k', linestyle='dashed')
|
||||
ax3.hlines(1.4, xmin=0, xmax=5.5, color='k', linestyle='dashed')
|
||||
# ax3.vlines(3.7, ymin=0.8, ymax=1.2, color='k')
|
||||
# ax3.vlines(4.3, ymin=0.8, ymax=1.2, color='k')
|
||||
# ax3.hlines(0.8, ymin=2.3, ymax=2.7, color='k')
|
||||
# ax3.hlines(3.3, ymin=2.3, ymax=2.7, color='k')
|
||||
# ax3.plot([2.2,2.8], [1.2,1.2],'k')
|
||||
# ax3.plot([3.7,4.3], [1.2,1.2],'k')
|
||||
# ax3.plot([2.7,3.3], [2.7,2.7],'k')
|
||||
# ax3.plot([2.2,2.8], [0.8,0.8],'k')
|
||||
# ax3.plot([3.7,4.3], [0.8,0.8],'k')
|
||||
# ax3.plot([2.7,3.3], [2.3,2.3],'k')
|
||||
|
||||
for idx, ax in enumerate([ax1,ax2,ax3]):
|
||||
ax.text(-0.09, 1, chr(ord('A') + idx), transform=ax.transAxes, fontsize='large')
|
||||
ax.set_ylim(0,3.5)
|
||||
ax.set_xlim(0.5,5.5)
|
||||
ax.set_yticks([])
|
||||
ax.set_xticks([])
|
||||
# ax.set_xticklabels([])
|
||||
# ax.set_yticklabels([])
|
||||
ax.set_xlabel('Time', fontsize=fs)
|
||||
ax.set_ylabel('EODf', fontsize=fs)
|
||||
ax.make_nice_ax()
|
||||
|
||||
ax = plt.gca()
|
||||
ax2.legend(loc='center right', bbox_to_anchor=(1.2, 0.5))
|
||||
|
||||
# fig1.savefig(save_path + 'connect_ID.png')
|
||||
fig1.savefig(save_path + 'connect_ID.pdf')
|
||||
|
||||
plt.show()
|
||||
|
||||
exit()
|
||||
|
||||
|
||||
# temperatur
|
||||
t = []
|
||||
|
||||
for index, filename_idx in enumerate([1, 4, 6]):
|
||||
filename = sorted(os.listdir('../../../data/'))[filename_idx]
|
||||
|
||||
temp = pd.read_csv('../../../data/' + filename + '/temperatures.csv', sep=';')
|
||||
t.append(np.array(temp.values.tolist())[:,1])
|
||||
|
||||
|
||||
print(np.mean(np.hstack(t)))
|
||||
print(np.min(np.hstack(t)))
|
||||
print(np.max(np.hstack(t)))
|
Loading…
Reference in New Issue
Block a user