在matplotlib中刻度轴的格式

rud*_*udy 1 python matplotlib

我正在尝试使用matplotlib绘制干净的图形。这是我的代码:

fig = plt.figure(figsize = (6,6))
plt.grid(True)
plt.xlabel('time (s)',fontweight='bold')
plt.ylabel('density',fontweight='bold')
plt.plot(data1, data2, color = 'y', linewidth = 2)
plt.show()
Run Code Online (Sandbox Code Playgroud)

data2中的浮点数介于0.0001和0.001之间,所以当我执行此操作时,y轴具有类似'0.0001''0.0002'等的刻度。如何强制将刻度设为科学计数法('1e-3','1e -4'等)?谢谢 :)

Bri*_*ian 5

设置为1e-04

import matplotlib.pyplot as plt
import matplotlib.ticker as mtick

data1 = [1,2,3,4,5]
data2 = [1e4,3e4,4e4,2e4,5e4]
fig = plt.figure(figsize = (6,6))
plt.grid(True)
plt.xlabel('time (s)',fontweight='bold')
plt.ylabel('density',fontweight='bold')
plt.plot(data1, data2, color = 'y', linewidth = 2)
plt.gca().yaxis.set_major_formatter(mtick.FormatStrFormatter('%.0e')) 
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明