цвета visNetwork/visLegend не совпадают

119
21

Я делаю сюжет в RStudio следующим образом:

library(visNetwork)
palette("default")
nodes<-data.frame(id=rep(1:10, 1), group=rep(1:5,2), color=rep(c("red","green", "blue", "black", "cyan"), 2))
nodes$label <- nodes$id
edges <- data.frame(from=round(runif(10)*10, 0), to=round(runif(10)*10, 0), arrows="to")
graphPlot <- visNetwork(nodes, edges, main = "System Dependency Diagram")
visLegend(graphPlot, stepY=25)

Когда нарисованы легенда и график, категории верны, но цвета легенд отличаются от цветов на графике. Я попытался назначить определенную палитру узлам и ребрам с тем же результатом.

спросил(а) 2021-01-25T19:24:51+03:00 4 месяца, 4 недели назад
1
Решение
64

Две возможности в visLegend:

1 - определение групп использования (по умолчанию). В этом случае все параметры групп должны быть установлены с использованием visGroups а не непосредственно в узлах data.frame

library(visNetwork)
palette("default")
nodes<-data.frame(id=rep(1:10, 1), group=rep(1:5,2))
nodes$label <- nodes$id
edges <- data.frame(from=round(runif(10)*10, 0), to=round(runif(10)*10, 0), arrows="to")
graphPlot <- visNetwork(nodes, edges, main = "System Dependency Diagram") %>%
visGroups(groupname = "1", color = "red") %>%
visGroups(groupname = "2", color = "green") %>%
visGroups(groupname = "3", color = "blue") %>%
visGroups(groupname = "4", color = "black") %>%
visGroups(groupname = "5", color = "cyan") %>%
visLegend(stepY=25)
graphPlot

1 - Определить пользовательскую легенду

library(visNetwork)
palette("default")
nodes<-data.frame(id=rep(1:10, 1), group=rep(1:5,2), color=rep(c("red","green", "blue", "black", "cyan"), 2))
nodes$label <- nodes$id
edges <- data.frame(from=round(runif(10)*10, 0), to=round(runif(10)*10, 0), arrows="to")

lnodes <- data.frame(id = 1:5, label = c(1:5), color = c("red","green", "blue", "black", "cyan"))

visNetwork(nodes, edges, main = "System Dependency Diagram") %>%
visLegend(useGroups = FALSE, addNodes = lnodes, stepY=25)

ответил(а) 2021-01-25T19:24:51+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема