Как построить организационную диаграмму с высоким чартером - PullRequest
1 голос
/ 24 октября 2019

Я хочу построить организационную диаграмму с помощью highcharter (или, при желании, с другой библиотекой построения R highchart). Я знаю, что уже есть некоторые вопросы по этой теме, но они кажутся устаревшими, так как highchart теперь предлагает возможность организационная структура .

Редактировать: Из-за ответов raf18seb (большое спасибо за ваши идеи) я попытался скачать версию github и запустить некоторый код, который отражает логику sankey. Тем не менее, сюжет не отображается:

devtools::install_github("jbkunst/highcharter")
library(highcharter)

highchart() %>%
  hc_chart(type = 'organization') %>%
  hc_add_series(
    data = list(
      list(from = 'Brazil', to = 'Portugal'),
      list(from = 'Brazil', to = 'Spain'),
      list(from = 'Poland', to = 'England'))
  )

Ответы [ 2 ]

1 голос
/ 24 октября 2019

Организационная серия была добавлена ​​в Highcharts с версии 7.1.0, но Highcharter использует v7.0.1.

После обновления Highcharter вы сможете использовать схему организации с использованием следующего синтаксиса:

Организационные серии наследуются от Санки.

И этот код R работает для Санки:

library(highcharter)

highchart() %>%
  hc_chart(type = 'sankey') %>%
  hc_add_series(
    data = list(
      list(from = 'Brazil', to = 'Portugal', weight = 5),
      list(from = 'Brazil', to = 'Spain', weight = 2),
      list(from = 'Poland', to = 'England', weight = 2))
  )

Так что все, что вам нужно сделать, это изменить тип: 'sankey ' до тип:' организация '.

Проверено здесь в JS: https://jsfiddle.net/BlackLabel/q8x06jga

Конечно, вам не нужен вес значение.

0 голосов
/ 27 октября 2019

Благодаря запросу от @ raf18seb, в настоящее время мы можем построить организационную диаграмму следующим образом:

devtools::install_github("jbkunst/highcharter", ref = "720")
library(highcharter)

highchart() %>%
  hc_chart(type = 'organization') %>%
  hc_add_series(
    data = list(
      list(from = 'Brazil', to = 'Portugal'),
      list(from = 'Brazil', to = 'Spain'),
      list(from = 'Poland', to = 'England'))
  )
...