2015-06-30 29 views
5

मेरे पिछले प्रश्न की निरंतरता में: How to superimpose figures in matplotlib मैं जानना चाहता हूं कि कोई पुन: प्रयोज्य basemap ऑब्जेक्ट कैसे बना सकता है। मेरी समस्या यह है कि basemappyplot ऑब्जेक्ट नहीं है, इसलिए मुझे प्राप्त समाधान figures/axes पर अच्छा काम करता है लेकिन basemap ऑब्जेक्ट्स पर नहीं।पुन: प्रयोज्य बेसमैप कैसे बनाएं

मैंने चारों ओर देखने और समाधान खोजने की कोशिश की, लेकिन कोई भी नहीं, केवल चर्चाएं नहीं मिलीं।

+0

आपके द्वारा लिंक किए गए प्रश्न में दिखाए गए दृष्टिकोण को बेसमैप अक्षों के साथ काम नहीं करने का कोई कारण नहीं होना चाहिए। –

+0

धन्यवाद @ जो, लेकिन यह बिल्कुल वही काम नहीं करता है। 'बेसमैप' ऑब्जेक्ट्स एक से एक 'pyplot' ऑब्जेक्ट्स नहीं हैं। –

+1

नहीं, वे नहीं हैं, लेकिन वे अभी भी वस्तुएं हैं। आप उन्हें एक ऐसे फ़ंक्शन में पास कर सकते हैं जो उसके तरीकों को ठीक कहता है। उनके पास 'एक्सिस 'उदाहरण के समान ही प्लॉटिंग विधियां हैं, लेकिन उनके पास अन्य भी हैं। यदि आपको अंतर्निहित 'अक्ष' उदाहरण की आवश्यकता है तो आप इसे 'map._check_ax()' के साथ प्राप्त कर सकते हैं, जहां 'मानचित्र' आपका बेसमैप ऑब्जेक्ट है। क्या आप जो कुछ करने की कोशिश कर रहे हैं उस पर विस्तार कर सकते हैं? –

उत्तर

1

@ जोकिंगटन के लिए धन्यवाद और @EdSmith How to superimpose figures in matplotlib पर धन्यवाद, मैं समझने में सक्षम था कि मैं क्या चाहता था: बेसमैप ऑब्जेक्ट्स का पुन: उपयोग करें और उन्हें चारों ओर पास करें।

  1. एक base_map.py दो कार्य है कि निर्मित:: plot() कि एक नक्शा वस्तु बना सकते हैं और कुछ गुण और एक और एक, set_a_map() कि एक खाली नक्शा वस्तु बनाने आकर्षित

    मैं इसे इस तरह से बनाया है।

  2. अन्य मॉड्यूल मैं साजिश को जोड़ा गया में एक map=None संपत्ति में कार्य करता है, और हर समारोह में मैं एक कहा:

    तो उस मामले में है कि कोई नक्शा वस्तु अन्य कार्य करने के लिए पारित किया जा रहा, समारोह एक नया नक्शा वस्तु बना देगा।

  3. उदाहरण के लिए plt.imshow(...) का उपयोग करने के बजाय, मैं अपने प्लॉट फ़ंक्शंस में map.imshow(...) का उपयोग कर रहा हूं। इस तरह मेरा डेटा मानचित्र पर प्लॉट होगा।

धैर्य और वास्तव में सहायक टिप्पणियों के लिए धन्यवाद!

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