Matplotlib绘制近似相等数据时左上角数值的显示逻辑?
关于Matplotlib折线图左上角数值2.8892100000e7的输出逻辑解释
测试代码
%matplotlib inline import matplotlib.pyplot as plt dataset = [28892147.7659855, 28892150.0913124, 28892148.7255983, 28892146.365328, 28892148.101613, 28892147.0887403, 28892147.8564253, 28892146.8626385, 28892146.480244, 28892146.8724146, 28892146.699191, 28892146.405013, 28892146.225238, 28892146.434353, 28892146.3250017, 28892146.344571, 28892146.494564, 28892146.36454, 28892146.8347917, 28892146.20861, 28892146.222876] plt.plot(dataset)
数值的输出逻辑
这个左上角的2.8892100000e7是Matplotlib自动生成的轴偏移量,核心目的是简化坐标轴刻度的显示:
- 你的数据集所有数值都集中在
28892146~28892150区间,换算成科学计数法约为2.88921×10^7 - Matplotlib会提取这个区间的公共近似基数作为偏移量,然后把坐标轴刻度显示为「真实数据值 - 偏移量」的结果
- 想要得到对应数据的真实值,只需把坐标轴刻度的数值加上这个偏移量即可
举个直观例子:如果坐标轴刻度显示46,对应的真实值就是2.8892100000e7 + 46 = 28892146,正好匹配你数据集里的最小值,这样刻度只显示末尾的小数字,避免了长串数值带来的杂乱感。
关闭偏移量的方法
如果不想显示这个偏移量,希望坐标轴直接展示完整数值,可以在绘图代码后添加一行:
plt.ticklabel_format(useOffset=False)
内容的提问来源于stack exchange,提问作者Curious
相关产品推荐
相关产品推荐

