2012-02-23 41 views
9

का उपयोग कर एक तैरने वाला लेन चार्ट बनाना मुझे निम्नलिखित के समान एक तैरने वाला लेन चार्ट उत्पन्न करने की आवश्यकता है, लेकिन वाई-अक्ष पर तारीखों को दिखाने के अतिरिक्त। मुझे दिखाने के लिए आवश्यक सभी नोड्स निर्भरताओं के साथ गतिविधियां हैं, प्रवाह नियंत्रण तत्व नहीं हैं।डी 3

http://upload.wikimedia.org/wikipedia/commons/a/a5/Approvals.jpg

यह कुछ d3 तरह का उपयोग कर सकता है या वहाँ एक बेहतर जावास्क्रिप्ट इस प्रकार के चार्ट के लिए उपयोग करने के लिए पुस्तकालय है? मैंने इस तरह के कोई उदाहरण नहीं देखा है, इसलिए यदि डी 3 का उपयोग करना संभव है तो मुझे यकीन नहीं है कि मैं कहां से शुरू करूंगा। कोई भी युक्ति सराहनीय होगी।

उत्तर

14

पिछले उत्तर और टिप्पणियों के आधार पर, मैंने Raphael.js का उपयोग करके चार्ट को लागू करने का मार्ग शुरू कर दिया। कोड के 600+ लाइनों (ज्यादातर ढांचे की हड्डियों की प्रकृति के लिए तैयार करने के लिए ढांचे के सामान) लिखने के बाद मुझे पता चला कि Raphael.js टेक्स्ट प्रतिपादन में बेहद धीमा है। निश्चित रूप से क्यों नहीं यकीन है, लेकिन यह स्पष्ट रूप से एक ज्ञात मुद्दा है। अंत में 300 रुपये के साथ एक चार्ट प्रस्तुत करने के लिए 3.5 रुपये ले रहा था जिसमें पाठ प्रस्तुत करने में 80% समय था।

मैंने फिर d3.js के साथ शुरू किया। मैंने पाया कि d3.js डेटा बाध्य चार्ट बनाते समय बेहतर विकल्प है जब विरासत ब्राउज़र समर्थन चिंता का विषय नहीं है। d3.js में तैरने वाले लेन चार्ट को बनाने से मुझे Raphael.js के लिए 600+ बनाम कोड की लगभग 100 पंक्तियां मिलीं। d3.js संस्करण में भी अधिक कार्यक्षमता है, अच्छी तरह से दिखता है, और अधिक प्रतिक्रियाशील है।

जबकि d3.js की घोषणात्मक शैली कुछ उपयोग करने में लगती है, यह डेटा सुपर आसान के साथ काम करता है। एक अतिरिक्त बोनस के रूप में, मेरा चार्ट अब लगभग 250 एमएस में प्रस्तुत करता है :)

अंतिम तैरने वाले लेन चार्ट के लिए http://bl.ocks.org/1962173 देखें।

+0

यह बहुत अच्छा है, और लगभग मुझे जो चाहिए वह भी है। मेरा उपयोग केस मोज़िला मक्खन की तरह कुछ काम कर रहा है, जहां मैं समय रेखा के अंदर नोड्स जोड़ और बातचीत कर सकता हूं। टाइमलाइन का उदाहरण यहां पाया जा सकता है https://popcorn.webmaker.org/ – abritez

-1

मेरी राय में raphael.js यहां उपयुक्त है। यह आईई 6-8 सहित सभी ब्राउज़रों के लिए समर्थन प्रदान करता है, जबकि डी 3 केवल एसवीजी-सक्षम ब्राउज़र में काम करता है।

+1

यह सुनिश्चित नहीं है कि यह कैसे सहायक है। ओपी किसी भी ब्राउज़र समर्थन आवश्यकताओं का जिक्र नहीं करता है। – Dogbert

+0

मैं सहमत हूं। मैं थोड़ी देर के लिए राफेल का उपयोग कर रहा हूं और मुझे लगता है कि यह एक बहुत अच्छा उपकरण है और तथ्य यह है कि यह आईई 6 तक नीचे तक काम करता है। –

+0

@ डोगबर्ट जबकि न ही डी 3, न तो raphael.js के पास इस प्रकार के चार्ट के लिए कोई मूल समर्थन नहीं है, raphael.js का व्यापक ब्राउज़र समर्थन है। यही कारण है कि मैं इसे अनुशंसा करता हूं। – bjornd