created file for all plot functions (calls functions from useful_functions.py)
This commit is contained in:
parent
2742b8e760
commit
d9ff5efd5d
69
code/plot_functions.py
Normal file
69
code/plot_functions.py
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
'''This script contains all functions for various plots that could be relevant
|
||||||
|
for the presentation or protocol of the Grewe GP 2024'''
|
||||||
|
|
||||||
|
import os
|
||||||
|
import matplotlib.pyplot as plt
|
||||||
|
import numpy as np
|
||||||
|
import rlxnix as rlx
|
||||||
|
from useful_functions import power_spectrum
|
||||||
|
|
||||||
|
'''IMPORT DATA'''
|
||||||
|
datafolder = '../data' #./ wo ich gerade bin; ../ eine ebene höher; ../../ zwei ebenen höher
|
||||||
|
example_file = os.path.join('..', 'data', '2024-10-16-ac-invivo-1.nix')
|
||||||
|
|
||||||
|
'''EXTRACT DATA'''
|
||||||
|
dataset = rlx.Dataset(example_file)
|
||||||
|
|
||||||
|
# get sams
|
||||||
|
sams = dataset.repro_runs('SAM')
|
||||||
|
sam = sams[2]
|
||||||
|
|
||||||
|
# get stims
|
||||||
|
stimulus = sam.stimuli[-1]
|
||||||
|
stim_count = sam.stimulus_count
|
||||||
|
|
||||||
|
'''PLOTS'''
|
||||||
|
# create colormap
|
||||||
|
colors = plt.cm.prism(np.linspace(0, 1, stim_count))
|
||||||
|
|
||||||
|
# plot timeline of whole rec
|
||||||
|
dataset.plot_timeline()
|
||||||
|
|
||||||
|
# plot voltage over time for whole trace
|
||||||
|
def plot_vt_spikes(t, v, spike_t):
|
||||||
|
fig = plt.figure(figsize=(5, 2.5))
|
||||||
|
# alternative to ax = axs[0]
|
||||||
|
ax = fig.add_subplot()
|
||||||
|
# plot vt diagram
|
||||||
|
ax.plot(t[t<0.1], v[t<0.1])
|
||||||
|
# plot spikes into vt diagram, at max V
|
||||||
|
ax.scatter(spike_t[spike_t<0.1], np.ones_like(spike_t[spike_t<0.1]) * np.max(v))
|
||||||
|
plt.show()
|
||||||
|
|
||||||
|
# plot scatter plot for one sam with all 3 stims
|
||||||
|
def scatter_plot(colormap, stimuli_list, stimulus_count):
|
||||||
|
fig = plt.figure()
|
||||||
|
ax = fig.add_subplot()
|
||||||
|
|
||||||
|
ax.eventplot(stimuli_list, colors=colormap)
|
||||||
|
ax.set_xlabel('Spike Times [ms]')
|
||||||
|
ax.set_ylabel('Loop #')
|
||||||
|
ax.set_yticks(range(stimulus_count))
|
||||||
|
ax.set_title('Spikes of SAM 3')
|
||||||
|
plt.show()
|
||||||
|
|
||||||
|
# calculate power spectrum
|
||||||
|
freq, power = power_spectrum(stimulus)
|
||||||
|
|
||||||
|
# plot power spectrum
|
||||||
|
def power_spectrum_plot(f, p):
|
||||||
|
# plot power spectrum
|
||||||
|
fig = plt.figure()
|
||||||
|
ax = fig.add_subplot()
|
||||||
|
ax.plot(freq, power)
|
||||||
|
ax.set_xlabel('Frequency [Hz]')
|
||||||
|
ax.set_ylabel('Power [1/Hz]')
|
||||||
|
ax.set_xlim(0, 1000)
|
||||||
|
plt.show()
|
||||||
|
|
||||||
|
####### ADD DIANAS POWER SPECTRUM PLOT
|
Loading…
Reference in New Issue
Block a user