Considera el siguiente conjunto de datos que contiene dos variables que representan los valores y su evento, fecha o grupo correspondiente.
# install.packages("ggalluvial")
library(ggalluvial)
grupo <- LETTERS[1:6]
valor <- c(2000, 4000, 2000,
-1500, -1000, -2500)
df <- data.frame(x = grupo, y = valor)
Para crear un gráfico de cascada en ggplot2 usando el paquete waterfalls puedes pasar tu dataframe con grupos y valores o pasar los vectores a los argumentos values y labels de la función waterfall.
# install.packages("waterfalls")
library(waterfalls)
waterfall(df)
# Equivalente a:
waterfall(values = valor, labels = grupo)

Calcular el total
Estableciendo el argumento calc_total como TRUE se calculará el restulado final y se agregará un rectángulo al gráfico que contiene el resultado. Puedes cambiar el nombre del rectángulo en el eje con el argumento total_axis_text.
# install.packages("waterfalls")
library(waterfalls)
waterfall(df, calc_total = TRUE)

Grosor de los rectángulos
Ten en cuenta que el argumento rect_width controla el ancho de los rectángulos. El valor por defecto es 0.7.
# install.packages("waterfalls")
library(waterfalls)
waterfall(df, rect_width = 0.4)

Eliminar las líneas entre los rectángulos
Entre sucesivos rectángulos se muestran líneas punteadas uniendo dichos rectángulos. Puedes eliminarlas estableciendo draw_lines como FALSE.
# install.packages("waterfalls")
library(waterfalls)
waterfall(df, draw_lines = FALSE)

Tipos de líneas
Si quieres manter las líneas entre los rectángulos pero prefieres cambiar el tipo de línea puedes hacerlo con el argumento linetype.
# install.packages("waterfalls")
library(waterfalls)
waterfall(df, linetype = 1)


Colorear los rectángulos con colores personalizados
Por defecto fill_by_sign = TRUE, de modo que los valores positivos y negativos se colorearán cada uno con el mismo color. Si estableces el argumento como FALSE puedes usar los colores que quieras en cada rectángulo pasándolos al argumento fill_colours.
# install.packages("waterfalls")
library(waterfalls)
waterfall(df,
fill_by_sign = FALSE,
fill_colours = 2:7)

Colores del rectángulo del total
Si agregaste el total con calc_total = TRUE puedes cambiar el color del rectángulo con total_rect_color y el color de su texto con total_rect_text_color.
# install.packages("waterfalls")
library(waterfalls)
waterfall(df, calc_total = TRUE,
total_rect_color = "orange",
total_rect_text_color = "white")

Color del borde
Ten en cuenta que también puedes cambiar el color del borde de los rectángulos. Si los estableces como NA no se dibujarán los bordes, tal y como se muestra en el ejemplo siguiente.
# install.packages("waterfalls")
library(waterfalls)
waterfall(df, rect_border = NA)

Cambiar el tema
Por último, como la librería se basa en ggplot2 puedes agregar más capas a la función, como un título, un subtítulo o cambiar el tema, como se muestra a continuación, además de otras personalizaciones.
# install.packages("waterfalls")
library(waterfalls)
# install.packages("ggplot2)
library(ggplot2)
waterfall(df) +
theme_minimal()
También te puede interesar