It can be useful to visually indicate the continuation of specific records in a swimmer plot. Optionally adding arrows to the tail ends of swimmer plot lanes in ggswim can help communicate subject survival status, such as whether or not a subject is still on a given study.
To facilitate the addition of arrows, we provide the
add_arrows()
function as a way to tack on these
continuation indicators to your swimmer plot lanes. Behind the scenes,
the inclusion of arrows is facilitated by a call to
ggplot2::geom_segment()
and creates a new ggplot2 layer
with a ggswim_arrows
flag. add_arrows()
sets
the segment length to 0, so that assigned arrows are always placed on
the right side of indicated subjects. add_arrows()
gives
users have full control over arrow neck and head length, along with
options for color, fill, and type (refer to ?add_arrows
for
detailed information).
Adding arrows using add_arrows()
To demonstrate how you might add arrows onto the
patient_data
dataset, let’s take a sample subset of
patient_data
that would help us make use of
add_arrows()
:
arrow_data |>
rmarkdown::paged_table()
This should look familiar, a pared-down dataset with a
status
column that we’ll use to flag which lanes of our
swimmer plot should have arrows. Now let’s use add_arrows()
in combination with ggswim()
to make a swimmer plot:
patient_data |>
ggswim(
mapping = aes(
x = start_time, xend = end_time, y = pt_id,
color = disease_assessment
),
linewidth = 5
) +
add_arrows(
data = arrow_data,
mapping = aes(xend = end_time, y = pt_id),
arrow = status,
arrow_neck_length = 5,
arrow_colour = "slateblue",
arrow_fill = "cyan"
)