从大数值的numpy数组绘制一条曲线

问题描述:

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

看来你的数据显示在指数形式,如:1E + 10,+ 2E 10等 这里这个问题可能会有所帮助:

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

+0

非常感谢您的有用评论 – Gio

这可能是因为你的数据是一个很大的值抵消的数据。这就是-符号意味着在数字的前面,“取得绘制的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

您可以删除通过我们的偏移ing:

plt.ticklabel_format(useOffset=False)