visualn-8.x-1.x-dev/modules/visualn_basic_drawers/js/drawers/linechart-basic.js

modules/visualn_basic_drawers/js/drawers/linechart-basic.js
(function ($, Drupal, c3) {
  Drupal.visualnData.drawers.visualnLinechartBasicDrawer = function(drawings, vuid) {
    var drawing = drawings[vuid];
    var html_selector = drawing.html_selector;
    //$('.' + html_selector).append('<div width="960" height="500">');
    var data = drawing.resource.data;
    var linechart_selector = '.' + html_selector;

    // @todo: check if data exists for all series
    //   if not, use blank values or just do not show the series
    var series_number = drawing.drawer.config.series_number;
    var series_labels = drawing.drawer.config.series_labels;

    // add labels for the first value of each column
    var columns = { x: ['x'] };
    var i;
    for (i = 1; i <= series_number; i++) {
      columns['data' + i] = [series_labels[i]];
    }

    // add data for each column
    data.forEach(function(row){
      columns.x.push(row['x']);
      for (i = 1; i <= series_number; i++) {
        columns['data' + i].push(row['data'+i]);
      }
    });

    // convert data columns object into array
    var data_columns = [columns.x];
    for (i = 1; i <= series_number; i++) {
      data_columns.push(columns['data'+i]);
    }

    // @see https://c3js.org/samples/simple_xy.html
    var chart = c3.generate({
      bindto: linechart_selector,
      data: {
        x: 'x',
        columns: data_columns
/*
        columns: [
          ['x', 30, 50, 100, 230, 300, 310],
          ['data1', 30, 200, 100, 400, 150, 250],
          ['data2', 130, 300, 200, 300, 250, 450]
        ]
*/
      }
    });
  };

})(jQuery, Drupal, c3);

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc