首页 > 解决方案 > 日期未定义

问题描述

我是 D3 的超级新手。我正在尝试使用“地图”来显示数据,但它一直说未定义。最后一个命令 data.map(r=> r.date) 不断显示未定义的数组。

d3 = 要求(“d3”)

数据 = d3.csv(“https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_US.csv”,d3.autoType)

date = data.columns.slice(-1)[0] // 选择任何负数

data.map(r=> r.date)

结果:数组(3340)[未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,未定义,...。

它应该显示每列中的数据。

如果我能在这里得到任何帮助,我将不胜感激。

标签: d3.js

解决方案


您的每个对象都没有日期,而是日期列表,如下所示:

{
  "UID": 16,
  //...
  "Combined_Key": "American Samoa, US",
  "1/22/20": 0,
  "1/23/20": 0,
  "1/24/20": 0,
  "1/25/20": 0,
  "1/26/20": 0,
  "1/27/20": 0,
  // ...
}

我们可以尝试使用访问器(这里使用 D3 v6):

d3.csv("https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_US.csv", d3.autoType).then(data => {
  console.log(data)
  const atDate = date => data.map(r => r[date])
  console.log(atDate("1/24/20"))
})

推荐阅读