簡體   English   中英

d3js圖形的時間解析和縮放

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM