【发布时间】:2020-05-27 02:02:44
【问题描述】:
我有一个数据集,我正在尝试在 js.D3 中使用,但我正在苦苦挣扎。
数据集具有以下属性:
- 工作机会(国际)
- 城市(字符串)
- 日期(日期时间)
- 行业(字符串)
- 大学毕业生(布尔值)
我想按月汇总城市收到的所有工作机会,但由于某种原因,我遇到了一个错误。
首先我做了以下操作以确保我有干净的数据(即没有丢失记录等):
const cleanJobData = data.filter(d=> d.city !=="" && d.dateTime !=="" && d.jobOffer !== "" && d.jobOffer!== 0)
然后我尝试使用d3.rollup 按城市汇总工作机会:
const jobOffersByMonth = d3.rollup(cleanJobData,
fcm => d3.sum(fcm, d=> d.jobOffer),
d => d.dateTime.getMonth(), city => city.city);
现在,这给了我一张月份地图,其中包含按城市划分的相应工作机会总数。我现在想按每个城市的报价数量从大到小对其进行排序。如果我尝试使用d3.sort(),我会收到d3.sort 不是函数的错误。我在这里做错了什么?
我也尝试使用组函数const jobOffersByMonth = d3.group(cleanJobData, d => d.dateTime.getMonth(), v => v.city, fcm => d3.sum(fcm, v => v.jobOffers)),但收到错误:T is not iterable
【问题讨论】:
标签: javascript d3.js