def draw_survival_curves(self, **kw): name = kw['name'] assert len(self.start_states_list) == len(self.end_states_list), \ "Incorrect start/end state lengths." titles, points_arrays, dt = SurvivalCurve.survival_curves(self.patients, zip(self.start_states_list, self.end_states_list)) SurvivalCurve.draw_survival_curves(titles, points_arrays, dt, name)
def draw_histograms(self, label_to_func = {"Months Survival" : lambda pt: len(pt.states)}, **kw): val_array = [] xlabels = [] for (label, whatfunc) in label_to_func.items(): vals = [] for p in self.patients: vals.append(whatfunc(p)) val_array.append(vals) xlabels.append(label) SurvivalCurve.histograms(val_array, xlabels, **kw)
def combine_survival_curves(simulators, name): titles = [] pts = [] dts = [] for s in simulators: t, p, dt = SurvivalCurve.survival_curves(s.patients, zip(s.start_states_list, s.end_states_list)) titles.extend(t) pts.extend(p) dts.append(dt) for title, points in s.survival_curve_arrays: titles.append(title) pts.append(points) SurvivalCurve.draw_survival_curves(titles, pts, dts[0], name)