Можно ли включить рисунки ggplot2 с кликабельными метками в rmarkdown? - PullRequest
0 голосов
/ 07 июня 2019

Создание фигур в rmarkdown действительно мощно, но после того, как наткнулся на этот пост (https://stackoverflow.com/a/53487862/1960261), демонстрирующий, что ggplot2 может генерировать фигуры с интерактивными метками, которые можно открывать и просматривать в браузере, я хотел использовать эти графики в отчетах rmarkdown (pdf / html).

Я попытался экспортировать изображение как svg (https://stackoverflow.com/a/53487862/1960261), которое при открытии в браузере прекрасно работает со ссылками. Однако я не могу импортировать его снова или просто построить его таким образом, чтобы та же функциональность в rmarkdown.

# (Source of code https://stackoverflow.com/a/53487862/1960261)
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")

Я надеюсь, что кто-то знает способ включить эту функцию в отчеты rmarkdown.

...