Plotara guide
How to add a number-at-risk table to a Kaplan-Meier plot
A number-at-risk table is expected in most clinical journals. What it shows, where it goes, and how to produce one without writing R.
Most clinical journals expect one, and reviewers ask when it is missing. It is the row of counts beneath the survival curve showing how many participants remain under observation at each time point.
Why reviewers want it
A Kaplan-Meier curve looks equally confident along its whole length, but it is not. By the right-hand tail you may be estimating survival from a handful of people. The at-risk table is what stops a reader over-interpreting that tail. Curves that appear to separate dramatically at 60 months mean little if four participants remain in each arm.
What it contains
One row per group, aligned to the x-axis ticks, showing the number still at risk at each time point. At risk means still under observation and not yet having had the event, so the count falls through both events and censoring.
Place it directly beneath the plot, sharing the x-axis, with row labels matching your curve labels exactly.
Reading it alongside the curve
Find the point where counts drop into single figures. Everything to the right is unstable. Many authors truncate the x-axis there rather than showing a tail they cannot support.
Producing one
In R this means survminer or numKM. In Plotara it is a toggle on the survival plot: load your time, event and group columns and the table is generated with the curve, along with censoring marks, the 95% confidence band, median survival line and the log-rank test. The Python for the whole figure exports with it.
Ready to put this into practice?
Try Plotara free for 30 daysNo credit card required. Windows and Mac.