从具有较大值的numpy数组绘制曲线

时间:2016-07-04 14:30:58

标签: python arrays matplotlib

我试图绘制存储在numpy数组中的分子动力学势能数据的曲线。从附图中可以看出,在图的左上角,出现了一个与y轴上的标签相关的大数字。看它。 enter image description here 即使我重新缩放数据,仍然会出现一个数字。我不想要这个。请问您能如何解决这个问题?非常感谢..

3 个答案:

答案 0 :(得分:1)

这种情况很可能发生,因为您的数据是一个很小的值,被一个大的数据偏移。这就是-符号在数字前面的意思,“取绘制的y值并减去这个数字得到实际值”。您可以通过绘制减去平均值来删除它。这是一个例子:

import numpy as np
import matplotlib.pyplot as plt

y = -1.5*1e7 + np.random.random(100)

plt.plot(y)
plt.ylabel("units")

给出你不喜欢的表格: enter image description here

但是减去平均值(或接近该值的其他数字,如minmax等)将删除大偏移量:

plt.figure()
plt.plot(y - np.mean(y))
plt.ylabel("offset units")
plt.show()

enter image description here

答案 1 :(得分:0)

您可以使用以下方法删除偏移:

plt.ticklabel_format(useOffset=False)

答案 2 :(得分:-1)

您的数据似乎以指数形式显示,如:1e + 10,2e + 10等。 这个问题可能会有所帮助:

How to prevent numbers being changed to exponential form in Python matplotlib figure