用途:流量分析
可以清楚看到数据是如何分流的
生物:
可以表示不同时间段菌群的变化、分布情况
可以表示不同基因之间/ 蛋白之间它的一个互作关系
可以展示不同时期、不同状态下一些患者的一个数量分布
线条:
一条线代表一条数据流; 线的**宽度**代表数据流的大小;
线条的走向判断连接他的**几个节点之间的相互关系**
节点:
选择一个节点,可以看到和这个节点有关的数据流的一些情况
plotly for R - 简书 (jianshu.com)
# 包含的trace: node (节点), link (连接)
# 指定参数add_trace(..., type="sankey")
# 节点node和连接link
library(plotly)
library(rjson)
json_file <- "<https://raw.githubusercontent.com/plotly/plotly.js/master/test/image/mocks/sankey_energy.json>"
json_data <- fromJSON(paste(readLines(json_file), collapse=""))
fig <- plot_ly(
type = "sankey",
domain = list(
x = c(0,1),
y = c(0,1)
),
orientation = "h",
valueformat = ".0f",
valuesuffix = "TWh",
node = list(
label = json_data$data[[1]]$node$label,
color = json_data$data[[1]]$node$color,
pad = 15,
thickness = 15,
line = list(
color = "black",
width = 0.5
)
),
link = list(
source = json_data$data[[1]]$link$source,
target = json_data$data[[1]]$link$target,
value = json_data$data[[1]]$link$value,
label = json_data$data[[1]]$link$label
)
)
fig <- fig %>% layout(
title = "Energy forecast for 2050<br>Source: Department of Energy & Climate Change, Tom Counsell via <a href='<https://bost.ocks.org/mike/sankey/>'>Mike Bostock</a>",
font = list(
size = 10
),
xaxis = list(showgrid = F, zeroline = F),
yaxis = list(showgrid = F, zeroline = F)
)
fig