如何强制matplotlib在Y轴上使用指数符号?

时间:2019-10-03 12:37:41

标签: python matplotlib

使用具有非常小的数字的plt.plot系列进行绘图时,看起来像这样。

enter image description here

仅当数字很小(大约1E-7)时,它才变为指数表示法: enter image description here

有没有办法迫使matplotlib转换为更大的指数符号?

1 个答案:

答案 0 :(得分:2)

您想要Axes.ticklabel_format()。试试这个,例如:

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(100)
y = np.random.random(100) * 1e5

fig, ax = plt.subplots()
ax.plot(x, y)
ax.ticklabel_format(axis='y', scilimits=[-3, 3])
plt.show()

结果是:

Example plot

从文档中

  

限制范围-(m,n),一对整数;如果样式为“科学”,则对于10m至10n范围以外的数字,将使用科学计数法。使用(0,0)包括所有数字。使用(m,m),其中m <> 0将量级固定为10m。