В настоящее время, похоже, нет встроенного способа передачи дополнительных атрибутов для определения внешнего вида при наведении непосредственно через график (см. ошибка github #102). Однако в описании проблемы вы видите имя класса, используемого для текста при наведении, а именно .hovertext
. Самым простым решением было бы сохранить вас в виде HTML-файла и вручную добавить приведенный ниже CSS где-нибудь в <head>
части HTML. Если вы хотите изменить размер текста легенды, оставьте .legendtext
строки, если не сотрите их.
<style type="text/css">
.hovertext text {
font-size: 100px !important;
}
.legendtext {
font-size: 30px !important;
}
</style>
Если вы хотите внедрить CSS с помощью R, а не вручную, у вас есть несколько вариантов.
# the CSS we want to inject
css <- '
<style type="text/css">
.hovertext text {
font-size: 100px !important;
}
.legendtext {
font-size: 30px !important;
}
</style>'
library(plotly)
library(htmltools)
library(htmlwidgets)
1: изменить файл HTML после создания
x <- as.widget(p) # convert to htmlwidget object
saveWidget(x, file="test_edited_1.html") # and save to file
l <- readLines("test_edited_1.html") # read file
h <- paste(l, collapse= " ")
hh <- strsplit(h, "<head>")[[1]] # split where head appears
h.new <- paste(hh[1], css, hh[-1], collapse=" ") # insert CSS
writeLines(h.new, "test_edited_1.html") # write back to file
2: изменить объект, из которого создается файл HTML
x <- as.widget(p) # convert to htmlwidget object
# add a the code directly into <head> using `htmltools::htmlDependency`
x$dependencies <- list(
htmlDependency(
name = "custom",
version="1",
src="",
head=css)
)
saveWidget(x, file="test_edited_2.html")
Хотя второй работает, я не уверен, что это правильное использование htmlDependency
.
Результат
![введите описание изображения здесь](https://i.stack.imgur.com/50BR4.png)
person
Mark Heckmann
schedule
10.07.2016