当我使用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 制作桑基图,但对节点名称背后的含义有疑问。
下面是我在网上找到的一个例子:
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) 有没有办法使用节点为纽带,以使用功能的外部网站的方式forceNetwork()在networkD3包r?我在想也许修改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]?
我正在使用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 中 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)
取而代之的是:
是否可以?
我正在尝试使用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 图。它生成图,但节点名称放置在右侧节点的节点左侧。我希望所有的名字都在右边,这样真实的名字(更长)就不会相互重叠。
下面是一组完整的工作代码,它们将生成我目前正在使用的图表。
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) 我从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)