NeuroAnalyzer tutorials: Plot complex/tiled plots
Initialize NeuroAnalyzer
using NeuroAnalyzer
using Plots
eeg = load("files/eeg.hdf");Combine plots:
p1 = NeuroAnalyzer.plot(eeg,
ch="Fp1",
seg=(5, 7))
p2 = plot_psd(eeg,
ch="Fp1",
seg=(5, 7))
p3 = plot_spectrogram(eeg,
ch="Fp1",
seg=(5, 7),
frq_lim=(0, 40))
plot_compose([p1, p2, p3],
layout=(3, 1),
size=(1200, 900))It is also possible to combine different plots using complex layout:
p1 = NeuroAnalyzer.plot(eeg,
ch="Fp1",
seg=(5, 7))
p2 = plot_psd(eeg,
ch="Fp1",
seg=(5, 7),
ep=1)
p3 = plot_locs(eeg,
ch="eeg",
selected="Fp1",
large=false)
# @layout macro requires Plots package to be loaded
Plots.plot(p1, p2, p3,
layout=@layout [a b; _ c _])Tiled plots
As an example, a tiled plot of labeled auto-covariance plots will be created.
First, we need data to plot:
ac, lags = acov(eeg, ch="eeg", l=5)
l = labels(eeg)[get_channel(eeg, ch="eeg")]19-element Vector{String}:
"Fp1"
"Fp2"
"F3"
"F4"
"C3"
"C4"
"P3"
"P4"
"O1"
"O2"
"F7"
"F8"
"T3"
"T4"
"T5"
"T6"
"Fz"
"Cz"
"Pz"
Next, a vector of plots has to be created:
p = Plots.Plot{Plots.GRBackend}[]
for idx in 1:size(ac, 1)
push!(p, plot_xac(ac[idx, :], lags, title=l[idx]))
endThere is also plot_compose() function available:
plot_compose(p[1:7],
layout=(4, 2))