मेरा लक्ष्य एक साजिश बनाना है जिसे आप ब्राउज़र में बातचीत कर सकते हैं। आदर्श रूप में, मैं एक अच्छी तरह से प्रलेखित और परिपक्व जावास्क्रिप्ट प्लॉटिंग लाइब्रेरी चाहता हूं जो एसवीजी का समर्थन करता है। जहां तक मैं कह सकता हूं, यह अस्तित्व में नहीं है, हालांकि अगर मैं गलत हूं तो कृपया मुझे सही करें।ब्राउज़र के माध्यम से इंटरैक्टिव एसवीजी प्लॉट (matplotlib से) बनाना चाहते हैं
मैंने कुछ विकल्प पहचाने हैं।
- एक जावास्क्रिप्ट ग्राफिक्स पुस्तकालय (जैसे राफेल) का प्रयोग करें और खरोंच से सब कुछ आकर्षित। यह बहुत अनावश्यक, कड़ी मेहनत की तरह लगता है।
- एसवीजी का उत्पादन करने के लिए एक प्लॉटिंग लाइब्रेरी का उपयोग करें, फिर इंटरैक्शन का समर्थन करने के लिए जावास्क्रिप्ट का उपयोग करें। यह अधिक प्रबंधनीय लगता है, हालांकि मेरे पास निम्न समस्या है: मैं साजिश पुस्तकालय (matplotlib) से एसवीजी में मेटाडेटा कैसे जोड़ सकता हूं? एसवीजी प्रदर्शित होने पर यह मेटाडेटा नहीं दिखाया जाएगा, लेकिन यह जावास्क्रिप्ट से सुलभ होगा।
किसी भी सलाह की बहुत सराहना की जाती है।
बस एक सोचा: यदि आप 'कर पकड़ (सच); साजिश ([1,2,3,4], gid = 'foo'); साजिश ([4,3,2,1], ग्रिड = 'बार'); savefig ('foobar.svg') ', परिणामी फ़ाइल में दो पंक्तियों के आस-पास' 'और' 'तत्व होंगे, जो मुझे लगता है कि आप ऑब्जेक्ट्स में हेरफेर करने के लिए जावास्क्रिप्ट से उपयोग करने में सक्षम होंगे। –
हम्म, हाँ यह वक्र-विशिष्ट मेटाडेटा जोड़ने का एक तरीका हो सकता है। हालांकि, मैं वक्र में प्रत्येक बिंदु के लिए मेटाडेटा जोड़ने का एक तरीका ढूंढ रहा हूं - अनिवार्य रूप से एक छुपा 'z' मान। अगर मुझे कोई अन्य समाधान नहीं मिल रहा है, तो मुझे लगता है कि मैं 'आईडी' में एक बड़ी JSON स्ट्रिंग फेंक सकता हूं जिसमें मुझे आवश्यक सभी मेटाडेटा चाहिए। – David