Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用D3.js显示JSON中上周、上月和去年数据的条形图_Javascript_Json_D3.js - Fatal编程技术网

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

Javascript 使用D3.js显示JSON中上周、上月和去年数据的条形图,javascript,json,d3.js,Javascript,Json,D3.js,请任何人告诉我,如何显示来自JSON的每月、每周、每日数据 例如: 如何从JSON(每月)获取最近4周的数据 如何从JSON(每年)获取过去12个月的数据 如何从JSON(每周)获取最后7天的数据 JSON示例: {"date" : "2016-06-16"} ... ... {"date" : "2016-05-16"} {"date" : "2016-04-16"} 我将您的代码移动到(我不是JSFIDLE的粉丝;plnkr允许您根据需要创建文件 首先,我注意到您使用的是D3V3;我建议您

请任何人告诉我,如何显示来自JSON的每月、每周、每日数据

例如:

  • 如何从JSON(每月)获取最近4周的数据
  • 如何从JSON(每年)获取过去12个月的数据
  • 如何从JSON(每周)获取最后7天的数据
  • JSON示例:

    {"date" : "2016-06-16"}
    ...
    ...
    {"date" : "2016-05-16"}
    {"date" : "2016-04-16"}
    
    我将您的代码移动到(我不是JSFIDLE的粉丝;plnkr允许您根据需要创建文件

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

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


    现在,对象byMonth有一个
    key
    属性,对应于您已经映射的月份数,还有一个
    values
    属性,包含所述月份中的所有值。您现在可以使用类似
    scale.range(byMonth.map(函数(d){return d.key;})的内容创建/更新缩放范围
    ,使用该比例作为轴,并相应地绘制数据。同样的技术也可以应用于day或year属性。

    您可以创建一个plnkr/JSFIDLE/gist来处理您的代码吗?我认为您需要从现有字符串创建Date对象,然后使用
    d3.nest
    。如果Date对象没有eno{“BC”:{“修订”):“83028”,“值”:“107857”,“日期”:“2016-06-16”,“位置”:“Global”},{“修订”:“82923”,“值”:“107163”,“日期”:“2016-06-15”,“位置”:“Global”},{“修订””:“82772”,“价值”:“107123”,“日期”:“2016-06-14”,“地点”:“全球”}}非常感谢Hugues。我会查一查。
    var byMonth = d3.nest()
        .key(function(d){
          return d.month;
        })
        .entries(data["BC"])
    console.log(byMonth);