2013-06-25 14 views
5

Chciałbym ukryć główne etykiety zaznaczenia na mojej osi X, zachowując tylko mniejsze etykiety. Pomysł polega na tym, że moje daty są wyświetlane pomiędzy głównymi znacznikami zamiast domyślnie. Widziałem kilka innych odpowiedzi na podobne pytania, jak ten i próbowałem użyć ich sposobu ukrywania głównych tyknięć, ale nie mam wielkiego szczęścia, żeby to wszystko działało. Mój wykres aktualnie wygląda tak:Ukrywanie głównych etykiet zaznaczania przy wyświetlaniu mniejszych etykiet znaczników w matplotlib

Major and minor ticks for November

Jest to kod formatowania pierwotnie miał na moim wykresie przed Zachciało mi się umieścić etykiety na drobne kleszczy.

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

Próbowałem uzyskać pomniejsze znaczniki, które pojawiały się podczas ukrywania dużych znaczników za pomocą poniższego kodu. Tutaj użyłem godzinny lokalizatora w 12pm, aby środkowy punkt dnia:

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

Ale z jakiegoś powodu mam wykresy, które wyglądają tak jak na zdjęciu powyżej - z obu głównych i mniejszych etykiet kleszczy x-osiowych . Próbowałem również wyczyścić niepożądane tykoty przy użyciu ax.set_xticks([]). Czy ktoś miał podobne problemy i naprawił to lub znał sposób na przezwyciężenie tego?

Odpowiedz

6

można spróbować

import matplotlib.pyplot as plt 

... 
plotting nitty gritty 
... 

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

co robi 'SEtP()' zrobić? –

+0

['setp (object, attribute = value)'] (http://matplotlib.org/api/_as_gen/matplotlib.artist.setp.html#matplotlib.artist.setp) może być użyty do * ustawienia * atrybutu "obiekt" na "wartość". – wflynny

Powiązane problemy