R: добавить заголовок к графику networkD3 и сохранить
Я заинтересован в добавлении заголовка к графику forceNetwork, созданному с помощью NetworkD3, и экспорту HTML с помощью magrittr.
На странице справки объекта тега R: HTML было найдено решение для добавления заголовка. Тогда я был направлен на добавление htmltool browsable()
параметры в "Изменение цвета фона графика networkD3" на вопрос Stackru - ответ от @timelyportfolio.
Ниже я привел минимальный рабочий пример для добавления заголовка, затем сохранения сети без заголовка и, наконец, моей неработающей попытки объединить оба.
library(networkD3)
library(htmltools)
# Load data
data(MisLinks)
data(MisNodes)
# Plot with title in R Viewer
browsable(
tagList(
tags$h1("Title"),
forceNetwork(Links = MisLinks, Nodes = MisNodes,
Source = "source", Target = "target",
Value = "value", NodeID = "name",
Group = "group", opacity = 0.8)
)
)
Пока я могу сохранить без названия используя magrittr %>%
:
library(magrittr)
# Plot and save to Mis.html
forceNetwork(Links = MisLinks, Nodes = MisNodes,
Source = "source", Target = "target",
Value = "value", NodeID = "name",
Group = "group", opacity = 0.8)%>%
saveNetwork(file = 'Mis.html')
У меня проблемы с объединением двух без получения следующей ошибки.
#Plot with title and save to title_Mis.html
browsable(
tagList(
tags$h1("Title"),
forceNetwork(Links = MisLinks, Nodes = MisNodes,
Source = "source", Target = "target",
Value = "value", NodeID = "name",
Group = "group", opacity = 0.8)
)
)%>%
saveNetwork(file = 'title_Mis.html')
Ошибка в system.file(config, package = package):
"пакет" должен иметь длину 1
Извиняюсь, если это простая отладка, но я не программист.
1 ответ
htmltools::tagList()
функция не возвращает htmlwidget
как forceNetwork()
функция делает, поэтому она не выводит действительный ввод для networkD3::saveNetwork()
функция. Попробуйте использовать htmlwidgets::prependContent()
добавить заголовок вот так...
library(networkD3)
library(magrittr)
library(htmlwidgets)
library(htmltools)
data(MisLinks)
data(MisNodes)
forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source",
Target = "target", Value = "value", NodeID = "name",
Group = "group", opacity = 0.8) %>%
htmlwidgets::prependContent(htmltools::tags$h1("Title")) %>%
saveNetwork(file = 'title_Mis.html')