我正在尝试使用 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()
关于python - matplotlib 中轴的刻度格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42929550/