Схема сети соответствует диаграмме Санки - PullRequest
0 голосов
/ 14 февраля 2019

Есть ли способ, в Highcharts, создать диаграмму сети, в которой соединения имеют ширину, пропорциональную серии данных (например, диаграмму Санки?)

Приложение представляет собой визуализацию "потока трафика" (но между логическими точками, а не физическими, поэтому они накладываются на сетевую диаграмму, а не на карту.)

1 Ответ

0 голосов
/ 14 февраля 2019

Это не поддерживается по умолчанию, но вы можете легко получить желаемый результат, изменив метод getLinkAttribues:

H.seriesTypes.networkgraph.prototype.pointClass.prototype.getLinkAttribues = function() {
    var linkOptions = this.series.options.link,
        maxValue,
        pointOptions = this.options;

    if (!this.linkWidth) {
        this.series.points.forEach(function(p) {
            maxValue = maxValue ?
                Math.max(maxValue, p.options.value) :
                p.options.value;
        });

        this.series.points.forEach(function(p) {
            p.linkWidth = p.options.value * 10 / maxValue;
        });
    }

    return {
        'stroke-width': this.linkWidth || 1,
        stroke: pointOptions.color || linkOptions.color,
        dashstyle: pointOptions.dashStyle || linkOptions.dashStyle
    };
}

Демонстрационная версия: https://jsfiddle.net/BlackLabel/13zt8qds/

Документы: https://www.highcharts.com/docs/extending-highcharts

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...