Шрифт R ggvis и параметры интерактивного текста в scatter plot (hover)
Я хотел бы знать, есть ли способ изменить характеристики текста, показанного на "hover"
, используя ggvis
.
Я создал точечную диаграмму на основе шаблона, найденного в интернете и измененного для моих нужд.
Сценарий следующий:
library(shiny)
library(ggvis)
mydata <- data
mydata$id <- 1:nrow(mydata) # Add an id column to use ask the key
all_values <- function(x) {
if(is.null(x)) return(NULL)
row <- mydata[mydata$id == x$id, ]
paste0(
names(row), ": ", format(row), collapse = "n"
)
}
# factor Location
mydata %>% ggvis(~a, ~b, key := ~id) %>%
layer_points(fill = ~factor(Location)) %>%
scale_numeric("x", trans = "log", expand=0) %>%
scale_numeric("y", trans = "log", expand=0) %>%
add_axis("x", title = "blabla1") %>%
add_axis("y", title = "blabla2") %>%
add_tooltip(all_values, "hover")
Что я хотел бы знать, это в основном, как форматировать текст, отображаемый в интерактивном режиме на диаграмме рассеяния.
В основном я хотел бы:
- переходим на новую строку после каждого показанного параметра (команда
"n"
вcollapse
иpaste0
, кажется, не работает) - Как поставить жирный шрифт, например
names(row)
1 ответ:
Вы должны использовать соответствующие HTML-теги в
paste0()
:
- для новой строки:
collapse = "<br />"
- для жирного шрифта:
"<b>", names(row), "</b>:"
Так как вы не предоставили воспроизводимый пример, вот один с
mtcars
:mtc <- mtcars mtc$id <- 1:nrow(mtc) # Add an id column to use ask the key all_values <- function(x) { if(is.null(x)) return(NULL) row <- mtc[mtc$id == x$id, ] paste0("<b>", names(row), "</b>:", format(row), collapse = "<br />") } mtc %>% ggvis(x = ~wt, y = ~mpg, key := ~id) %>% layer_points() %>% add_tooltip(all_values, "hover")