[英]Time parsing and scaling for d3js graphs
我有這段代碼繪制了一個d3js多圖表對象,值time:Years值以Year = 2011的格式給出...使用這種時間格式,代碼可以正常工作,但是一旦我想以Year = 2011的格式更改數據時間(YMD H:M:S)
var data = [{"Year":"2011-10-01 20:46:04","Happy":"63.4","Sad":"42.7","Angry":"12.2","Surprised":"44.2"},
{"Year":"2012-10-01 17:02:04","Happy":"75.4","Sad":"32.7","Angry":"78.2","Surprised":"82.2"},
{"Year":"2013-10-01 19:55:44","Happy":"73.4","Sad":"20.7","Angry":"92.2","Surprised":"75.4"}];
我解析了數據年份:
var parseDate=d3.time.format("%Y-%m-%d %H:%M:%S").parse; //line 13
d.Year=parseDate(d.Year); //and then line 53
但是它不起作用,我該如何讀取以下格式的數據Year:(YMD H:M:S)
您的示例中的問題在於,您要將對象的所有屬性都轉換為數字。 如果日期只是年份,則此方法有效,但如果它是需要解析的字符串,則無效。 在您的情況下,您無需進行任何轉換,因為您可以直接將數字作為數字而不是字符串。 也就是說,您不需要
for(var prop in d) {
if(d.hasOwnProperty(prop)) {
d[prop] = parseFloat(d[prop]);
}
}
使用jsfiddle並在此處刪除了轉換代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.