Javascript 如何在D3地图中创建时间数据

Javascript 如何在D3地图中创建时间数据,javascript,json,d3.js,time-series,geojson,Javascript,Json,D3.js,Time Series,Geojson,我有一个时间序列数据集,我想把它放在地图上——它是各国事件的不规则时间序列,按日期和国家索引。我已经用D3做了一些简单的事情,但我不确定如何组织这里的数据,即使是在概念上。我查过了 对于地图制作,我很乐意生成.json地图本身: wget "http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/50m/cultural/ne_50m_admin_0_countries.zip" unzip ne_

我有一个时间序列数据集,我想把它放在地图上——它是各国事件的不规则时间序列,按日期和国家索引。我已经用D3做了一些简单的事情,但我不确定如何组织这里的数据,即使是在概念上。我查过了

对于地图制作,我很乐意生成.json地图本身:

wget "http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/50m/cultural/ne_50m_admin_0_countries.zip"
unzip ne_50m_admin_0_countries.zip
ogr2ogr -f "GeoJSON" output_features.json ne_50m_admin_0_countries.shp -select iso_a3
topojson -o topo.json output_features.json --id-property iso_a3
然而,当我的数据看起来像这样时

incidents.csv
date, iso3, eventtype
2001-05-21, ABW, a
2002-01-01, ABW, a
2005-07-31, ABW, b
2003-02-21, AFG, b
2008-02-21, AFG, c
2000-03-09, AGO, a
2010-06-11, AGO, c
我甚至不知道如何把这个“附加”到地图上——时间是一个完全不同的维度。每个国家形状是否都附加了一个时间向量,其中也包含一个“事件类型”?所有的事件类型?怎么做

一方面,我可以看到提前聚合某些东西的效用,达到

ABW, a, 2 
ABW, b, 1
ABW, c, 0
AFG, a, 0
AFG, b, 1
AFG, c, 1
AGO, a, 1
AGO, b, 0
AGO, c, 1
…以某种方式连接这个,可能会产生一个很好的合唱

但我真的很想保留时间部分。理想情况下,我希望在地图的底部有两个滑块,我可以使用它们只显示在给定开始日期和结束日期之间发生的事件类型的聚合

我擅长python和时间序列数据,但我认识到我在D3方面有点超出了我的能力——我应该如何开始,以及在D3中附加和处理topojson中的分类的、不规则的时间序列数据的首选方法是什么?我该如何解决这个问题


(我还有一个关于gis stackexchange的工作流程,它不那么复杂。)

我想我会为其他任何看这个问题的人提供一个临时答案:


地图上的时间真的很难,而且有点不通用。您将在正确的界面设计上花费大量时间。

听起来您需要使用两个不同的文件。一个用于地理,一个用于数据。也就是说,您所有的地图数据都来自一个文件,其中每个国家的ID将它们链接到第二个文件中指定的事件(带有时间等)。我没有亲自使用它,但您是否查看过(也是通过@mbostock)来显示您的时间序列数据?我只是在书中读到过,是的,很酷,但用例稍有不同,这不会是流式的。我只想能够调整基于时间滑块的choropleth的计数。