D3: criar um gráfico de barras agrupado de objetos json

Eu tenho alguns dados como este:

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

Eu quero criar um gráfico de barras agrupadas horizontal, de modo que existem 3 grupos de barras, primeiro todas as barras de valor1 (rotuladas como Valor1), seguidas por todas as barras de valor2 e, finalmente, todas as barras de valor3.

Como posso fazer isso - tendo em mente que os dados serão atualizados dinamicamente no futuro, então novos objetos de dados serão adicionados e outros serão removidos. Acho que eu poderia usar id como chave.