从大数值的numpy数组绘制一条曲线
问题描述:
我想绘制一个存储在numpy数组中的分子动力学势能数据的曲线。从附图中可以看到,在图的左上方出现了一个与y轴上的标签相关的大数字。看它。 即使我重新调整数据,仍然会出现一个数字。我不想要这个。请你能建议我如何理清这个问题?非常感谢你..从大数值的numpy数组绘制一条曲线
答
看来你的数据显示在指数形式,如:1E + 10,+ 2E 10等 这里这个问题可能会有所帮助:
How to prevent numbers being changed to exponential form in Python matplotlib figure
答
这可能是因为你的数据是一个很大的值抵消的数据。这就是-
符号意味着在数字的前面,“取得绘制的y值并减去这个数字来得到实际值”。您可以通过绘制减去平均值来删除它。这里有一个例子:
import numpy as np
import matplotlib.pyplot as plt
y = -1.5*1e7 + np.random.random(100)
plt.plot(y)
plt.ylabel("units")
但扣除平均(或其他一些接近的条数,像min
或max
等)将去除大偏移:
plt.figure()
plt.plot(y - np.mean(y))
plt.ylabel("offset units")
plt.show()
答
您可以删除通过我们的偏移ing:
plt.ticklabel_format(useOffset=False)
非常感谢您的有用评论 – Gio