मेरे पास Matplotlib का उपयोग कर कई स्क्रिप्ट के साथ एक परियोजना है। मैं इस परियोजना के लिए एक वेब इंटरफेस बनाना चाहता हूं।
आप एक चैमेलेन टेम्पलेट के भीतर बोके चार्ट कैसे डालते हैं? यदि मैं मायने रखता हूं तो मैं पिरामिड और विकृत बूटस्ट्रैप का उपयोग कर रहा हूं।
क्या किसी के पास एक अच्छा उदाहरण है?
उत्तर:
जवाब के लिए 2 № 1यहां संबोधित करने के लिए कई अलग-अलग मुद्दे हैं।
यदि आप वास्तव में इंटरैक्टिव जेएस में बहुत सारे Matplotlib प्लॉट बंदरगाह करने की कोशिश कर रहे हैं, तो यह है मुमकिन कि mpld3 परियोजना आपके लिए एक अच्छा फिट है। हालांकि, आपको अवगत होना चाहिए कि डी 3 का उपयोग करके, आपके साजिश में कितने अंक हैं, इस पर निर्भर करते हुए प्रदर्शन प्रभाव होंगे। बोके में अब मूल मैटलप्लिब समर्थन भी है, और केवल और अधिक हो जाएगा। जेक वर्तमान में mpld3 प्रोजेक्ट को एक स्पष्ट निर्यातक और फिर डी 3 रेंडरर में रीफैक्टर कर रहा है, और हम संभावित रूप से बोके मैटलप्लिब समर्थन के लिए इस काम को बंद कर देंगे।
बोके के साथ ऐसा करने के लिए, आप एक साजिश के लिए कच्चे HTML को पकड़ सकते हैं, यह देखते हुए कि कैसे
HTMLFileSession.dumps()
लागू किया गया है: https://github.com/ContinuumIO/bokeh/blob/master/bokeh/session.py#L295। डिफ़ॉल्ट टेम्पलेट हैbokeh/templates/base.html
; हालांकि, यह एक पूर्ण HTML फ़ाइल है, और नहींटुकड़ा। डंप () विधि बहुत सरल है, जैसा कि डिफ़ॉल्ट टेम्पलेट है, इसलिए आपको उन चीज़ों को देखने से प्राप्त करने में सक्षम होना चाहिए। उम्मीद है कि अगली रिलीज के लिए, हम एक समाप्त कर लेंगेHTMLFragmentSession
जो एम्बेड करना आसान बना देगा।
जवाब के लिए 2 № 2
आप उपयोग करना चाहते हैं plot.create_html_snippet
। यह फ़ंक्शन उस कोड को देता है जिसे आप HTML में दिखाना चाहते हैं, फ़ंक्शन एक एम्बेड फ़ाइल भी लिखता है।
यह एक एम्बेडेड स्निपेट जैसा दिखता है
<script src="http://localhost:5006/static/dc0c7cfd-e657-4c79-8150-6a66be4dccb8.embed.js" bokeh_plottype="embeddata" bokeh_modelid="dc0c7cfd-e657-4c79-8150-6a66be4dccb8" bokeh_modeltype="Plot" async="true"></script>
निम्नलिखित तर्क नियंत्रित करते हैं कि एम्बेड फ़ाइल कैसे लिखी जाती है, और जहां जेएस कोड एम्बेड फ़ाइलों के लिए खोज करता है।
embed_base_url
यूआरएल पथ को नियंत्रित करता है (यह पूर्ण या सापेक्ष हो सकता है) कि जावास्क्रिप्ट एम्बेड फ़ाइल में खोज करेगा।
embed_save_loc
निर्देशिका को नियंत्रित करता है कि पायथन एम्बेड फ़ाइल को लिख देगा। embed_save_loc "t आवश्यक नहीं है जब सर्वर = सही
static_path controls
यूआरएल पथ (यह पूर्ण या सापेक्ष हो सकता है) जावास्क्रिप्ट bokeh.js और bokeh.css के लिए URLS बनाने के लिए उपयोग करेगा। यह डिफ़ॉल्ट है http://localhost:5006/static/
, लेकिन बस एक सीडीएन को आसानी से इंगित कर सकता है
बोके सर्वर चलाते समय, नेविगेट करें http://localhost:5006/bokeh/generate_embed/static
। मुझे लगता है कि आपको बग की वजह से मास्टर पर चलने की आवश्यकता है।
आशा है कि ये आपकी मदद करेगा।