Javascript d3.js中的艺术

Javascript d3.js中的艺术,javascript,d3.js,Javascript,D3.js,我正在寻找一些指导或示例,以说明如何在d3.js中进行地质艺术。 我需要一些类似谷歌图表的东西,并转向d3.js,因为我需要一些定制。到目前为止,我找到的最接近d3.js的示例是,但是那里的代码非常长,我希望找到更简单的东西。你在找choropleth地图吗?这是一个例子 此示例使用默认投影,这是美国(包括阿拉斯加、夏威夷和波多黎各)的合成投影。如果要更改可见区域,可能还需要更改投影;对于choropleth贴图很好,因为它的面积相等。albers投影允许您设置,以便您可以关注全局的特定部分,并

我正在寻找一些指导或示例,以说明如何在d3.js中进行地质艺术。
我需要一些类似谷歌图表的东西,并转向d3.js,因为我需要一些定制。到目前为止,我找到的最接近d3.js的示例是,但是那里的代码非常长,我希望找到更简单的东西。

你在找choropleth地图吗?这是一个例子

此示例使用默认投影,这是美国(包括阿拉斯加、夏威夷和波多黎各)的合成投影。如果要更改可见区域,可能还需要更改投影;对于choropleth贴图很好,因为它的面积相等。albers投影允许您设置,以便您可以关注全局的特定部分,并且所有投影允许您在屏幕上指定和定位地图

如果你想展示一张世界地图,我还想看一下正在进行的开发。这将添加许多有用的地图投影,特别是对于世界地图,例如。D3的下一个版本还将包括一些令人兴奋的新功能,如任何投影的三维旋转(包括前子午线切割;尝试),以及改进的剪辑


至于对choropleth进行着色,您当然可以通过将“填充”样式重新定义为数据的函数来对地理特征进行任意着色。

在充分尊重@mbostock及其答案的情况下,我想我会为遇到此问题的任何人添加一些额外的资源

@Yaron Naveh提供的链接中的示例似乎是一个。您可以在中找到关于d3.js的墨卡托投影设备的更多信息@mbostock也很友好,为API中的每个投影创建了块/GIST(点击投影缩略图图像作为示例)。以下是指向简单墨卡托投影/的链接

关于“提问的艺术-你感觉如何?”链接,这里有一个小代码,与@mbostock所说的使用填充样式作为数据函数的着色相关。在本例中,我只是为JSON文件中国家名称的第一个字符选择unicode值,并使用“steelblue”(#4682B4=4620980)作为种子(您可能需要计算阴影/色调)从该值生成CSS颜色

您可以在这里以/的形式查看完整的示例


(@mbostock-感谢您提供了这么好的工具!)

您还可以评估图像地图解决方案,请参阅“谢谢”。什么决定了屏幕上可见的区域(如大陆)?我可以用国家名称来着色吗?
d3.json("readme.json", function(collection) {
  d3.select("svg").selectAll("path")
      .data(collection.features)
    .enter().append("path")
      .attr("d", d3.geo.path().projection(d3.geo.mercator()))
      .style("fill", function(d) { return '#'+Math.floor(d.properties.name.charCodeAt(0)/100*4620980).toString(16); });
});