小编典典

D3:从json对象创建分组的条形图

json

我有一些这样的数据:

[
 { id: 12, value1: "2.92", value2: "4.22", value3: "3.69" }
, 
 { id: 23, value1: "2.69", value2: "4.24", value3: "3.77" }
,
  ....
]

我想创建一个水平分组的条形图,以便有3组条形,首先是所有value1条(标记为Value1),然后是所有value2条,最后是所有value3条。

我该怎么做-请记住,数据将来会动态更新,因此将添加新的数据对象,而其他数据对象将被删除。猜猜我可以使用id作为密钥。


阅读 55

收藏
2020-07-27

共1个答案

小编典典

首先,将数据提供或转换为一个或多个普通数组

data = [ [ 2.92, 4.22, 3.69], [2.69, 4.24, 3.77] ]

现在,您可以使用d3.transpose来旋转数据,以便获得

  var tdata = d3.transpose(data);

给你

   [ [2.92, 2.69], [4.22, 4.24], [3.69, 3.77]]
然后是iaindillingham的一个团体酒吧,可以用作模型(我已经修复了他的版本,以使用最新的d3库)。看到它在这里工作:http
//bl.ocks.org/3532324
2020-07-27