Как экспортировать внутренние уровни древовидной диаграммы - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть древовидная диаграмма с одним уровнем вниз, и когда я спускаюсь к нему, я не могу экспортировать это представление: вместо этого он экспортирует верхний уровень ...

 Highcharts.chart('container', {                  
            credits: {
                enabled: false
            },              
            series: [{                 
                type: 'treemap',
                layoutAlgorithm: 'squarified',
                allowDrillToNode: true,
                animationLimit: 1000,
                dataLabels: {
                    enabled: false                      
                },
                levelIsConstant: false,
                levels: [{
                    level: 1,
                    dataLabels: {
                        enabled: true
                    },
                    borderWidth: 3
                }],
                data: points
            }],
            subtitle: {
                text: 'Subtitle'
            },
            title: {
                text: "Title"
            }
        });

пример скрипки: >>
http://jsfiddle.net/xpvt214o/773871/

enter image description here

Заранее спасибо за любую помощь!

1 Ответ

0 голосов
/ 12 сентября 2018

Это происходит потому, что вы используете старую версию Highcahrts.Если по какой-то причине вы не можете использовать новейшую версию, еще не все потеряно.Вставьте функцию wrap перед созданием диаграммы, а также создайте пустой объект exporting.chartOptions.chart.events в конфигурации диаграммы.Затем он будет вызывать функцию drillToNode для определенного идентификатора при каждом экспорте.

(function(H) {
    H.wrap(H.seriesTypes.treemap.prototype, 'drillToNode', function(proceed, id, redraw) {
    this.chart.options.exporting.chartOptions.chart.events.load = function() {
      this.series[0].drillToNode(id)
    }
    proceed.call(this, Array.prototype.slice.call(arguments, 1))
  })
  H.wrap(H.seriesTypes.treemap.prototype, 'drillUp', function(proceed) {
    this.chart.options.exporting.chartOptions.chart.events.load = function() {
      this.series[0].drillup()
    }
    proceed.call(this, Array.prototype.slice.call(arguments, 1))
  })
})(Highcharts)

Пример в реальном времени: http://jsfiddle.net/pwtdq8yf/

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