Skip to main content

Reusable React-based UI for Dash apps that computes and plots a Kaplan-Meier curve entirely using raw event and time-to-event data passed from Dash app. It eliminates analysis libraries, making it lightweight and frontend-driven.

Project description

DashKaplanMeier Dash Component

Dash component built with React to render Kaplan–Meier survival curves with enhanced interactivity and styling options. This component is ideal for visualizing survival analysis data directly within Dash applications.

Features

  • Plot Kaplan–Meier survival curves from preprocessed data.
  • Support for multiple curves with different group labels.
  • Interactive tooltips and hover effects.
  • Customizable colors and dimensions.
  • Fully integrated with Dash callback system.

Installation

pip install dash-kaplan-meier

Install requirements

pip install dash
pip install lifelines

Usage

Here’s how to use the DashKaplanMeier component in your Dash app:

import dash
from dash import html, Dash
import dash_kaplan_meier as dkm
from dash_kaplan_meier.survival_stats import compute_survival_stats

# Example data
time        = [your time values list here]
event       = [your event values list here]
group       = [you rgroup values list here]

# Compute statistics
stats       = compute_survival_stats(time ,event, group)

# Dash app
app         = Dash()

# Dash app layout with DashKaplanMeier component
app.layout = html.Div([
    dkm.DashKaplanMeier(
        id              = 'km-example',
        time            = time,
        event           = event,
        group           = group,
        showCIs         = True,
        colors          = ['blue', 'green', 'red'],
        showStatistics  = True,
        logrankP        = stats["logrank_p"],
        coxP            = stats["cox_p"],
        hazardRatio     = stats["hazard_ratio"],
        layout          ={  'title': 'Kaplan-Meier Survival Curve Example',
                            "xaxis": {"title": {"text": "Time (months)"}},
                            "yaxis": {"title": {"text": "Survival Probability"}}},
        title           = "Kaplan-Meier curves",
        config          = {'responsive': True}
    )
])

if __name__ == '__main__':
    app.run(debug=True)

Plot Example

Survival Example

Contributing

See CONTRIBUTING.md

License

MIT License. See LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dash_kaplan_meier-0.1.3.tar.gz (1.4 MB view details)

Uploaded Source

File details

Details for the file dash_kaplan_meier-0.1.3.tar.gz.

File metadata

  • Download URL: dash_kaplan_meier-0.1.3.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for dash_kaplan_meier-0.1.3.tar.gz
Algorithm Hash digest
SHA256 7d80a9ee3f6cdbbe4d1ea9b52b73179c36265f01b944a86d58d8a25e4f2a3632
MD5 e492c13285e77a936cabff62d38719b7
BLAKE2b-256 b61a0d11087748014490121e16f0ec275d83f512854d4aea4c2fb3be5eedbad9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page