У меня есть следующие данныеСравните элемент данных с частичной среднем в d3
[{"devcount" : 1 , "dayofweek" :0, "hour" : 1 },
{"devcount" : 2 , "dayofweek" :0, "hour" : 2 },
{"devcount" : 3 , "dayofweek" :1, "hour" : 2 },
{"devcount" : 4 , "dayofweek" :1, "hour" : 3 },
{"devcount" : 6 , "dayofweek" :1, "hour" : 4 },
{"devcount" : 5 , "dayofweek" :1, "hour" : 5 },
{"devcount" : 7 , "dayofweek" :2, "hour" : 5 },
{"devcount" : 8 , "dayofweek" :2, "hour" : 6 },
{"devcount" : 9 , "dayofweek" :2, "hour" : 7 },
{"devcount" : 10 , "dayofweek" :2, "hour" : 9 }]
Требуется сравнить devcount
со средней групповой devcount
для каждого dayofweek
. т. Е. Для первой строки, devcoun
t = 1 следует сравнить со средним числом устройств для dayofweek
-0 (= 1,5) и «да» для возврата, если devcount
меньше. Остальное «Нет» должно быть возвращено.
Я закодировал, как показано ниже.
smry=d3.nest()
.key(function(d) { return d.dayofweek;})
.rollup(function(d) {return d3.mean(d, function(g) {return g.devcount; })})
.entries(result);
Я не уверен, как сравнить данные smry и исходные данные. Исходные данные будут использоваться в selectAll для создания прямоугольников и результатов после сравнения для определения цвета прямоугольника
Это хорошая идея, чтобы показать, что вы пытались так толст (с 'map',' 'filter', d3.mean' или что-нибудь еще). В противном случае, кажется, вы хотите, чтобы люди бесплатно писали код для вас. В таком случае я ухожу. –
Как подсказка, я предлагаю вам изучить d3.nest и d3.mean, которые вам помогут. – Cyril
Спасибо Херардо и Кирилл. Я не знаю, как это сделать. Я не эксперт в d3. Я попытался с d3.nest(), но не смог объединить результирующие данные с этими данными –