Skip to main content
 首页 » 编程设计

python之matplotlib 中轴的刻度格式

2025年05月04日25unruledboy

我正在尝试使用 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() 

data2 中的 float 介于 0.0001 和 0.001 之间,所以当我这样做时,y 轴有像 '0.0001' '0.0002' 等刻度。 如何强制刻度以科学记数法表示('1e-3'、'1e-4' 等)? 谢谢:)

请您参考如下方法:

将其设置为 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()