【问题标题】:R - networkD3 - forceNetwork - node shapeR - networkD3 - forceNetwork - 节点形状
【发布时间】:2018-07-14 06:13:03
【问题描述】:

有没有办法根据nodeList中的一列来改变节点形状,这样我们就可以根据行值而不是默认的圆来得到不同的节点形状[rect, sqr, tri]。

文档中的 MWE:

library(networkD3)
# Load data
data(MisLinks)
data(MisNodes)

# Plot
forceNetwork(Links = MisLinks, Nodes = MisNodes, Source = "source",
            Target = "target", Value = "value", NodeID = "name",
            Group = "group", opacity = 0.4,
            colourScale = JS("d3.scaleOrdinal(d3.schemeCategory20);"))

【问题讨论】:

  • 目前,没有。它会与交互功能相冲突。我有一个离线工作的开发版本,允许您选择任何标准的 svg 形状,但还没有时间完善它以发布版本。
  • 谢谢。期待它。我希望我能说让我知道是否可以提供帮助。 :D
  • networkD3 是开源的,在这里很容易参与:github.com/christophergandrud/networkD3

标签: r shiny networkd3


【解决方案1】:

可以使用visNetwork 包定义节点形状:

library(visNetwork)
data(MisLinks, package="networkD3")
names(MisLinks) <- c("from","to","value")

data(MisNodes, package="networkD3")
MisNodes$id <- 0:(nrow(MisNodes)-1)

# Set of available node shapes 
shapes <- c("square", "triangle", "box", "circle", "dot", "star",
            "ellipse", "database", "text", "diamond")
# Define a column of node shapes
set.seed(1)
MisNodes$shape <- sample(shapes, nrow(MisNodes), replace=T)

visNetwork(nodes=MisNodes, edges=MisLinks)

【讨论】:

  • 我知道visNetwork。我闪亮的应用程序对所有网络都使用networkD3。我要求保持一致性
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-11
  • 1970-01-01
  • 2017-01-11
  • 1970-01-01
  • 1970-01-01
  • 2022-08-15
  • 2016-05-18
相关资源
最近更新 更多