d3.js

2014-09-26 22 views
9

के साथ सॉर्टिंग दिनांक अस्वीकरण: मुझे नहीं पता कि मैं क्या कर रहा हूं। गंभीरता से, मुझे डेटा पसंद है और सोचा कि यह स्वयं प्रोग्राम करना सीखना और डेटाबेस का उपयोग करना और एक अच्छा लड़का जैसे वेब ऐप्स बनाना सीखना एक शानदार तरीका होगा। मैं इस आखिरी दिन के उत्तर के लिए खोज कर रहा हूं, और मुझे लगता है कि सभी उदाहरण मैं अपने कोड के साथ काम नहीं कर सका।d3.js

यहां पूर्ण कोड और डेटा का पेस्ट बिन है जिसका मैं उपयोग कर रहा हूं। यह d3.js GitHub पर पाया नमूना लाइन चार्ट अपने डेटा में भर साथ है http://pastebin.com/7aW6wegd

json एक CouchDB डेटाबेस से आ रही है

मैं लाइनों आकर्षित करने के लिए प्राप्त कर सकते हैं, लेकिन वे एक गड़बड़ कर रहे हैं।:

enter image description here

मैं इस खजूर, ठीक से छँटाई नहीं के बाद से कंसोल में वे आदेश से बाहर सूचीबद्ध हैं के कारण होता है लगता है। मैं यह नहीं समझ सकता कि तारीख को सही तरीके से व्यवस्थित करने के तरीके को कैसे प्राप्त किया जाए। D3.time.format का उपयोग त्रुटियों को फेंकता है (आप वास्तव में नमूना लाइन चार्ट से लिया गया कोड में देख सकते हैं, वे इसे दिनांकों का विश्लेषण करने के लिए उपयोग करते हैं। मेरे डेटा के साथ इसका उपयोग करने से मैं एक त्रुटि फेंकता हूं, यहां तक ​​कि जब मैं बारी करने की कोशिश करता हूं तारीखों के लिए टाइमस्टैम्प) और मुझे लगता है कि सोफेडब में सॉर्ट करने की तारीखें कैसे प्राप्त करें।

+3

यह पहली बार ईमानदारी से प्रयास करने के लिए बहुत अच्छा लग रहा है। तारीख ऑब्जेक्ट को परिभाषित करने से पहले तिथियों को बस क्रमबद्ध करें। https://github.com/mbostock/d3/wiki/Arrays –

उत्तर

11

आप अपने forEach के बाद अपना डेटा क्यों टाइप नहीं करते हैं, जहां आप date गुणों को पॉप्युलेट करते हैं? यहाँ ऑब्जेक्ट की श्रृंखला की एक सॉर्टर की एक बहुत ही बुनियादी कार्यान्वयन है:

var data = [ 
     {date: new Date(2000)}, 
     {date: new Date(1000)} 
    ]; 

function sortByDateAscending(a, b) { 
    // Dates will be cast to numbers automagically: 
    return a.date - b.date; 
} 

data = data.sort(sortByDateAscending); 

वहाँ Array.prototype.sort के लिए एक अच्छी documentation है।

+2

धन्यवाद। यह पूरी तरह से काम किया। मैंने कुछ प्रकार के कार्यों को लिखने/उधार लेने की कोशिश की जो सभी असफल रहे। यह एक बार पाया गया सबसे आसान 2 या 3 लाइन छोटा है। – Trel

+0

मुझे नहीं पता कि यह मानक एमएम/डीडी/yyyy क्यों देता है जब अंतरराष्ट्रीय मानक yyyy/dd/mm –

+0

@ क्लाउडियो कुछ कारणों से ओपी ने दिनांक d3.time.format ("% x") के साथ दिनांकों को प्रारूपित करने का निर्णय लिया है। '(पेस्टबिन पर लाइन 46 देखें)। डॉक्स के अनुसार यह दिनांक "% m /% d /% y" के रूप में स्वरूपित करता है, https://github.com/mbostock/d3/wiki/Time-Formatting#format देखें यदि आप चाहें तो आप एक और प्रारूप चुन सकते हैं। – Oleg

 संबंधित मुद्दे