積み上げ棒グラフの作成に問題があります。d3.js-v4積み上げ棒グラフ
私は、次の例を作り、それが http://bl.ocks.org/mbostock/3886208
大丈夫です。しかし、今、私は他のデータ・フォーマットを持っている:(これは私のデータの簡単な例である)、ネストされた使用
var data = [
{
"PERIOD": 2014001,
"SUBMITTER": "oanikit2",
"distr_count": 16
},
{
"PERIOD": 2014001,
"SUBMITTER": "nvlodavs",
"distr_count": 21
},
{
"PERIOD": 2014001,
"SUBMITTER": "manufrie",
"distr_count": 39
},
{
"PERIOD": 2014001,
"SUBMITTER": "mtalyshi",
"distr_count": 14
}
]
私はにそれを変換します:(以下の短いデータ例)
var nested = d3.nest().key(function (d){return d.SUBMITTER}).entries(data);
d3.select("body").append("pre").text(JSON.stringify(nested,null,2)); //just to render data on page
[
{
"key": "oanikit2",
"values": [
{
"PERIOD": 2014001,
"SUBMITTER": "oanikit2",
"distr_count": 16
},
{
"PERIOD": 2014002,
"SUBMITTER": "oanikit2",
"distr_count": 18
}
]
},
{
"key": "nvlodavs",
"values": [
{
"PERIOD": 2014001,
"SUBMITTER": "nvlodavs",
"distr_count": 21
},
{
"PERIOD": 2014002,
"SUBMITTER": "nvlodavs",
"distr_count": 24
}
]
}
]
しかし、さらにどのように移動するのか分かりません。 y0の値を取得するには? は、PERIODの系列と、distr_countを値とする積み重ねられたサブユニットを必要とします。
スタックバーの他の例に従うようにしましたが、 がすべてv3についてです。私はD3の新機能なので、最初からv4から始めることにしました。しかし、オンラインの例はあまりにも少ないです。
D3 v4(積み重ね棒)の使用方法の例(リンク)がありますか?
P.S. Googleの質問にも投稿されています(私の評判のためにリンクを張ることはできません)
の出力では動作しませんようにあなたがで作業している場合には、データ形式が細かいようですcsvファイルですが、私はjavaオブジェクトを使って作業しており、ここに示した 'layers'オブジェクトの正確な形式にデータを調整しています。 https://github.com/d3/d3-3.x-api-reference/blob/master/Stack-Layout.md。スタックされたデータは ''値 ''として利用できるので便利でしたが、 '' name "'、 '' id ''やw/eといった他のプロパティを持つこともできました。 。バージョン4が期待しているものに私の既存のデータフォーマットを適合させる方法がわかりません... –