2015-06-03 7 views
5

नहीं दिखा रहा है मैं कुछ वायुमंडलीय डेटा के लिए matplotlib में एक भरे समोच्च साजिश के शीर्ष पर समोच्चों को ओवरले करने की कोशिश कर रहा हूं। हालांकि, मेरे समोच्च लेबल हमेशा स्क्रीन पर नहीं दिख रहे हैं।कंटूर लेबल्स

problem

आप देख सकते हैं, समोच्च लेबल केवल अंतरतम कुछ आकृति पर दिखाई दे रहे हैं: नीचे एक उदाहरण है।

यह जानते हुए कि मेरी समोच्च सीमा के रूप में

list(range(950,1052,4)) 

पहले परिभाषित किया गया है मैं है निम्नलिखित कोड को वास्तव में साजिश:

parallels = np.arange(0.,90,5.) 
basem.drawparallels(parallels,labels=[1,0,0,0],fontsize=10) 
# draw meridians 
meridians = np.arange(180.,360.,5.) 
basem.drawmeridians(meridians,labels=[0,0,0,1],fontsize=10) 
basem.drawstates() 
basem.drawcountries() 
if clevs != 0: 

    cs = basem.contourf(x,y, plotted_var, clevs) 
    cl = basem.contour(x,y, plotted_var, clevsl, colors='k') 
    plt.clabel(cl, fmt="%1.0f", fontsize=8) 

else: 
    cs = basem.contourf(x,y, plotted_var, cmap=plt.get_cmap(colorbar), 
     vmin = vmin, vmax = vmax) 

cbar = basem.colorbar(cs, location='bottom', pad = "5%") 

cbar.set_label(units) 

इसके अतिरिक्त, मेरी आधार मानचित्र परिभाषा है:

basem = Basemap(width=5800000,height=3000000, 
     rsphere=(6378137.00,6356752.3142),\ 
     resolution='h',area_thresh=1000.,projection='lcc',\ 
     lat_1=45.,lat_2=55,lat_0=40,lon_0=-102.) 

क्या यह एक बग है या क्या मैं कुछ याद कर रहा हूं? मैं मैन्युअल के उपयोग से बचने का प्रयास कर रहा हूं यदि मैं कर सकता हूं।

इनपुट डेटा एक वैश्विक डेटासेट (जीएफएस मौसम मॉडल) है। एक्स, वाई द्वारा प्राप्त कर रहे हैं:

lons2, lats2 = np.meshgrid(lons, lats) 

x,y = basem(lons2, lats2) 

जहां Lons, लाट्स हैं:

lons = [0.0, 0.25, 0.5, 0.75, 1.0, ..., 359.75, 360.0] 
lats = [-90, -89.75, ..., 89.75, 90] 
+0

मैं इस बात की सराहना कर सकता हूं कि कच्चा डेटा किसी लाइसेंसिंग समझौते या कुछ के तहत हो सकता है - लेकिन 'x',' y' और 'plotted_var' के कुछ प्रतिनिधि अनुमानों का परीक्षण/प्रतिलिपि करने में सक्षम होने के लिए उपयोगी होगा। –

+0

इनपुट डेटा मानक जीएफएस मौसम संबंधी डेटा है। मैं डेटा के कुछ प्रस्तुतियों के साथ पोस्ट संपादित करूंगा। – Laxsnor

उत्तर

1

मैं बहुत की तरह इस मुद्दे को हल गए हैं लगता है:

resolved issue

क्या मैं करना पड़ा डेटामैप पर डेटा को बाध्य किया गया था जो बेसमैप पर देखा जा सकता है। मेरा इनपुट डेटासेट एक वैश्विक डेटासेट था, और जब मैंने इसे बाध्य किया (नीचे सफेद क्षेत्रों में देखा गया), समोच्च लेबल ज्यादातर नक्शा सीमाओं के भीतर दिखाई देते हैं। यह अभी भी एक बग जैसा लगता है- एक प्रदर्शन क्षेत्र की मेरी पसंद लगभग हर दूसरे मौसम ग्राफिक्स प्रोग्राम (जैसे ग्रेड) में समोच्च लेबल के स्थानों को बदलती है, लेकिन मैं अब इसके लिए उत्तर देने जा रहा हूं।

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