Сгруппированная гистограмма с отображением кросс-таблицы между группами - PullRequest
1 голос
/ 21 апреля 2019

Я пытаюсь сделать гистограмму группы, которая показывает частоту двух групповых комбинаций.Я ссылался на этот сайт для ссылки на функции свертки и размещения: http://bl.ocks.org/phoebebright/raw/3176159/

Я пытаюсь использовать свой собственный набор данных для создания следующего эффекта: https://bl.ocks.org/bricedev/0d95074b6d83a77dc3ad

Моя текущая попытка с моимсобственные данные drug1.csv: https://blockbuilder.org/lydiawawa/9efb5df76c08640316efbef702437db7

В консоли сгруппированные подсчеты, похоже, не генерируют правильные распределения.Что-то не так с моим накоплением и гнездом

  const nestedData = d3.nest()
    .key(function(d){return d.s_category})
    .key(function(d){return d.drug_cat})
    .rollup(function(leaves) { return leaves.length; })
    .entries(data);

Ниже приводится желаемое количество перекрестных таблиц распределения s_category x drug_cat:

      1   2   3   4   5   6
  2 367  35   8   1   1   1
  3 223  24   4   4   2   2
  4  29   5   9   1   2   3
  5  37   1   3   3   2  26

Статическая диаграмма: enter image description here

На анимированной гистограмме, которую я пытался создать, счетчик перекрестных таблиц должен быть осью y, drug_c - осью x, а s_category определяет группы гистограммы.Спасибо за любую помощь!

1 Ответ

1 голос
/ 22 апреля 2019

В тот момент, когда вы используете генератор гнезд, у вас больше нет drug_cat и count в качестве свойств: у вас есть key и values (или value для внутренних массивов).

Вот ваш строитель блоков, изменяющий названия этих свойств: https://blockbuilder.org/GerardoFurtado/f4c825a5f8c92e87cc5a81591ba1f7c9

...