This function quickly plots raster plots of large quantities of spike train data. Inputs can be spike times or binary spike train data organized by trial. It can also plot well-formatted single spike trains (example in zip file).
Speed is achieved by only plotting one object per figure (a line with segments separated by NaNs) and avoiding loops.
You can plot vertical lines, horizontal lines, and dots with formatting, on specific figures. You can also adjust the spike duration, relative spike start time, and vertical spike position. The x-axes for timing data are automatically set to show all spikes, but can alternatively be adjusted to your liking.
Please look at the .m file help for more extensive documentation. A test plotting file and sample figures are also attached.
Request features in comments, or to the email in my profile!
Jeffrey Chiou (2024). Flexible and Fast Spike Raster Plotting (https://www.mathworks.com/matlabcentral/fileexchange/45671-flexible-and-fast-spike-raster-plotting), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Fixed bug in which relSpikeStartTime did nothing to certain plots. Added parameter rasterWindowOffset, which is the same as relSpikeStartTime, but highlights that x-axis can be shifted w/o XTick and XAxisLabel.
Added ability to specify vertical spike height for 'vertline' plots. Allows gaps between trials.