R 中的 HighCharts 桑基图
HighCharts Sankey Diagram in R
我想使用 R 中的 highcharter 库创建桑基图。通常我只能查看绘图的 javascript 代码并将其翻译为 R,但对于桑基图我遇到了一些麻烦。我想从创建这样的东西开始: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)
我使用了函数 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")
我想使用 R 中的 highcharter 库创建桑基图。通常我只能查看绘图的 javascript 代码并将其翻译为 R,但对于桑基图我遇到了一些麻烦。我想从创建这样的东西开始: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)
我使用了函数 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")