标签: networkd3

如何用networkD3在R中绘制有向图?

当我使用NetworkD3绘制有向图时,边缘不是定向的,我该如何修复它?一个例子 :

library(networkD3)
data(MisLinks)
data(MisNodes)
forceNetwork(Links = MisLinks, Nodes = MisNodes,
         Source = "source", Target = "target",
         Value = "value", NodeID = "name",
         Group = "group", opacity = 0.8)
Run Code Online (Sandbox Code Playgroud)

我希望结果被定向这是有向图的定义:

"有向图是图形,即连接在一起的一组对象(称为顶点或节点),其中所有边缘都从一个顶点指向另一个顶点.有向图有时被称为有向图或有向网络.

我希望边缘像箭一样,我怎么能在networkD3中做到这一点,我希望它很清楚.

谢谢.

r directed-graph d3.js networkd3 htmlwidgets

2
推荐指数
1
解决办法
1621
查看次数

R中的桑基图

我正在用 R 制作桑基图,但对节点名称背后的含义有疑问。

下面是我在网上找到的一个例子:

library(networkD3)
nodes = data.frame("name" = 
                     c("Node A", # Node 0
                      "Node B", # Node 1
                      "Node C", # Node 2
                      "Node D"))# Node 3
links = as.data.frame(matrix(c(
  0, 1, 10, # Each row represents a link. The first number
  0, 2, 20, # represents the node being conntected from. 
  1, 3, 30, # the second number represents the node connected to.
  2, 3, 40),# The third number is the value of the node
  byrow = TRUE, …
Run Code Online (Sandbox Code Playgroud)

r nodes sankey-diagram networkd3 htmlwidgets

2
推荐指数
1
解决办法
1479
查看次数

使用clickAction = NULL将networkD3中的节点链接到网站

有没有办法使用节点为纽带,以使用功能的外部网站的方式forceNetwork()networkD3r?我在想也许修改clickAction

示例数据:

library(networkD3)
data(MisLinks)
data(MisNodes)

# Create a random URL in the nodes dataset
MisNodes$URL <- paste0("http://www.RANDOMLINK_", sample(1:100, NROW(MisNodes)), ".com")
head(MisNodes)

MyClickScript <- 'alert(d.index)'

forceNetwork(Links = MisLinks, Nodes = MisNodes,
             Source = "source", Target = "target",
             Value = "value", NodeID = "name",
             Group = "group", opacity = 0.8,
             clickAction = MyClickScript)
Run Code Online (Sandbox Code Playgroud)

期望的结果:当用户点击节点时,将打开一个新选项卡(例如window.open)指向该节点的关联URL - 我如何clickAction指向MisNodes$URL[d.index]

r networkd3 htmlwidgets

1
推荐指数
1
解决办法
1012
查看次数

带有R库networkD3的Sankey图不显示颜色

我正在使用Network的networkD3库来创建Sankey网络.虽然这对我来说非常好用,但我现在遇到了一个问题,即分配属性"NoteID"和/或"NoteGroup"来分组和分配颜色,如https://christophergandrud.github.io/networkD3/#sankey所示

以下代码显示了创建Sankey图的4个示例,只有"Sankey4"按设计工作,即没有颜色:

library(networkD3)
#Unique list of nodes
my_nodes = structure(list(name = c("HawaiTEST", "AMSVOASMPP01", "App1", 
                                   "Transfer", "Transferred_tel__63null_",
                                   "Transferred_tel__631100107_", 
                                   "AMSVOASMPP02",
                                   "Transferred_tel__631100108_",
                                   "Transferred_tel__631100106_", 
                                   "Transferred_tel__631100104_",
                                   "Transferred_tel__631100105_", 
                                   "FarEndDisconnect",
                                   "FarEndDisconnect_Hangup", "DutchAOS",
                                   "SwedenAOS", 
                                   "Transferred_tel__63000_")), class =
c("tbl_df", "tbl", "data.frame"
  ), row.names = c(NA, -16L), .Names = "name")

# Network
my_links = structure(list(key = c("0_1", "0_6", "1_13", "1_14", "1_2", "11_12", 
                                  "13_11", "13_3", "14_11", "14_3", "2_11",
                                  "2_3", "3_10", "3_15", 
                                  "3_4", "3_5", "3_7", "3_8", "3_9", "6_13",
                                  "6_2"), source = c(0L, 
                                  0L, 1L, 1L, 1L, 11L, 13L, 13L, 14L, …
Run Code Online (Sandbox Code Playgroud)

r sankey-diagram networkd3 htmlwidgets

1
推荐指数
1
解决办法
2742
查看次数

R networkD3更改节点IMG

我想将基本节点图像替换为 R 中 networkD3 包中的自定义 jpg。

下面是一个例子:

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.8)
Run Code Online (Sandbox Code Playgroud)

所以我想创建一个这样的节点: 在此处输入图片说明

取而代之的是:

在此处输入图片说明

是否可以?

r networkd3

1
推荐指数
1
解决办法
838
查看次数

sankeyNetwork r中的有序节点

我正在尝试使用networkD3库在R中构建sankey图。

我有以下数据

print(nodes1)

  name
1   as
2  sdf
3  wer
4   xc
5   sd
6   er

print(links)

   source target value
1       0      5   112
2       0      4   848
3       0      4   661
4       0      4    33
5       0      3   291
6       1      5    23
7       1      4   983
8       1      3   859
9       1      3    35
10      2      4   537
Run Code Online (Sandbox Code Playgroud)

因此,当我尝试使用以下代码创建sankeyNetwork时

sankeyNetwork(Links = links1, Nodes = nodes1,
 Source = "source", Target = "target",
 Value = "value", NodeID = "name",
 fontSize= …
Run Code Online (Sandbox Code Playgroud)

r sankey-diagram networkd3 htmlwidgets

1
推荐指数
1
解决办法
2319
查看次数

如何控制桑基图中的节点标签

我有一个在 R 中创建的 Sankey 图。它生成图,但节点名称放置在右侧节点的节点左侧。我希望所有的名字都在右边,这样真实的名字(更长)就不会相互重叠。

下面是一组完整的工作代码,它们将生成我目前正在使用的图表。

library(networkD3)

nodes <- data.frame('name' = 
c('Node0','Node1','Node2','Node3','Node4','Node5','Node6',                   
'Node7','Node8','Node9','Node10','Node11','Node12','Node13',
'Node14','Node15','Node16','Node17','Node18','Node19',
'Node20','Node21','Node22','Node23','Node24','Node25',
'Node26','Node27','Node28','Node29','Node30','Node31',
'Node32','Node33'))

links = as.data.frame(matrix(c(
  0, 3,140,
  0, 4,140,
  0, 5,140,
  0, 6,140,
  1, 3,140,
  1, 4,140,
  1, 5,140,
  1, 6,140,
  2, 3,140,
  2, 4,140,
  2, 5,140,
  2, 6,140,
  3, 7,130,
  3, 8,130,
  3, 9,50,
  3,10,50,
  3,11,50,
  4,12,140,
  4,13,100,
  4,14,100,
  4,15,80,
  5,16,150,
  5,17,150,
  5,18,60,
  5,19,60,
  6,20,180,
  6,21,80,
  6,22,80,
  6,23,80,
  7,24,13,
  7,33,13,
  7,31,104,
  8,24,13,
  8,33,13,
  8,26,52,
  8,27,52,
  9,24,10,
  9,33,10,
  9,29,30,
  9,30,30,
  10,24,10,
  10,33,10,
  10,29,30,
  10,30,30,
  11,24,10, …
Run Code Online (Sandbox Code Playgroud)

r d3.js sankey-diagram networkd3 htmlwidgets

0
推荐指数
1
解决办法
3630
查看次数

启用networkD3的sankeyNetwork图中节点的水平移动

我从Internet(链接)上找到了这张图片,我认为它是在R中绘制的。我试图重现此图,并使其与上面的链接中的图大致相似。我使用的代码如下:

    ID <- 0:24
    NodeGroup <- c(rep(1,8),2,5,rep(4,7),3,5,6,6,7,7,8,9)
    name <- c("29581k","5279k","4218k","1917k","1356k","Ventas diversas: 116","Venta diversa: 97","Venta de: 141","Venta totales: 42705","Contribucion marginal: 18183", "17531k","1744k","1326k","1208k","526k","459k","14k","IIBB: 1714","Costo: 22808","Gastos directos: 6734","Gastos distribudos: 2958","Resultado: 8851","Total Gastos: 9332","Imp. Gcias: 3098","Resultado Netto: 5.753")      

    nodes <- data.frame(ID, name, NodeGroup)
    nodes$NodeGroup <- as.character(nodes$NodeGroup)
    source <- c(0:7, rep(8,9), 10:16, rep(9,3), 19, 20, 21, 21)
    target <- c(rep(8,8), 17, 10:16, 9, rep(18,7), 19:21, rep(22, 2), 23, 24)
    value <- c(29581,5279,4218,1917,1356,116,97,141,1714,17531,1744,1326,1208,526,459,14,18138,17531,1744,1326,1208,526,459,14,6374,2958,8851,6374,2958,3098,5753)
    group <- c(1:8, rep(9,8), 10, rep(19,7), rep(18,3), rep(23,2), rep(22,2))
    links <- …
Run Code Online (Sandbox Code Playgroud)

r sankey-diagram networkd3 htmlwidgets

0
推荐指数
1
解决办法
279
查看次数