左上角的 Matplotlib 值并将其删除

rul*_*tra 5 matplotlib

我有这个包含 10 个值的数组。

这个情节

我发现我的数组逗号后面有很多数字。但我注意到左上角有价值。

有人知道它是什么以及如何删除它吗?

先感谢您。

数组:

0.00409960926442099
0.00409960926442083
0.004099609264420652
0.004099609264420653
0.004099609264420585
0.0040996092644205884
0.004099609264420545
0.004099609264420517
0.004099609264420514
0.004099609264420513
Run Code Online (Sandbox Code Playgroud)

Joh*_*anC 6

由于您的值非常接近,因此通常的刻度都是相同的。例如,如果您使用“%.6f”作为刻度格式,则每个刻度都会得到“0.00410”。那不会有太大帮助。因此,matplotlib 将基数“4.099609264420e-3”与偏移量“1e-16”放在一起来标记 yticks。因此,每个真实的 ytick 都是基数加上偏移量乘以刻度值。

为了摆脱这些奇怪的数字,你必须重新评估你到底想通过你的情节实现什么。如果您设置一些 y 限制(例如plt.ylim(0.004099, 0.004100)),您会得到一条相当暗淡的水平线。请注意,1e-16 非常接近使用标准浮点数学可以获得的最大精度。

下面是一些演示代码,展示了“%.6f”格式的外观:

import matplotlib.pyplot as plt
import matplotlib.ticker as mtick

plt.plot([0.00409960926442099, 0.00409960926442083, 0.004099609264420652, 0.004099609264420653,
          0.004099609264420585, 0.0040996092644205884, 0.004099609264420545, 0.004099609264420517,
          0.004099609264420514, 0.004099609264420513])
plt.gca().yaxis.set_major_formatter(mtick.FormatStrFormatter('%.6f'))
plt.tight_layout()
plt.show()
Run Code Online (Sandbox Code Playgroud)

6 位数字刻度