默认情况下对Python绘图使用科学计数法

时间:2018-06-26 09:57:54

标签: python matplotlib

一个简单的问题:默认情况下,如何让Python在其图中使用科学计数法?在SO的各种文章中,我可以写类似

from numpy import linspace
import matplotlib.pyplot as plt

plt.figure()
plt.plot(linspace(1e6,2e6),linspace(1e6,1e7))

plt.figure()
plt.plot(linspace(8e6,9e6),linspace(2e6,2.5e7))

plt.ticklabel_format(style='sci', axis='both', scilimits=(-2,2))
plt.show()

但是ticklabel_format仅作用于matplotlib生成的最后一个图。 (如果将plt.ticklabel_format()放在代码的开头,我还会得到一个空白的数字,显示x,y轴。)

1 个答案:

答案 0 :(得分:1)

您可以通过编辑“ rc”文件来修改matplotlib的默认行为。参见Customizing matplotlib

在这种情况下,您似乎可以调整该项目:

axes.formatter.limits : -2, 2 # use scientific notation if log10
                              # of the axis range is smaller than the
                              # first or larger than the second