- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正致力于在 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, ncol = 3))
names(links) = c("source", "target", "value")
sankeyNetwork(Links = links, Nodes = nodes,
Source = "source", Target = "target",
Value = "value", NodeID = "name",
fontSize= 12, nodeWidth = 30)
我使用的数据集如下:
source<-c('EASTERN PARKWAY', 'CONEY ISLAND AVENUE', 'ATLANTIC AVENUE', 'ATLANTIC AVENUE','ATLANTIC AVENUE','ATLANTIC AVENUE',
'AVENUE P', 'BAY PARKWAY', 'BUFFALO AVENUE', 'FLATBUSH AVENUE', 'PROSPECT EXPRESSWAY', 'SAINT JOHNS PLACE',
'6 AVENUE', '65 STREET', '65 STREET', '65 STREET', 'ATLANTIC AVENUE', 'ATLANTIC AVENUE', 'ATLANTIC AVENUE', 'CONEY ISLAND AVENUE')
target<-c('BUFFALO AVENUE', 'AVENUE J', 'CLASSON AVENUE', 'EASTERN PARKWAY', 'HICKS STREET', 'LOGAN STREET',
'EAST 18 STREET', 'CROPSEY AVENUE', 'EASTERN PARKWAY', 'AVENUE V', 'CHURCH AVENUE', 'ROCHESTER AVENUE',
'ATLANTIC AVENUE', '17 AVENUE', '18 AVENUE', 'BAY PARKWAY', 'NEVINS STREET', 'UTICA AVENUE', 'VANDERBILT AVENUE', 'AVENUE P')
value<-c(8,5,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3)
df<-data.frame(source, target, value)
df
source target value
1 EASTERN PARKWAY BUFFALO AVENUE 8.00
2 CONEY ISLAND AVENUE AVENUE J 5.00
3 ATLANTIC AVENUE CLASSON AVENUE 4.00
4 ATLANTIC AVENUE EASTERN PARKWAY 4.00
5 ATLANTIC AVENUE HICKS STREET 4.00
6 ATLANTIC AVENUE LOGAN STREET 4.00
7 AVENUE P EAST 18 STREET 4.00
8 BAY PARKWAY CROPSEY AVENUE 4.00
9 BUFFALO AVENUE EASTERN PARKWAY 4.00
10 FLATBUSH AVENUE AVENUE V 4.00
11 PROSPECT EXPRESSWAY CHURCH AVENUE 4.00
12 SAINT JOHNS PLACE ROCHESTER AVENUE 4.00
13 6 AVENUE ATLANTIC AVENUE 3.00
14 65 STREET 17 AVENUE 3.00
15 65 STREET 18 AVENUE 3.00
16 65 STREET BAY PARKWAY 3.00
17 ATLANTIC AVENUE NEVINS STREET 3.00
18 ATLANTIC AVENUE UTICA AVENUE 3.00
19 ATLANTIC AVENUE VANDERBILT AVENUE 3.00
20 CONEY ISLAND AVENUE AVENUE P 3.00
有人知道如何用这些数据重现上面的桑基图吗?我似乎无法弄清楚节点是如何发挥作用的。任何帮助都会非常感谢!
最佳答案
Nodes
数据框定义了所有将被绘制的节点,NodeID
向量在 Nodes
数据框中包含标签将为每个节点显示。
links <- read.csv(text = "
source,target,value
EASTERN PARKWAY,BUFFALO AVENUE,8.00
CONEY ISLAND AVENUE,AVENUE J,5.00
ATLANTIC AVENUE,CLASSON AVENUE,4.00
ATLANTIC AVENUE,EASTERN PARKWAY,4.00
ATLANTIC AVENUE,HICKS STREET,4.00
ATLANTIC AVENUE,LOGAN STREET,4.00
AVENUE P,EAST 18 STREET,4.00
BAY PARKWAY,CROPSEY AVENUE,4.00
BUFFALO AVENUE,EASTERN PARKWAY,4.00
FLATBUSH AVENUE,AVENUE V,4.00
PROSPECT EXPRESSWAY,CHURCH AVENUE,4.00
SAINT JOHNS PLACE,ROCHESTER AVENUE,4.00
6 AVENUE,ATLANTIC AVENUE,3.00
65 STREET,17 AVENUE,3.00
65 STREET,18 AVENUE,3.00
65 STREET,BAY PARKWAY,3.00
ATLANTIC AVENUE,NEVINS STREET,3.00
ATLANTIC AVENUE,UTICA AVENUE,3.00
ATLANTIC AVENUE,VANDERBILT AVENUE,3.00
CONEY ISLAND AVENUE,AVENUE P,3.00
")
# build a nodes data frame using all unique names of nodes found in your links
# source *and* target vectors
nodes <- data.frame(name = unique(c(as.character(links$source), as.character(links$target))))
# set the source and target values in your links data frame to the index of the
# node that they refer to in the nodes data frame (0-indexed becauuse it's
# used by JavaScript)
links$source <- match(links$source, nodes$name) - 1
links$target <- match(links$target, nodes$name) - 1
# plot it
library(networkD3)
sankeyNetwork(Links = links, Nodes = nodes, Source = "source",
Target = "target", Value = "value", NodeID = "name")
关于r - R 中的桑基图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51538812/
下面的迷人图表位于《经济学人》2016 年 1 月 30 日第 61 页。它描绘了从五个地区到六个地区的液化天然气 (LNG) 导出情况。 R 怎么能画出与之相似的东西,也许有几个桑基图(来自包 ri
使用 D3 Sankey 插件,我使用新值更新 Sankey 图(更改数据、为节点和链接传递新值 - 保持所有值一致)。是否有类似 d3.treemap 的 sticky 的功能维护页面上的节点和链接
如何使系列颜色与数据颜色相同? 在示例中,“不平衡”数据为红色,但该系列为蓝色。 Highcharts.chart('container', { title: { text:
我想使用 R 中的 highcharter 库创建桑基图。通常我只能查看该图的 javascript 代码并将其翻译为 R,但对于桑基图我遇到了一些麻烦。我想首先创建这样的东西:http://jsfi
我正在尝试使用 plotly 在桑基图中表示大量数据。问题是我的数据有周期并且它们不受 plotly 的支持。所以我试图正确地删除它们:我想找到这些循环并根据它们的值将它们之间的差异保留在 Sanke
我正在使用 networkD3 库在 Shiny 中创建一个 Sankey 图。我需要更改一个节点的位置(将其旋转 90d 并向下移动)。为此,我在下面的小示例中使用了 js。但是,更改节点后我需要更
所以我在玩 d3.js Sankey 图。 在 this example (如上图所示)颜色使用定义 var color = d3.scale.category20(); 每个节点都有一个矩形,该矩形
我想通过文件获取 csv 数据到下面的桑基图中: 我使用 https://developers.google.com/chart/interactive/docs/gallery/sankey 中的代
我有这里的代码https://gist.github.com/d3noob/013054e8d7807dff76247b81b0e29030使用普通 javascript 工作,但我很难在使用 Typ
我试图在桑基图的顶部或底部设置节点(按名称)的位置。例如,如果我有一个名为“New”的节点和另一个名为“Dropped”的节点,并且我希望始终将 New 节点保留在图表的顶部,并将 Dropped 节
我正在尝试按照 d3Network 的 R 端口示例来创建详细说明的桑基图(如下所述: https://christophergandrud.github.io/networkD3/ )。我加载以下示
我是一名优秀的程序员,十分优秀!