eeglab的PLOT

ref

ref2

ref3

如果你知道了eeglab plot的逻辑,那么把数据提取出来,在matlab中做个波形图,做个频谱图,肯定没问题,可以装下X。其实eeglab中作图的函数似乎更好用,省去了什么把轴反向,设定x轴,标注baseline等一系列的麻烦事为什么不用现成的呢。。

波形图

自己的函数 (只可以看的水平)

Fnorm=12/(512/2)
df=designfilt('lowpassfir','FilterOrder',15,'CutoffFrequency',Fnorm)
for chan=32
% chan_label=chaninfo(chan).labels;

x=1:1126;
 x1=m101(chan,x)
 x2=m102(chan,x)
 x3=m103(chan,x)
 xx = 0:1:1125;
xx1 = filter(df,x1)
xx2= filter(df,x2)
xx3= filter(df,x3)
figure
plot(xx,xx1,'g',xx,xx2,'r',xx,xx3,'b');
hline(0,'b-')
vline(102,'b-')
 legend('green cue','red cue','blue cue')
 title(chanlocs(chan).labels)
 ylim([-10,30])
set(gca,'YDir','reverse')   
set(gca,'xtick',[0:51:1126],'xticklabel',[-200:100:2000])
end

eeglab 函数

plotdata()

只能画两列,可以显示label,可以画多个条件下的波形。但是个人认为不如plottopo好用,所以没必要纠结这个函数

% plotdata() - plot concatenated multichannel data epochs in two-column format
%
% Usage:   >> plotdata(data)
%          >> plotdata(data,frames)
%          >> plotdata(data,frames,limits,title,channames,colors,rtitle,ydir) 
%
% Necessary input:
%   data       = data consisting of consecutive epochs of (chans,frames) 
%
% Optional inputs:
%   frames     = time frames/points per epoch {default: 0 -> data length}
%  [limits]    = [xmin xmax ymin ymax]  (x's in ms) 
%                {default|0 (or both y's 0) -> use data limits)
%  'title'     = plot title {default|0 -> none}
%  'channames' = channel location file or structure (see readlocs())
%                {default|0 -> channel numbers}
%  'colors'    = file of color codes, 3 chars per line  
%                ( '.' = space) {default|0 -> default color order}
%  'rtitle'    = right-side plot title {default|0 -> none}
%   ydir       = y-axis polarity (1 -> pos-up; -1 -> neg-up) 
%                {default|0 -> set from default YDIR in 'icadefs.m'}

plottopo()

可以画成地形图的形状,比较直观,可以点开看大图可以,还可以加入多个条件值得,深入研究。

% plottopo() - plot concatenated multichannel data epochs in a topographic
% or
%              rectangular array. Uses a channel location file with the same 
%              format as topoplot(), or else plots data on a rectangular grid. 
%              If data are all positive, they are assumed to be spectra.
% Usage:
%    >> plottopo(data, 'key1', 'val1', 'key2', 'val2')
% Or
%    >> plottopo(data,'chan_locs',frames,limits,title,channels,...
%                      axsize,colors,ydir,vert) % old function call
% Inputs:
%   data       = data consisting of consecutive epochs of (chans,frames)
%                or (chans,frames,n)
%
% Optional inputs:
%  'chanlocs'  = [struct] channel structure or file plot ERPs at channel 
%                locations. See help readlocs() for data channel format.
%  'geom'      = [rows cols] plot ERP in grid (overwrite previous option).
%                Grid size for rectangular matrix. Example: [6 4].
%  'frames'    = time frames (points) per epoch {def|0 -> data length}
%  'limits'    = [xmin xmax ymin ymax]  (x's in ms or Hz) {def|0 
%                 (or both y's 0) -> use data limits)
%  'ylim'      = [ymin ymax] y axis limits. Overwrite option above.
%  'title'     = [string] plot title {def|'' -> none}
%  'chans'     = vector of channel numbers to plot {def|0 -> all}
%  'axsize'    = [x y] axis size {default [.05 .08]}
%  'legend'    = [cell array] cell array of string for the legend. Note
%                the last element can be an integer to set legend 
%                position.
%  'showleg'   = ['on'|'off'] show or hide legend.
%  'colors'    = [cell array] cell array of plot aspect. E.g. { 'k' 'k--' }
%                for plotting the first curve in black and the second one
%                in black dashed. Can also contain additional formating.
%                { { 'k' 'linewidth' 2 } 'k--' } same as above but
%                the first line is bolded.
%  'ydir'      = [1|-1] y-axis polarity (pos-up = 1; neg-up = -1) {def -> -1}
%  'vert'      = [vector] of times (in ms or Hz) to plot vertical lines 
%                {def none}
%  'hori'      = [vector] plot horizontal line at given ordinate values.
%  'regions'   = [cell array] cell array of size nchan. Each cell contains a
%                float array of size (2,n) each column defining a time region 
%                [low high] to be highlighted.
%  'plotfunc'  = [cell] use different function for plotting data. The format
%                is { funcname arg2 arg3 arg2 ... }. arg1 is taken from the
%                data.

比如:

pop_comperp.m文件

line 365

timtopo(m101,chanlocs,'limits',[-200,2000,0,0],'plotchans',[1:32],'plottimes',[300,600,800],'title','my plot1')

Last updated