jar_project/apteronotus_code/figure_apteronotus_jar_plot.py
2020-10-22 17:34:47 +02:00

131 lines
4.0 KiB
Python

import matplotlib.pyplot as plt
import numpy as np
import pylab
from IPython import embed
from scipy.optimize import curve_fit
from scipy.optimize import curve_fit
from matplotlib.mlab import specgram
import os
from jar_functions import import_data
from jar_functions import import_amfreq
from jar_functions import sin_response
from jar_functions import mean_noise_cut
from jar_functions import gain_curve_fit
plt.rcParams.update({'font.size': 10})
def take_second(elem): # function for taking the names out of files
return elem[1]
identifier = [#'2018lepto1',
#'2018lepto4',
#'2018lepto5',
#'2018lepto76',
'2018lepto98',
'2019lepto03',
#'2019lepto24',
#'2019lepto27',
#'2019lepto30',
#'2020lepto04',
#'2020lepto06',
'2020lepto16',
'2020lepto19',
'2020lepto20'
]
for ident in identifier:
times = []
jars = []
jms = []
amfreq = []
times1 = []
jars1 = []
jms1 = []
amfreq1 = []
amf = [0.001, 0.002, 0.005, 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1]
data = sorted(np.load('%s files.npy' %ident), key = take_second) # list with filenames in it
for i, d in enumerate(data):
dd = list(d)
if dd[1] == '1' or dd[1] == '0.2' or dd[1] == '0.05' or dd[1] == '0.01' or dd[1] == '0.005' or dd[1] == '0.001':
jar = np.load('%s.npy' %dd) # load data for every file name
jm = jar - np.mean(jar) # low-pass filtering by subtracting mean
time = np.load('%s time.npy' %dd) # time file
dt = time[1] - time[0]
n = int(1/float(d[1])/dt)
cutf = mean_noise_cut(jm, n = n)
cutt = time
if dd[1] == '0.001':
amfreq1.append(dd[1])
jars1.append(jm - cutf)
jms1.append(jm)
times1.append(time)
if dd[1] not in amfreq:
print(dd)
amfreq.append(dd[1])
jars.append(jm - cutf)
jms.append(jm)
times.append(time)
else:
print('1:', dd)
amfreq1.append(dd[1])
jars1.append(jm - cutf)
jms1.append(jm)
times1.append(time)
if len(jars) != 6:
continue
fig = plt.figure(figsize=(8.27,11.69))
fig.suptitle('%s' %ident)
fig.text(0.06, 0.5, 'frequency [Hz]', ha='center', va='center', rotation='vertical')
fig.text(0.5, 0.04, 'time [s]', ha='center', va='center')
ax0 = fig.add_subplot(611)
ax0.plot(times[0], jms[0])
#ax0.plot(times[0], jars[0])
ax0.set_ylim(-12, 12)
#plt.text(-0.1, 1.05, "A)", fontweight=550, transform=ax0.transAxes)
ax1 = fig.add_subplot(612)
ax1.plot(times[1], jms[1])
#ax1.plot(times[1], jars[1])
ax1.set_ylim(-12, 12)
#plt.text(-0.1, 1.05, "B)", fontweight=550, transform=ax1.transAxes)
ax2 = fig.add_subplot(613)
ax2.plot(times[2], jms[2])
#ax2.plot(times[2], jars[2])
ax2.set_ylim(-12, 12)
#plt.text(-0.1, 1.05, "C)", fontweight=550, transform=ax2.transAxes)
ax3 = fig.add_subplot(614)
ax3.plot(times[3], jms[3])
#ax3.plot(times[3], jars[3])
ax3.set_ylim(-12, 12)
#plt.text(-0.1, 1.05, "D)", fontweight=550, transform=ax3.transAxes)
ax4 = fig.add_subplot(615)
ax4.plot(times[4], jms[4])
#ax4.plot(times[4], jars[4])
ax4.set_ylim(-12, 12)
# plt.text(-0.1, 1.05, "E)", fontweight=550, transform=ax4.transAxes)
ax5 = fig.add_subplot(616)
ax5.plot(times[5], jms[5])
#ax5.plot(times[5], jars[5])
ax5.set_ylim(-12, 12)
#plt.text(-0.1, 1.05, "F)", fontweight=550, transform=ax5.transAxes)
plt.subplots_adjust(left=0.125,
bottom=0.1,
right=0.9,
top=0.9,
wspace=0.2,
hspace=0.35)
plt.show()