R中的HighCharts桑基图
Posted
技术标签:
【中文标题】R中的HighCharts桑基图【英文标题】:HighCharts Sankey Diagram in R 【发布时间】:2018-10-18 22:03:50 【问题描述】:我想使用 R 中的 highcharter 库创建一个 sankey 图。通常我只能查看该图的 javascript 代码并将其翻译为 R,但对于 sankey 图我遇到了一些麻烦.我想从创建这样的东西开始:http://jsfiddle.net/highcharts/z2rL672w/3/
到目前为止,这是我的尝试。我在放置“keys”参数时遇到了麻烦。
highchart() %>%
hc_chart(type='sankey') %>%
hc_add_series_list(
list(
keys=c('from', 'to', 'weight')
),
list(
data=list(
list(
from='AT',
to='DE',
weight=10
),
list(
from='DE',
to='CH',
weight=5
),
list(
from='DE',
to='FI',
weight=5
)
)
)
)
编辑:
我现在正在尝试以下操作。还是有点麻烦
library(highcharter)
library(tidyverse)
library(jsonlite)
dat <- data.frame(from=c('AT', 'DE', 'CH', 'DE'),
to=c('DE', 'CH', 'DE', 'FI'),
weight=c(10, 5, 15, 5)) %>%
toJSON()
highchart() %>%
hc_chart(type='sankey') %>%
hc_series(dat)
【问题讨论】:
如果您的点被定义为 JSON(例如from: 'AT' to: 'DE', weight: 10
),则不需要 keys
属性:jsfiddle.net/BlackLabel/28r99qbj keys
属性的实际用法在 API:api.highcharts.com/highcharts/series.sankey.keys
感谢您的回复!不过我还是有点麻烦。你能检查一下我上面的尝试吗?
我对 R 了解不多,所以我不知道你的代码到底发生了什么。以下是 Highcharts 中支持的数据格式列表:highcharts.com/docs/chart-concepts/series 也许会有所帮助。
【参考方案1】:
我使用了函数hc_add_series
(没有键)并且它工作了:
第一次尝试:
highchart() %>%
hc_chart(type = 'sankey') %>%
hc_add_series(
data = list(
list(from = 'AT', to = 'DE', weight = 10),
list(from = 'DE', to = 'CH', weight = 5),
list(from = 'DE', to = 'FI', weight = 5))
)
第二次尝试:
library(highcharter)
library(tidyverse)
library(jsonlite)
dat <- data.frame(from = c('AT', 'DE', 'CH', 'DE'),
to = c('DE', 'CH', 'DE', 'FI'),
weight = c(10, 5, 15, 5)) %>%
toJSON()
highchart() %>%
hc_chart(type = 'sankey') %>%
hc_add_series(data = dat)
希望能帮到你:)
编辑说明:
我使用的是highcharter的0.6.0开发版,安装请使用:devtools::install_github("jbkunst/highcharter")
【讨论】:
感谢您的回复!我没有收到任何错误,但也没有收到任何显示:(你使用的是什么版本的 highcharter? 我有 highcharter(0.6.0)。 我也对此感兴趣。你是怎么得到v0,6的?当前版本好像是 0.5 (CRAN.R-project.org/package=highcharter) 看起来这是一个开发功能。 @JoeBringley 尝试下载开发版。 哦,它是开发版本,您可以使用以下命令安装它:devtools::install_github("jbkunst/highcharter")以上是关于R中的HighCharts桑基图的主要内容,如果未能解决你的问题,请参考以下文章
一种ceRNA关系网络的新颖画法,R语言绘制冲击图(桑基图)教程