高图渲染泡沫系列

时间:2018-07-03 10:55:58

标签: javascript highcharts bubble-chart highcharts-boost

我的目标是在 HighCharts 气泡中渲染大量系列。

如果我尝试为此使用 boost 模块,则我的视频驱动程序存在一些问题。

我认为,该boost模块正在尝试使用GPU渲染每个系列数据,但这不适用于大量系列。

例如:

// Prepare the data
var data = [],
    n = 200,
    i;
var seriesArray = []
for(j=0; j<n; j+=1) {

  for (i = 0; i < n; i += 1) {
      data.push([
          Math.pow(Math.random(), 2) * 100,
          Math.pow(Math.random(), 2) * 100,
          Math.pow(Math.random(), 2) * 100
      ]);
  }
  var serie={
        type: 'bubble',
        boostBlending: 'alpha',
        color: 'rgb(152, 0, 67)',
        fillOpacity: 0.1,
        data: data,
        minSize: 1,
        maxSize: 10,
        tooltip: {
            followPointer: false,
            pointFormat: '[{point.x:.1f}, {point.y:.1f}]'
        }
    };
  seriesArray.push(serie);
}


if (!Highcharts.Series.prototype.renderCanvas) {
    throw 'Module not loaded';
}

console.time('bubble');
Highcharts.chart('container', {

    chart: {
        zoomType: 'xy'
    },

    xAxis: {
        gridLineWidth: 1,
        minPadding: 0,
        maxPadding: 0,
        startOnTick: false,
        endOnTick: false
    },

    yAxis: {
        minPadding: 0,
        maxPadding: 0,
        startOnTick: false,
        endOnTick: false
    },

    title: {
        text: 'Bubble chart with ' + Highcharts.numberFormat(data.length, 0, ' ') + ' points'
    },

    legend: {
        enabled: false
    },

    boost: {
        useGPUTranslations: true,
        usePreallocated: true
    },

    series: seriesArray

});
console.timeEnd('bubble');

0 个答案:

没有答案