一个简单的问题:默认情况下,如何让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轴。)
答案 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