improved introplot
This commit is contained in:
parent
677c29b77f
commit
a7a3b26883
@ -1 +1 @@
|
|||||||
chirpdetection
|
chirpdet
|
||||||
|
@ -17,9 +17,9 @@ def main():
|
|||||||
data = LoadData(datapath)
|
data = LoadData(datapath)
|
||||||
|
|
||||||
# good chirp times for data: 2022-06-02-10_00
|
# good chirp times for data: 2022-06-02-10_00
|
||||||
window_start_seconds = 3 * 60 * 60 + 6 * 60 + 43.5 + 9 + 6.24
|
window_start_seconds = 3 * 60 * 60 + 6 * 60 + 43.5 + 9 + 6.20
|
||||||
window_start_index = window_start_seconds * data.raw_rate
|
window_start_index = window_start_seconds * data.raw_rate
|
||||||
window_duration_seconds = 0.2
|
window_duration_seconds = 0.4
|
||||||
window_duration_index = window_duration_seconds * data.raw_rate
|
window_duration_index = window_duration_seconds * data.raw_rate
|
||||||
|
|
||||||
timescaler = 1000
|
timescaler = 1000
|
||||||
@ -27,8 +27,8 @@ def main():
|
|||||||
raw = data.raw[window_start_index:window_start_index +
|
raw = data.raw[window_start_index:window_start_index +
|
||||||
window_duration_index, 10]
|
window_duration_index, 10]
|
||||||
|
|
||||||
fig, ax = plt.subplots(
|
fig, (ax1, ax2) = plt.subplots(
|
||||||
1, 1, figsize=(14 * ps.cm, 6*ps.cm), sharex=True, sharey=True)
|
1, 2, figsize=(21 * ps.cm, 8*ps.cm), sharex=True, sharey=True)
|
||||||
|
|
||||||
# plot instantaneous frequency
|
# plot instantaneous frequency
|
||||||
filtered1 = bandpass_filter(
|
filtered1 = bandpass_filter(
|
||||||
@ -41,12 +41,9 @@ def main():
|
|||||||
freqtime2, freq2 = instantaneous_frequency(
|
freqtime2, freq2 = instantaneous_frequency(
|
||||||
filtered2, data.raw_rate, smoothing_window=3)
|
filtered2, data.raw_rate, smoothing_window=3)
|
||||||
|
|
||||||
ax.plot(freqtime1*timescaler, freq1, color=ps.g,
|
ax1.plot(freqtime1*timescaler, freq1, color=ps.g, lw=2, label="Fish 1")
|
||||||
lw=2, label="Fish 1")
|
ax1.plot(freqtime2*timescaler, freq2, color=ps.gray,
|
||||||
ax.plot(freqtime2*timescaler, freq2, color=ps.gray,
|
|
||||||
lw=2, label="Fish 2")
|
lw=2, label="Fish 2")
|
||||||
ax.legend(bbox_to_anchor=(0, 1.02, 1, 0.2), loc="lower center",
|
|
||||||
mode="normal", borderaxespad=0, ncol=2)
|
|
||||||
# ax.legend(bbox_to_anchor=(1.04, 1), borderaxespad=0)
|
# ax.legend(bbox_to_anchor=(1.04, 1), borderaxespad=0)
|
||||||
# # ps.hide_xax(ax1)
|
# # ps.hide_xax(ax1)
|
||||||
|
|
||||||
@ -62,7 +59,7 @@ def main():
|
|||||||
fmask = np.zeros(spec_freqs.shape, dtype=bool)
|
fmask = np.zeros(spec_freqs.shape, dtype=bool)
|
||||||
fmask[(spec_freqs > ylims[0]) & (spec_freqs < ylims[1])] = True
|
fmask[(spec_freqs > ylims[0]) & (spec_freqs < ylims[1])] = True
|
||||||
|
|
||||||
ax.imshow(
|
ax1.imshow(
|
||||||
decibel(spec_power[fmask, :]),
|
decibel(spec_power[fmask, :]),
|
||||||
extent=[
|
extent=[
|
||||||
spec_times[0]*timescaler,
|
spec_times[0]*timescaler,
|
||||||
@ -77,47 +74,49 @@ def main():
|
|||||||
# vmin=-100,
|
# vmin=-100,
|
||||||
# vmax=-80,
|
# vmax=-80,
|
||||||
)
|
)
|
||||||
# ps.hide_xax(ax2)
|
|
||||||
|
|
||||||
# # plot coarse spectrogram
|
# # plot coarse spectrogram
|
||||||
# spec_power, spec_freqs, spec_times = spectrogram(
|
spec_power, spec_freqs, spec_times = spectrogram(
|
||||||
# raw,
|
raw,
|
||||||
# ratetime=data.raw_rate,
|
ratetime=data.raw_rate,
|
||||||
# freq_resolution=10,
|
freq_resolution=15,
|
||||||
# overlap_frac=0.3,
|
overlap_frac=0.3,
|
||||||
# )
|
)
|
||||||
# fmask = np.zeros(spec_freqs.shape, dtype=bool)
|
fmask = np.zeros(spec_freqs.shape, dtype=bool)
|
||||||
# fmask[(spec_freqs > ylims[0]) & (spec_freqs < ylims[1])] = True
|
fmask[(spec_freqs > ylims[0]) & (spec_freqs < ylims[1])] = True
|
||||||
# ax3.imshow(
|
ax2.imshow(
|
||||||
# decibel(spec_power[fmask, :]),
|
decibel(spec_power[fmask, :]),
|
||||||
# extent=[
|
extent=[
|
||||||
# spec_times[0]*timescaler,
|
spec_times[0]*timescaler,
|
||||||
# spec_times[-1]*timescaler,
|
spec_times[-1]*timescaler,
|
||||||
# spec_freqs[fmask][0],
|
spec_freqs[fmask][0],
|
||||||
# spec_freqs[fmask][-1],
|
spec_freqs[fmask][-1],
|
||||||
# ],
|
],
|
||||||
# aspect="auto",
|
aspect="auto",
|
||||||
# origin="lower",
|
origin="lower",
|
||||||
# interpolation="gaussian",
|
interpolation="gaussian",
|
||||||
# alpha=1,
|
alpha=1,
|
||||||
# )
|
)
|
||||||
# # ps.hide_xax(ax3)
|
# ps.hide_xax(ax3)
|
||||||
|
ax2.plot(freqtime1*timescaler, freq1, color=ps.g, lw=2, label="_")
|
||||||
ax.set_xlabel("Time [ms]")
|
ax2.plot(freqtime2*timescaler, freq2, color=ps.gray,
|
||||||
ax.set_ylabel("Frequency [Hz]")
|
lw=2, label="_")
|
||||||
|
|
||||||
# ax.set_yticks(np.arange(400, 1201, 400))
|
ax2.set_xlim(75, 200)
|
||||||
# ax.spines.left.set_bounds((400, 1200))
|
ax1.set_ylim(400, 1200)
|
||||||
# ax2.set_yticks(np.arange(400, 1201, 400))
|
|
||||||
# ax2.spines.left.set_bounds((400, 1200))
|
fig.supxlabel("Time [ms]", fontsize=14)
|
||||||
# ax3.set_yticks(np.arange(400, 1201, 400))
|
fig.supylabel("Frequency [Hz]", fontsize=14)
|
||||||
# ax3.spines.left.set_bounds((400, 1200))
|
|
||||||
|
handles, labels = ax1.get_legend_handles_labels()
|
||||||
plt.subplots_adjust(left=0.17, right=0.98, top=0.87,
|
ax2.legend(handles, labels, bbox_to_anchor=(1.04, 1), loc="upper left", ncol=1,)
|
||||||
bottom=0.24, hspace=0.35)
|
|
||||||
|
ps.letter_subplots(xoffset=[-0.27, -0.1], yoffset=1.05)
|
||||||
|
|
||||||
|
plt.subplots_adjust(left=0.12, right=0.85, top=0.89,
|
||||||
|
bottom=0.18, hspace=0.35)
|
||||||
|
|
||||||
plt.savefig('../poster/figs/introplot.pdf')
|
plt.savefig('../poster/figs/introplot.pdf')
|
||||||
plt.show()
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user