You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何禁用matplotlib的y轴自动缩放功能以展示原始小范围y值

这个问题是matplotlib默认对数值范围极小的刻度添加全局偏移导致的,禁用该特性的方法如下:

核心解决方案

调用plt.ticklabel_format方法关闭y轴偏移即可,参考修改后的完整代码:

import numpy as np
import matplotlib.pyplot as plt
%matplotlib notebook

data = np.array([ [ 10, 0.500001 ], [20, 0.500002 ], [30, 0.500003 ] ])
plt.errorbar(x = data[:, 0], y = data[:, 1], fmt='o', capsize=2)
# 关闭y轴偏移,禁用科学计数法展示
plt.ticklabel_format(axis='y', useOffset=False, style='plain')
plt.show()

参数说明

  • axis='y':指定配置仅作用于y轴,需要同时禁用x轴偏移时可改为axis='both'
  • useOffset=False:核心参数,关闭默认的全局数值偏移特性,让刻度直接显示完整原始值
  • style='plain':可选参数,禁用刻度的科学计数法展示,确保小数值不会被自动转为指数格式显示

如果使用matplotlib面向对象的Axes接口编写代码,替换为对应Axes实例调用方法即可:
ax.ticklabel_format(axis='y', useOffset=False, style='plain')

内容的提问来源于stack exchange,提问作者francesco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 18:06:08