d3-sankey-chart выравнивает ссылки по типу - PullRequest
0 голосов
/ 04 марта 2019

Я пытаюсь использовать превосходную библиотеку d3-sankey -gram Рика Луптона, чтобы нарисовать диаграмму Санки.На демонстрационной странице «alignLinkTypes» используется для выравнивания ссылок с одинаковыми типами по узлам, но с ноября 2017 года это ключевое слово больше не работает;https://github.com/ricklupton/d3-sankey-diagram/commits/master/src/sankeyLayout/link-ordering.js. Однако предполагается, что можно выполнить то же самое, используя порты.

Я пытался найти ответ в readme, wiki и исходном коде, но у меня нетЯ еще не нашел.

Может кто-нибудь сказать мне, как выровнять типы ссылок, как в демоверсии?

1 Ответ

0 голосов
/ 15 марта 2019

рад, что вы нашли библиотеку полезной!(Я автор)

К сожалению, как вы заметили, демонстрационная страница устарела. Вот пример использования нового API (с «портами», который является более гибким способом управления выравниванием) в ipysankeywidget :

function alignLinkTypes(layout, align) {
  return layout
    .sourceId(function(d) { return { id: typeof d.source === "object" ? d.source.id : d.source,
                                     port: align ? d.type : null }; })
    .targetId(function(d) { return { id: typeof d.target === "object" ? d.target.id : d.target,
                                     port: align ? d.type : null }; });
}

Еслиalign верно, это говорит макету о необходимости учитывать source и type ссылки при определении ее начальной и конечной точек (старое поведение alignLinkTypes);в противном случае рассматриваются только source и target.

...