2013-06-25 31 views
5

içinde küçük işaretleme etiketlerini gösterirken büyük kene etiketleri gizleme Sadece küçük etiketleri koruyarak x-ekseninde büyük onay etiketlerini gizlemek istiyorum. Buradaki fikir, tarihlerimin varsayılan olarak onlardan ziyade büyük keneler arasında gösterilmesidir. Bunun gibi benzer sorulara birkaç tane daha cevap verdim ve büyük keneleri saklamak için kendi yollarını kullanmaya çalıştım, ancak çalışmam için çok şansım yok. Benim grafik şu anda şöyle görünür:Matplotlib

Major and minor ticks for November

Bu ben küçük keneler üzerindeki etiketleri koymak istedim karar vermeden önce Başlangıçta benim grafik için vardı biçimlendirme kodudur.

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

Aşağıdaki kod kullanılarak büyük keneler gizlenirken küçük kenelerin görünmesini sağlamaya çalıştım. Burada bir gün orta noktasını almak için 12 de bir saat bulma aracı kullandım:

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)) 

Ama nedense ben yukarıdaki resimde benziyor grafikler olsun - büyük ve küçük x ekseni kene etiketleri hem . Ayrıca ax.set_xticks([]) kullanarak istenmeyen keneler temizlemeyi denedim. Herkesin benzer sorunları vardı ve bunu düzeltdi mi yoksa üstesinden gelmek için bir yol biliyor mu?

cevap

6

Sen

import matplotlib.pyplot as plt 

... 
plotting nitty gritty 
... 

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

'ayar noktalarının()' ne yapar deneyebilir? –

+0

['setp (nesne, öznitelik = değer)'] (http://matplotlib.org/api/_as_gen/matplotlib.artist.setp.html#matplotlib.artist.setp) * için 'object'' 'değeri'. – wflynny