Version 1.1.03 (1.56 MB) by Anders
Survival analysis in MATLAB
Updated 11 May 2022
MatSurv is a simple survival analysis function for MATLAB (version 2016b and later) that creates a KM-plot with risk table. Survival statistics, such as log rank p-value and Hazard Ration (HR) is also calculated. The log rank test has been tested to give the same results as SAS and R. The style of the KM-plot is easily changed with input parameters. No additional toolboxes are needed. MatSurv was inspired by the survminer R-package (
More examples can be found at:

Cite As

Creed, Jordan, et al. “MatSurv: Survival Analysis and Visualization in MATLAB.” Journal of Open Source Software, vol. 5, no. 46, The Open Journal, Feb. 2020, p. 1830, doi:10.21105/joss.01830.

View more styles
MATLAB Release Compatibility
Created with R2017a
Compatible with R2016b to R2021b
Platform Compatibility
Windows macOS Linux

Inspired by: KMplot, Logrank

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes

Added options to use all four quartile groups, use 'CutPoint', 'QuartileAll'


Fixed bug for Chi2 calculations with more than 4 groups


Fixed description text


Added JOSS paper and DOI information

Additional error checking including minimum number of samples per group and if there is more than one group with zero events. Also added support for multilevel GroupsToUse input in order to merge groups

Added an option so the risk table can be placed in the KM-plot (RT_KMplot)

Fixed bug in print option


Fixed the HR calculations when there are multiple groups


Small update of functionality


Updated Cite As


Updated stats structure and included Mantel-Haenszel Hazard Ratio

Fixed bug where it crashed if there was only 1 group member.
Updated the description
Updated GitHub example figures to match current default settings
Fixed a bug where median survival time was not calculated with the NoPlot option
Updated CutPoint option to include Tertile
Updated LineColor options, median survival time is now calculated and option to print results to the screen
Changed median cut to x < median by default and added an option to change it to x > median. Only affect the results if there is an odd number of samples.
Updated MATLAB version requirement

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.