manipulation ggtitle ggplot change r ggplot2

r - ggtitle - ggplot title size



Texto hipervinculado en una visualizaciĆ³n ggplot2 (2)

@ user20650 Aquí hay una solución ''gridSVG'':

library(tidyverse) links <- c(''https://en.wikipedia.org/wiki/Plymouth_Duster'', ''https://de.wikipedia.org/wiki/AMC_Hornet'', ''https://en.wikipedia.org/wiki/Mercedes-Benz_W123'', ''https://en.wikipedia.org/wiki/Plymouth_Valiant'') mtcars %>% rownames_to_column(''car'') %>% slice(5:8) %>% mutate( link = links ) %>% ggplot(aes(x = mpg, y = car)) + geom_point(size = 2) library(grid) ## Force ''grid'' grobs from ''ggplot2'' plot grid.force() ## List all grobs in plot grid.ls() ## Find the grobs representing the text labels on the axes tickLabels <- grid.grep("axis::text", grep=TRUE, global=TRUE) ## Check which one is the y-axis lapply(tickLabels, function(x) grid.get(x)$label) ## Add hyperlinks to the axis tick labels library(gridSVG) grid.hyperlink(tickLabels[[1]], href=links, group=FALSE) ## Export to SVG (and view in a browser) grid.export("linked-plot.svg")

Actualmente, si quiero mostrar los datos en una tabla en RI, se puede vincular el texto mediante markdown, html href o LaTeX href. A menudo, esto es bueno para dar acceso a más información sobre un elemento en particular sin saturar la tabla.

¿Cómo es posible dar los mismos tipos de texto con hipervínculos en una visualización realizada con ggplot2?

Así, por ejemplo, si hago esta trama:

Con el siguiente código, ¿cómo puedo hacer que el enlace del texto del eje a las páginas de wikipedia que corresponden?

library(tidyverse) mtcars %>% rownames_to_column(''car'') %>% slice(5:8) %>% mutate( link = c( ''https://de.wikipedia.org/wiki/AMC_Hornet'', ''https://en.wikipedia.org/wiki/Plymouth_Valiant'', ''https://en.wikipedia.org/wiki/Plymouth_Duster'', ''https://en.wikipedia.org/wiki/Mercedes-Benz_W123'' ) ) %>% ggplot(aes(x = mpg, y = car)) + geom_point(size = 2)


Aquí hay una opción que utilicé.

Tu ejemplo

library(tidyverse) library(xml2) df <- mtcars %>% rownames_to_column(''car'') %>% slice(5:8) %>% mutate( link = c( ''https://de.wikipedia.org/wiki/AMC_Hornet'', ''https://en.wikipedia.org/wiki/Plymouth_Valiant'', ''https://en.wikipedia.org/wiki/Plymouth_Duster'', ''https://en.wikipedia.org/wiki/Mercedes-Benz_W123'' ) ) p <- df %>% ggplot(aes(x = mpg, y = car)) + geom_point(size = 2)

Y entonces:

ggsave( tf1 <- tempfile(fileext = ".svg"), p) links <- with(df, setNames(link, car)) xml <- read_xml(tf1) xml %>% xml_find_all(xpath="//d1:text") %>% keep(xml_text(.) %in% names(links)) %>% xml_add_parent("a", "xlink:href" = links[xml_text(.)], target = "_blank") write_xml(xml, tf2 <- tempfile(fileext = ".svg"))

Si abres tf2 en tu navegador: