我在 matplotlib 中有一个绘图,但无法将其从
1e-5
更改为 1E-5
。我尝试了很多,这似乎是最接近的:
ax.yaxis.get_offset_text().set_text(ax.yaxis.get_offset_text().get_text().replace('e', 'E'))
如果我运行 print(ax.yaxis.get_offset_text().get_text().)
它会打印 1E-5
,但是绘图仍然显示 1e-5
我尝试运行
plt.draw()
等,但似乎没有任何帮助。有什么建议吗? (我只有顶部有完整的勾号,侧面只写着 1,2,3,4 等,我喜欢的东西)。
(我想把它改成1E-5)
此解决方案将绘图两个轴上的偏移文本修复为
1E-5
:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
x = np.linspace(1e-5, 3e-5, 10)
class PlainOffsetScalarFormatter(matplotlib.ticker.ScalarFormatter):
def get_offset(self):
return '1E-5'
fig, ax = plt.subplots()
ax.yaxis.set_major_formatter(PlainOffsetScalarFormatter())
ax.xaxis.set_major_formatter(PlainOffsetScalarFormatter())
plt.plot(x, x)
plt.xlabel('x')
plt.ylabel('y')
plt.savefig('test.png')
如果您希望它返回不同的内容,您可以尝试使用
get_offset
。