2

D3 の視覚化に MetricsGraphic ライブラリを使用しています。何らかの理由で、日付の解析が機能しない理由がわかりません。

d3.json('/api/data', function (data){
    data = MG.convert.date(data, "Date"["%d/%m/%y"]);
    MG.data_graphic({
        title: "Points per Matchday",
        description: "Points earned each matchday of 2014/2015 season",
        data: dataSet,
        width: 600,
        height: 200,
        right: 40,
        target: document.getElementById('arsenalPoints'),
        x_accessor: 'Date',
        y_accessor: 'Points'
    });
});

can't read property of 'time' undefined私は自分の関数でそれを言っている型エラーを取得し続けMG.convert.dateます。また、日付を正しくフォーマットしているかどうかもわかりません。

これが私のJSONの例です:

{
    "Date" : "26/04/15",
    "HomeTeam" : "Arsenal",
    "AwayTeam" : "Chelsea",
    "FTR" : "D",
    "Points": 1
} 
4

1 に答える 1

1

1 つの方法は、MG を使用することです。

これは間違っています:

data = MG.convert.date(data, "Date"["%d/%m/%y"]);

これは正しいです:

data = MG.convert.date(data, "Date", "%d/%m/%y");//its not an array

以下の完全なコード

d3.json('/api/data', function (data){
    data = MG.convert.date(data, "Date", "%d/%m/%y");//its not an array
    MG.data_graphic({
        title: "Points per Matchday",
        description: "Points earned each matchday of 2014/2015 season",
        data: data, // Send in our data
        width: 600,
        height: 200,
        right: 40,
        target: document.getElementById('arsenalPoints'),
        x_accessor: 'Date',
        y_accessor: 'Points'
    });
});

別の方法は、d3 を使用して日付を変換することです。

d3.json('/api/data', function (data){
  data.forEach(function(j){
    j.Date = d3.time.format("%d/%m/%y").parse(j.Date);//convert it into date
  });
  MG.data_graphic({
        title: "Points per Matchday",
        description: "Points earned each matchday of 2014/2015 season",
        data: data, // Send in our data
        width: 600,
        height: 200,
        right: 40,
        target: document.getElementById('arsenalPoints'),
        x_accessor: 'Date',
        y_accessor: 'Points'
    });
});
于 2015-12-26T00:29:10.467 に答える