2013-12-17 8 views
11

डी 3 जेएस का उपयोग करते हुए इस समय-श्रृंखला चार्ट के एक्स-अक्ष को स्वरूपित करने में समस्या आ रही है।डी 3 टाइम स्केल एक्स अक्ष यूनिक्स टाइमस्टैम्प

यहाँ एक काम कर उदाहरण है: http://tributary.io/inlet/7798421

मुद्दा: मैं सिर्फ अपने x- अक्ष पर 1 तारीख (लेबल) देख सकते हैं, निर्दिष्ट टिक की कुल # की परवाह किए बिना। मैं एक्स-अक्ष पर 4-6 टिकों के साथ समय कैसे प्रदर्शित कर सकता हूं?

संपादित करें: लार्स के लिए धन्यवाद नीचे समाधान।

var data = [ 
    {"time": 1387212120, "open": 368, "close": 275, "high": 380, "low": 158}, 
    {"time": 1387212130, "open": 330, "close": 350, "high": 389, "low": 310}, 
    {"time": 1387212140, "open": 213, "close": 253, "high": 289, "low": 213}]; 

data.forEach(function(d){ d.time = new Date(d.time * 1000) }); 

और फिर डी 3 डिफ़ॉल्ट प्रारूप में, यह स्वीकार करते हैं, या आप अनुकूलित कर सकते हैं:

यहाँ यूटीसी में मेरा समय है।

उत्तर

24

समस्या यह है कि जावास्क्रिप्ट Date ऑब्जेक्ट्स (जिसमें आप निहित रूप से अपने टाइमस्टैम्प को परिवर्तित कर रहे हैं) सेकंड में टाइमस्टैम्प नहीं हैं, बल्कि मिलीसेकंड में हैं। यदि आप अपने सभी समय मान 1000 से गुणा करते हैं, तो यह काम करता है।

पूर्ण उदाहरण here। मैंने Date एस में रूपांतरण भी किया है।

+0

एक्स-अक्ष के रूप में समय के साथ उत्कृष्ट, पहला अनुभव, इसे काम करने के लिए आश्चर्यजनक संक्षिप्त और सरल समाधान। धन्यवाद। – DeBraid

+0

बहुत उपयोगी और सुरुचिपूर्ण, धन्यवाद। –

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