r语言 - visNetwork/visLegend 颜色不匹配



我在这样的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)

绘制图例和图形时,类别是正确的,但是图例颜色与图表上的颜色不同。我尝试将特定的调色板分配给具有相同结果的节点和边缘。

visLegend中的两个可能性:

1-使用组定义,(默认)。在这种情况下,必须使用visGroups而不是直接在节点数据中设置所有组参数。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)

最新更新