将 matplotlib y 轴偏移量从 1e-5 更改为大写 1E-5

问题描述 投票:0回答:1

我在 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)

The yaxis offset

python matplotlib plot
1个回答
0
投票

此解决方案将绘图两个轴上的偏移文本修复为

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

© www.soinside.com 2019 - 2024. All rights reserved.