[英]What is the default representation of date in d3.js?
我使用的是基于D3.js的可视化工具Dangle.js,我想知道使用d3.time.scale()表示日期的默认表示是什么。 面积图表示的代码包括此线,以表示x轴比例
var x = d3.time.scale()
.range([0, width]);
现在,要包含在图中的数据是:
$scope.graph = {
entries: [
{time: "20120320", count: 100},
{time: "20120321", count: 20},
{time: "20120322", count: 43},
{time: "20120323", count: 83}
]
};
但是,数据的“时间”格式错误,因此无法在x轴上的日期上正确显示它们。 日期应该是什么格式的数据? 一个例子将不胜感激。 非常感谢。
d3的时间刻度的默认表示形式是JavaScript Date对象 。
最佳做法是将数据中的日期字符串转换为加载时的Date对象。 例如,这可以使用D3内置的日期/时间格式来完成 :
var dateFormatIn = d3.time.format("%Y%m%d");
entries.forEach(function(entry) {
entry.time = dateFormatIn.parse(entry.time);
});
x.domain( d3.extent(entries, function(d) { return d.time; }) );
d3 time.format
仅将字符串格式化为Date对象,并且不会强制使用其他值。 它具有一个parse方法,可以将字符串转换为Date对象,格式可以指定。
d3.time.scale
域可与Date对象一起使用,但是如果将其传递给Numbers,则domain()
方法会将这些值强制转换为日期(即,自1970年以来将它们解释为毫秒)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.