2016-12-14 8 views
1

Я пытаюсь создать визуализацию данных с помощью библиотеки dc.js.Как создать одну группу с несколькими измерениями на dc.js

Но мои данные имеют несколько полей значений.

Так вот моя часть данных:

[{"_1000_1249":0,"_1250_1499":2},{"_1000_1249":1,"_1250_1499":2},{"_1000_1249":2,"_1250_1499":3}] 

Я хочу создать группу с ключами данных, как это (счетных сумма данных):

  • "_1000_1249": , (сумма "_1000_1249")
  • "_1250_1499": , (сумма "_1250_1499")

Так как я могу создать таблицу строк dc.js следующим образом?

Благодаря

+0

Я согласен с @ ответ Итана: если вы можете изменить, сделать это. Если вы действительно этого не знаете, есть http://stackoverflow.com/questions/24737277/dc-js-how-to-create-a-row-chart-from-multiple-columns и различные последующие действия. – Gordon

ответ

1

Я думаю, вы должны изменить свои данные так, чтобы она лучше подходит в парадигму Crossfilter. Следующие должны получить, что вы хотите:

var data = [{"_1000_1249":0,"_1250_1499":2},{"_1000_1249":1,"_1250_1499":2},{"_1000_1249":2,"_1250_1499":3}] 

var updatedData = [] 
for(var i=0; i < data.length; i++) { 
    for(key in data[i]) { 
    updatedData.push({ 
     key: key, 
     value: data[i][key] 
    }) 
    } 
} 

var cf = crossfilter(updatedData) 
var dimension = cf.dimension(function(d) { return d.key; }) 
var group = dimension.group().reduceSum(function(d) { return d.value; }) 

console.log(group.all()) 

Если вы хотите поэкспериментировать, это в JSFiddle здесь: https://jsfiddle.net/esjewett/1d853fwj/3/

+0

Хорошо, но у меня есть разные типы данных в моем наборе данных. Если есть только эти цифры, проблем нет, но есть разные типы данных. Эти данные не вызывают привыкания к другим подобным. Это может быть вопрос об обновлении – kodcu

+0

Попробуйте этот ответ с обновленными данными. Если у вас есть дополнительные свойства, он будет работать нормально. –

 Смежные вопросы

  • Нет связанных вопросов^_^