Using the lifelines library, you can easily plot Kaplan-Meier plots, e.g. as seen in our previous post Minimal Python Kaplan-Meier Plot example:
from lifelines.datasets import load_leukemia from lifelines import KaplanMeierFitter df = load_leukemia() kmf = KaplanMeierFitter() kmf.fit(df['t'], df['Rx']) # t = Timepoints, Rx: 0=censored, 1=event kmf.plot()
What if you want to plot multiple survival curves?
The call to kmf.plot()
returns a Matplotlib ax
object which you can use on a second kmf2.plot()
call als argument: kmf2.plot(ax=ax)
.
Full example (note that we also set a fixed Y range of [0.0, 1.0]
, see How to make Y axis start from 0 in lifelines Kaplan-Meier plots):
from lifelines.datasets import load_leukemia, load_lymphoma from lifelines import KaplanMeierFitter # Load datasets df_leukemia = load_leukemia() df_lymphoma = load_lymphoma() # Fit & plot leukemia dataset kmf_leukemia = KaplanMeierFitter() kmf_leukemia.fit(df_leukemia['t'], df_leukemia['Rx'], label="Leukemia") ax = kmf_leukemia.plot() # Fit & plot lymphoma dataset kmf_lymphoma = KaplanMeierFitter() kmf_lymphoma.fit(df_lymphoma['Time'], df_lymphoma['Censor'], label="Lymphoma") ax = kmf_lymphoma.plot(ax=ax) # Set Y axis to fixed scale ax.set_ylim([0.0, 1.0])