1

関数に辞書を渡して時系列を作成したい。例のコードは次のとおりです。

d3.csv("data.csv", function(error, data) {
  data.forEach(function(d) {
    d.date = parseDate(d.date);
    d.close = +d.close;
  });

  x.domain(d3.extent(data, function(d) { return d.date; }));
  y.domain(d3.extent(data, function(d) { return d.close; }));
  //etc...

私がやろうとしているのは、これを、日付を持つオブジェクトを取り、行を閉じる関数 (データ) に変換し、これからグラフを生成することです。

    function makeGraph(timeseriesdata){
        // create chart above from data
        // what format??
    }
4

2 に答える 2

0

d3.csv は、面倒な作業のほとんどを自動的に行います。csv を受け取り、それぞれが csv の行に対応するオブジェクトの配列に変換します。

https://github.com/mbostock/d3/wiki/CSVにはいくつかの例があります。

d3.csv を呼び出して parseDate でデータをクリーンアップしたら、データを makeGraph に渡すことができます。

d3.csv("data.csv", function(error, data) {
  data.forEach(function(d) {
   d.date = parseDate(d.date);
   d.close = +d.close;
  });
  makeGraph(data);
});

function makeGraph(timeseriesdata){

}
于 2013-04-03T03:11:38.847 に答える
0

辞書を指定して行パスを作成するには、次のように辞書を使用してリストを作成します。

var parseDate = d3.time.format("%Y-%m-%d").parse;   

 var lineData = [ { "date": "2013-04-01",   "close": 5},  { "date": "2013-03-28",  "close": 20},
                  { "date": "2013-03-27",  "close": 10}, { "date": "2013-03-26",  "close": 40},
                  { "date": "2013-03-25",  "close": 5},  { "date": "2013-03-24", "close": 60}];

  lineData.forEach(function(d,i) {     
    d.date = parseDate(d.date);
    d.close = +d.close;    
  });

makeGraph(lineData);
于 2013-04-03T10:24:55.963 に答える