You are here

function d3_views_plugin_style_d3::countMultiple in d3.js 7

Aggregation function for multidimensional arrays.

File

modules/d3_views/views/plugins/d3_views_plugin_style_d3.inc, line 253
Contains the d3 style plugin.

Class

d3_views_plugin_style_d3
Style plugin to render a d3 visualization

Code

function countMultiple($data, $field_name) {
  $counted = array();

  // Restructure to group by given $field_name.
  foreach ($data as $datum) {
    $counted[$datum[$field_name]][] = $datum;
  }

  // Loop through, count each subarray.
  foreach ($counted as $field_id => &$items) {
    $count = count($items);

    // Grab the first item of each subarray with original values.
    $items = reset($items);
    $items[$field_name] = $count;
  }
  return array_values($counted);
}