使用D3.js显示JSON上周,上个月和去年数据的条形图

时间:2017-02-19 12:50:13

标签: javascript json d3.js

有任何人请告诉我,如何显示JSON的每月,每周,每日数据。

示例:

  
      
  1. 如何从JSON(每月)获取最近4周的数据?
  2.   
  3. 如何从JSON(每年)获取最近12个月的数据?
  4.   
  5. 如何从JSON(每周)获取最近7天的数据?
  6.   

JSON示例:

{"date" : "2016-06-16"}
...
...
{"date" : "2016-05-16"}
{"date" : "2016-04-16"}

1 个答案:

答案 0 :(得分:0)

我将您的代码移至plnkr(我不是jsfiddle的粉丝; plnkr可让您根据需要创建文件。

首先,我注意到你使用d3 v3;我建议升级到v4以享受最新的功能和改进(但这不是主题)。

其次,我添加了几行(102到107)来按月创建数据嵌套(作为示例):

var byMonth = d3.nest()
    .key(function(d){
      return d.month;
    })
    .entries(data["BC"])
console.log(byMonth);

现在,对象byMonth具有key属性,对应于您已映射的月份数,以及values属性,其中包含所述月份中的所有值。您现在可以使用scale.range(byMonth.map(function(d){return d.key;})之类的内容创建/更新比例范围,对轴使用该比例,并相应地绘制数据。同样的技术可以适用于日或年的财产。