Skip to contents
data <- structure(list(name = c("Van Gogh", "Degas", "Picasso", 
"Renoir", "Dürer", "Gauguin", "Goya", 
"Rembrandt", "Sisley", "Titian"), genre = c("Post-Impressionism", 
"Impressionism", "Cubism", "Impressionism", "Northern Renaissance", 
"Symbolism,Post-Impressionism", "Romanticism", "Baroque", "Impressionism", 
"High Renaissance,Mannerism"), paintings = c(877L, 702L, 439L, 
336L, 328L, 311L, 291L, 262L, 259L, 255L)), class = "data.frame", row.names = c(NA, 
-10L))

Funciones de artistas

Las funciones están pensadas para ofrecer una visualización rápida que no requiera escribir muchas líneas de código. Esto puede traer problemas como superposición de elementos o tamaños inadecuados en determinados gráficos. Tener en cuenta que se pueden sobreescribir algunas configuraciones sumando capas o funciones a continuación como si fuera un ggplot común.

load_all_fonts

Correr una vez por sesión

Antes de utilizar las funciones de style se recomienda ejecutar load_all_fonts() para cargar las fuentes que se utilizan, siempre y cuando no las tenga ya instaladas en su sistema, las cuales se agregan desde Google con sysfonts::font_add_google. En caso de querer usar una solo función de artista, se puede pasar el parámetro de artist para cargar específicamente las fuentes de ese artista.

load_all_fonts("da_vinci") #Cargo solo da_vinci
#> Fuentes cargadas: Playfair Display, Merriweather

Cada función de style_() posee parámetros para personalizar aún más el estilo del gráfico. Como mínimo debemos indicarle las variables de X e Y (excepto mapas). Tomemos como ejemplo la función de Da Vinci en versión columnas:

style_da_vinci(data, name, paintings)

work_inspired_by

Podemos seleccionar alguna variante inspirada en sus obras. En el caso de Da Vinci, las opciones de work_inspired_by son: mona_lisa (default), last_supper y vitruvian_man

style_da_vinci(data, name, paintings,  work_inspired_by = "last_supper")

style_da_vinci(data, name, paintings,  work_inspired_by = "vitruvian_man")

fill_var o color_var

Podemos utilizar alguna variable de mapeo para jugar con los colores de la paleta y diferenciar categorías:

style_da_vinci(data, name, paintings, fill_var = genre)

show_labels y labs

Agregar etiquetas sobre el eje Y:

style_da_vinci(data, name, paintings, show_labels = T,
               title = "Título", subtitle = "Subtítulo", caption = "Leyenda")

coord_flip

style_da_vinci(data, name, paintings, show_labels = T, coord_flip = T)

add_grid_lines y show_background

style_da_vinci(data, name, paintings, plot_type = "line",
               show_background = F, add_grid_lines = T)

Otros

Para aquellos artistas valientes que quieran retocar aún más el gráfico y desafiar los límites del arte, se pueden ajustar otros parámetros como add_glow, canvas y add_texture.

  • add_grid_lines incorpora las líneas de la grilla del gráfico.

  • show_background agrega color al panel del gráfico para mayor contraste.

  • add_texture aplica textura al geom simulando pinceladas o trazos. Para gráficos de columna hay tres opciones (1 al 3) y no funciona con fill_var. En el caso de gráficos de líneas o puntos cualquiera de las opciones (1 al 3) aplica el mismo efecto.

  • canvas ofrece la posibilidad de agregar un fondo estilo lienzo al panel del gráfico, lo cual no es compatible con el uso de add_grid_lines = T o show_background = T. Se puede optar por distintos lienzos (del 1 al 6).

  • add_glow agrega brillo a las geom principales.

  • add_margins agrega márgenes al gráfico en general (bordes y textos) para generar una salida más limpia y espaciada.

  • add_filter es aún muy experimental, puede demorar unos segundos en cargar. Aplica un filtro estilo pintura al gráfico entero, generando márgenes indeseados. Se sugiere aumentar el text_size para mejorar la visual de los textos.

style_da_vinci(data, name, paintings, 
               work_inspired_by = "last_supper", 
               canvas = 6, 
               add_glow = T)

style_da_vinci(data, name, paintings, 
               canvas = 5, 
               add_texture = 1)

style_da_vinci(data, name, paintings, 
               canvas = 5, 
               add_texture = 2,
               add_filter = T,
               text_size = 30)