如何禁用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
相关产品推荐
相关产品推荐

