#' Generates a waterfall figure based on the Z score table
#'
#' Takes in the Z score table and generates a waterfall plot using a ggplot.
#'
#' @param Ztable Z score table
#'
#' @return ggplot object
#'
#' @family plots
#'
#'
#' @export
#'
#' @examples
#' TRUE
krsa_zscores_plot <- function(Ztable) {
Ztable %>%
dplyr::filter(!Kinase %in% c("VRK2", "BARK1")) %>%
dplyr::mutate(
breaks = cut(
abs(AvgZ),
breaks = c(0, 1, 1.5, 2, Inf),
right = F,
labels = c("Z <= 1", "1 >= Z < 1.5", "1.5 >= Z < 2", "Z >= 2")
)
) %>%
ggplot2::ggplot() +
ggplot2::geom_line(ggplot2::aes(Z, stats::reorder(Kinase, AvgZ)), alpha = 1 / 3) +
ggplot2::geom_point(ggplot2::aes(Z, stats::reorder(Kinase, AvgZ)), color = "grey", size = 1) +
ggplot2::geom_point(ggplot2::aes(AvgZ, stats::reorder(Kinase, AvgZ), color = breaks), size = 2) +
ggplot2::geom_vline(xintercept = 0) +
ggplot2::geom_vline(xintercept = c(-1, -1.5, -2, 1, 1.5, 2), linetype = "dashed") +
ggplot2::scale_color_brewer(palette = "Reds", drop = F, guide = ggplot2::guide_legend(reverse = TRUE, title = "")) +
ggplot2::labs(
x = "Z",
y = "",
shape = "cutoff"
) +
ggplot2::theme(
plot.title = ggplot2::element_text(size = 7),
axis.text.y = ggplot2::element_text(size = 6)
) +
ggplot2::theme_bw()
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.