2017-05-09 1 views
0

Ich bin ein Insert in eine größere Figur und ich habe ein Problem mit der Größe der Ticks für beide Achsen für die Einfügung.Ändern der Größe der wissenschaftlichen Notation Tickbeschriftungen in Matplotlib

Ich habe diese Frage Matplotlib make tick labels font size smaller angeschaut und es geschafft, Ticks in der Größe zu ändern.

Allerdings werden meine Ticks mit wissenschaftlicher Notation auf beiden Achsen (automatisch) geplottet und während dies kein Problem ist, ändert sich die '1e-7' Beschriftung nicht mit den übrigen Ticks und überlagert mit der x-Achse Etikette.

Kann mir jemand sagen, wie man die Größe des '1e-7' ändert? Ich kann keinen Weg finden!

Hier ist der Code und die Figur, die mir Probleme bereitet.

logN = lognorm(s=[sigma], loc=0, scale=exp(mu)) 
domain = np.linspace(logN.ppf(0.01), logN.ppf(0.99), 250) 

ax2.set_title('uncertainty', size = 'x-small') 
ax2.set_xlabel('exceedance frequency', size = 'x-small') 
ax2.set_ylabel('probability', size= 'x-small') 
ax2.tick_params(axis = 'both', which ='major', labelsize = 7) 
ax2.plot(domain, logN.pdf(domain)) 

inset that causes problems

Antwort

0

Eine Möglichkeit ist es, die ax.yaxis.get_offset_text() Methode zu verwenden, um das Textobjekt zurückzukehren und es dann mit set_fontsize(7) gesetzt. Versuchen:

tx = ax2.xaxis.get_offset_text() 
tx.set_fontsize(7) 

Alternativ, wenn Sie die Offsets entfernen möchten, und sie dann an einer Stelle Ihrer Wahl hinzufügen, dann verwenden:

tx.set_visible(False) 
ax2.text(1.1, -.1, "1e-7", fontsize=7) 

Sie können mit der x Geige haben und y positioniert manuell, bis es gut aussieht.

+0

Funktioniert perfekt! Vielen Dank! – Elle

Verwandte Themen