2013-06-25 9 views
5

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

Major and minor ticks for November

इससे प्रारूपण कोड मैं मूल रूप से मेरी ग्राफ के लिए किया था इससे पहले कि मैं फैसला किया मैं नाबालिग टिक पर लेबल रखना चाहते थे है।

day_fmt = '%d' 
myFmt = mdates.DateFormatter(day_fmt) 
ax.xaxis.set_major_formatter(myFmt) 
ax.xaxis.set_major_locator(matplotlib.dates.DayLocator(interval=1))  

मैंने नीचे दिए गए कोड का उपयोग करके प्रमुख टिक छिपाने के दौरान मामूली टिक दिखाने के लिए प्रयास किया है। यहाँ मैं 12:00 पर एक घंटे लोकेटर का उपयोग किया है एक दिन के बीच बात समझ रहे हैं:

import matplotlib.ticker 
ax.xaxis.set_major_formatter(ticker.NullFormatter()) #Clear major tick labels 
ax.xaxis.set_minor_formatter(myFmt) 
ax.xaxis.set_minor_locator(matplotlib.dates.HourLocator(interval=12)) 

लेकिन किसी कारण से मैं रेखांकन कि ऊपर चित्र की तरह लग रही है - दोनों बड़े और छोटे x- अक्ष टिक लेबल के साथ । मैंने ax.set_xticks([]) का उपयोग करके अवांछित टिकों को साफ़ करने का भी प्रयास किया। क्या किसी के पास समान समस्याएं हैं और इसे ठीक किया है या इसे दूर करने का तरीका पता है?

उत्तर

6

आप

import matplotlib.pyplot as plt 

... 
plotting nitty gritty 
... 

plt.setp(ax.get_xmajorticklabels(), visible=False) 
plt.show() 
+0

क्या 'setp()' क्या करता है की कोशिश कर सकते? –

+0

['setp (ऑब्जेक्ट, विशेषता = मान)'] (http://matplotlib.org/api/_as_gen/matplotlib.artist.setp.html#matplotlib.artist.setp) का उपयोग * सेट * के लिए किया जा सकता है 'ऑब्जेक्ट' को 'मान' तक। – wflynny