首页 > 解决方案 > Matplolib Axes 偏移乘法(10 的幂)控制

问题描述

我想手动打开和关闭 matplotlib 绘图的偏移幂 10 乘法,就像它在图片中自动调整 x 轴和 y 轴一样。

在此处输入图像描述

我的代码:

# circle with radius pert_max[j,eps]

phi = np.linspace(0,2*np.pi,100)  
plt.plot(pert_max[j,eps]*np.cos(phi) ,pert_max[j,eps]*np.sin(phi),'k--',alpha=.5 )
        
# plot eigenvalue data from EValues[j][:,eps,:]

plt.plot(np.real(EValues[j][:,eps,:]), np.imag(EValues[j][:,eps,:]), marker='.', ls='', ms=3, c='k')

# visible window
window = pert_max[j,eps]*1.1

#x-axis
plt.xlim(-window, window)
plt.xlabel(r'$\Re(\lambda)$')

#y-axis
plt.ylim(-window, window)
plt.ylabel(r'$\Im(\lambda)$')

plt.gca().set_aspect('equal', adjustable='box')
plt.tight_layout(pad=0.1)
plt.show()

对于增加的值,标签更改为 0.0001 表示法,而不是将数量级放在轴上。我该如何手动控制它?提前致谢

标签: python-3.xmatplotlib

解决方案


对于不仅要抑制数量级,而且要将它们放置在不适合使用它们的地方的任何人,它们的自动使用余量(数据 < 10^(-n) 或数据 > 10^m)可以设置为:


fmt=ScalarFormatter(useOffset=True)
fmt.set_scientific(True)
fmt.set_powerlimits((n, m))

plt.gca().yaxis.set_major_formatter(fmt)


推荐阅读