Javascript 使用D3.js显示JSON中上周、上月和去年数据的条形图
请任何人告诉我,如何显示来自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;我建议您
{"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);