我希望我的 y 轴以科学记数法进行格式化。
我已经尝试过matplotlib 文档,但它忽略了我的命令。
import matplotlib.pyplot as plt
import numpy as np
x = np.random.randint(1e4, size=200)
y = np.random.randint(1e4, size=200)
plt.ticklabel_format(axis='both', style='sci')
plt.xlabel('x')
plt.ylabel('y')
plt.scatter(x,y, color='b', s=5, marker=".")
plt.show()
Run Code Online (Sandbox Code Playgroud)
我的输出只是以非科学符号出现。
例如,我希望 ylabel1000为1E03.
这段代码只是一个例子。
我有一个子图,其中图 1 和图 3 使用科学记数法,但图 2 使用非科学记数法。
谢谢。
小智 7
通过
plt.ticklabel_format(axis='both', style='sci', scilimits=(0,0))
Run Code Online (Sandbox Code Playgroud)
为我工作。
(正如 @Meysam-Sadeghi 建议的那样,但没有 plt.subplots())
你应该添加scilimits=(4,4)到你的命令中
plt.ticklabel_format(axis='both', style='sci', scilimits=(4,4))
例如你的代码将变成:
x = np.random.randint(1e4,size=200)
y = np.random.randint(1e4,size=200)
plt.ticklabel_format(axis='both', style='sci', scilimits=(4,4))
plt.xlabel('x')
plt.ylabel('y')
plt.scatter(x,y, color='b', s=5, marker=".")
plt.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3678 次 |
| 最近记录: |