Sankey: отображать метку вне sankey и обеспечивать функциональность перетаскивания - PullRequest
0 голосов
/ 05 ноября 2018

Мне нужно показать ярлык за пределами диаграммы Санки, но я изо всех сил пытаюсь показать снаружи. Я попытался использовать некоторые свойства, такие как обрезка, переполнение и выравнивание. Тем не менее, это не работает. Мне нужно отобразить метку вне графика как слева, так и справа.

Вот мой код

Highcharts.chart('container', {

    chart: {
        showAxes: true,
        marginLeft: 150,
    },
    title: {
        text: ''
    },
    xAxis: {
        visible: false,
    },
    yAxis: {
        visible: false
    },
    series: [{
        keys: ['from', 'to', 'weight'],
        data: [
            ['Cricket is the game', 'Sport Fest', 463 ],
            ['Football is the game', 'Sport Fest', 338 ],
            ['Basketball is the game', 'Sport Fest', 317],
            ['Baseball is the game', 'Sport Fest', 130 ],
        ],
        type: 'sankey',
    }],
     plotOptions: {
      sankey: {
        dataLabels: {
          enabled: true,
          useHTML: true,
          align: 'right',
          crop: false,
          overflow: "none",
        }
      }
    },
})

Вторая проблема, с которой я сталкиваюсь, заключается в том, что мне нужно предоставить функцию перетаскивания, но по какой-то причине я не понимаю, что перетаскивание не работает. Я взял ссылку из этой ссылки

Highcharts.chart('container', {

    chart: {
        showAxes: true,
        marginLeft: 150,
    },
    title: {
        text: ''
    },
    xAxis: {
        visible: false,
    },
    yAxis: {
        visible: false
    },
    series: [{
        keys: ['from', 'to', 'weight'],
        data: [
            ['Cricket is the game', 'Sport Fest', 463 ],
            ['Football is the game', 'Sport Fest', 338 ],
            ['Basketball is the game', 'Sport Fest', 317],
            ['Baseball is the game', 'Sport Fest', 130 ],
        ],
        dragDrop: {
                draggableX: true,
                draggableY: true,    
            },
        type: 'sankey',
    }],
     plotOptions: {
      sankey: {
        dataLabels: {
          enabled: true,
          useHTML: true,
          align: 'right',
          crop: false,
          overflow: "none",
        }
      }
    },
});

1 Ответ

0 голосов
/ 05 ноября 2018

Чтобы отобразить метку за пределами области графика, вы можете манипулировать метками align свойство:

    events: {
        load() {
            Highcharts.each(this.series[0].nodeColumns[0], function(el) {
                el.dataLabel.attr({
                    align: 'right'
                });
            });
        }
    }

Живая демоверсия: https://jsfiddle.net/BlackLabel/6nsxzhLg/

Функция перетаскивания не поддерживается с этими типами серий:

['gauge', 'pie', 'sunburst', 'wordcloud','sankey', 'histogram', 'pareto', 'vector', 'windbarb', 'treemap', 'bellcurve', 'sma', 'map', 'mapline']

...