Javascript 在地图上使用BubbleChart覆盖构建DC仪表板-更好的示例?

Javascript 在地图上使用BubbleChart覆盖构建DC仪表板-更好的示例?,javascript,d3.js,dc.js,crossfilter,Javascript,D3.js,Dc.js,Crossfilter,我正在开发一个类似于的可视化,由dc.js库示例主页链接到。该页面有一些不错的示例起始代码,但是我有一个关于在地图上绘制气泡图的特殊问题 在上面的示例中,作者似乎手动指定了显示加拿大省形状的路径。代码然后将bubbleOverlay图表分配给名为caChart的变量,该变量将包含在加拿大地图上特定坐标处绘制的气泡。然而,在代码的更深处,它看起来像是代码在网页上为每个要绘制的气泡手动指定(x,y)坐标,而不是以编程方式指定它们的位置(参见注释): 我在拉特长坐标上有时间戳数据,我想在类似的美国地图

我正在开发一个类似于的可视化,由dc.js库示例主页链接到。该页面有一些不错的示例起始代码,但是我有一个关于在地图上绘制气泡图的特殊问题

在上面的示例中,作者似乎手动指定了显示加拿大省形状的路径。代码然后将
bubbleOverlay
图表分配给名为
caChart
的变量,该变量将包含在加拿大地图上特定坐标处绘制的气泡。然而,在代码的更深处,它看起来像是代码在网页上为每个要绘制的气泡手动指定(x,y)坐标,而不是以编程方式指定它们的位置(参见注释):

我在拉特长坐标上有时间戳数据,我想在类似的美国地图上绘制。数据大致如下所示:

device_id, timestamp, lat, lon
1, 2014-7-21, 40.7127837, -74.00594130000002
2, 2014-7-22, 40.8516701, -93.2599318

有没有一种方法可以将这些坐标读入交叉过滤维度,并通过编程在类似的基础地图图像上绘制这些坐标,而无需手动指定它们?这里的任何帮助(包括指向工作示例的指针)都将不胜感激。

您可以完全绕过气泡覆盖,只需使用

mapChart
.on("renderlet", drawSomething)

在drawSomething方法中,您可以像我在这里概述的那样通过编程绘制气泡:

是的,气泡叠加图的开发程度尤其低。你有你想要使用的地图图像吗?如果有,你能计算出投影吗?如果没有,链接传单图表会起作用吗?@Gordon:传单图表会起作用。美国的基本形象借用了D3示例(),我相信是使用Albers US投影进行投影的。我考虑的另一个选择是用D3构建美国图表,并向该图表提供交叉过滤维度和组。然而,我不确定该怎么做。感谢阅读。因此,如果您直接使用该地图,它的投影是
d3.geo.albersua().scale(1280)。translate([width/2,height/2])
-最快的方法是将其应用于您的点。如果气泡叠加图支持投影,那就太好了,但我想它也可以用于非地图,所以也许这就是原因。至于传单解决方案,我启动了一个PR,从dc.playe.js分叉中提取一些气泡图代码。但我还没有测试过。
mapChart
.on("renderlet", drawSomething)