1

我正在将插图绘制成更大的图形,并且在调整插图的两个轴的刻度时遇到问题。

我看过这个问题Matplotlib 使刻度标签字体变小并设法调整刻度大小。

但是,我的刻度是在两个轴上(自动)使用科学记数法绘制的,虽然这不是问题,但“1e-7”标签不会随其余刻度调整大小,而是与 x 轴标签叠加。

有人可以告诉我如何更改“1e-7”的大小吗?我找不到办法!

这是导致我出现问题的代码和数字。

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

导致问题的插图

4

1 回答 1

3

一种方法是使用该ax.yaxis.get_offset_text()方法返回文本对象,然后使用set_fontsize(7). 尝试:

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

或者,如果您想删除偏移量,然后将它们添加到您选择的位置,请使用:

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

您可能不得不手动调整 x 和 y 位置,直到它看起来不错。

于 2017-05-09T17:41:55.157 回答