csv を nvd3 の積み上げ面グラフ ( http://nvd3.org/ghpages/stackedArea.html ) で必要な形式に変換しようとしています が、配列の変換で迷子になりました。誰か助けてくれませんか?
csv: 長さ、m1、m2、m3、m4 9,1,2,3,4 99,11,22,33,44 999,111,222,333,444
nvd3 で必要なフォーマット
var histcatexplong = [{"key": "消費者裁量"、 "values":[[0000000000000、27.38478809681]、[0000000000000、27.37137218208]、[00000000000000000、26.82341151935] "" "Key" "kike" "kike ": [ [ 0000000000000 , 27.45458809681] , [ 0000000000000 , 27.444444444408] , [ 0000000000000 , 26.455555555395] } ,
したがって、変換が正しければ、次のようになります。キー" : "m1" , "値" : [ [ 9 , 1] , [ 99, 11] , [ 999, 111] } ,
変換のための私のコード:
d3.csv("s1.csv", function (csv) {
var myall = [
{
"key" : "m3",
"values" : []
},
{
"key" : "m2",
"values" : []
}
];
v3 = csv.map(function(d) { return [ +d["length"], +d["m3"] ]; });
v2 = csv.map(function(d) { return [ +d["length"], +d["m2"] ]; });
d3.keys(csv).forEach(function(d) {
myall[0].values.push(v3);
myall[1].values.push(v2);
});
console.log(myall);
問題は、myall が DOM に表示されなかったことです (コンソール出力に最上位階層が表示されないようです:
[Object { key="m345", values=[249]}, Object { key="m2", values=[249]}]
nvd3 積み上げ面グラフの例では、histcatexplong 変数の DOM コピー/貼り付け:
*histcatexplong
[Object { key="Consumer Discretionary", values=[77]}, Object { key="Consumer Staples", values=[77]}, Object { key="Energy", values=[77]}, 7 more...]*
ありがとう。