#' plot_density_facet
#'
#' Plot a density plot based on a factor.
#'
#' @param df_ data frame or tibble
#' @param factor_ qualitative variable
#' @param value_var response variable
#' @param xlab xlab
#' @param ylab ylab
#' @param my_title title
#' @param lty_var lty variable to
#' @param alpha_ transparency
#' @param adjust_ smoothing parameter
#' @param facet_var_col factor variable for facetting
#' @param facet_var_row factor variable for facetting
#'
#' @return
#' @export
#'
#' @examples
#' plot_density_facet(pbmc_div_mut, "label_subtype", "mutations")
plot_density_facet <- function(df_, factor_, value_var, lty_var=NULL, facet_var_row=NULL, facet_var_col=NULL, adjust_=1, alpha_=0.5, xlab=NULL, ylab=NULL, my_title=NULL) {
my_theme <- igfuns::my_theme()
if (is.null(lty_var)) {
p <-
ggplot(df_, aes(x=!!sym(value_var), color=!!sym(factor_)))
} else {
p <-
ggplot(df_, aes(x=!!sym(value_var), lty=!!sym(lty_var), color=!!sym(factor_)))
}
p <-
p +
geom_density(alpha=alpha_, adjust=adjust_) +
my_theme
if (!is.null(facet_var_col) && !is.null(facet_var_row)) {
p <- p + facet_grid(cols = vars(!!sym(facet_var_col)),
rows = vars(!!sym(facet_var_row)))
} else if (!is.null(facet_var_col)) {
p <- p + facet_grid(cols = vars(!!sym(facet_var_col)))
} else if (!is.null(facet_var_row)) {
p <- p + facet_grid(rows = vars(!!sym(facet_var_row)))
}
if (!is.null(xlab))
p <- p + xlab(xlab)
if (!is.null(ylab))
p <- p + ylab(ylab)
if (!is.null(my_title))
p <- p + ggtitle(my_title)
p
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.