我的数据有问题。
为您提供一些信息:
我有两个数据规范Bx
-红色(规范1)和By
-蓝色(规范3),它们都包含266336条记录。两次测量均在300秒内完成。由于我的绘图,我得到了yaxis,它给我正确的单位是picoTesla,但是xaxis却给了我样本数量而不是时间。看:
plt.plot(Bx, label='Canal 1', color='r', linewidth=0.1, linestyle="-")
plt.plot(By, label='Canal 3', color='b', linewidth=0.1, linestyle="-")
关于我的代码,我设法创建了定义时间的矩阵:
dt = float(300)/266336
Fs = 1/dt
t = [0,300,dt*1e3]
我的数据矩阵如下所示:
a = np.amin(data.data)
Bx = data.data[0,]
By = data.data[1,]
我知道从这些266336条记录中,每秒发生887,78409条记录。但是该怎么做呢?让他知道,如何写python每一秒被887,78409个样本占用。
更新!
使用此代码:
N = len(Bx)
time = np.linspace(0, 300, N)
plt.plot(time, Bx, ...)
我得到这个:
最佳答案
看来您需要定义时间的全部是:np.linspace(0,300,266336)
。
这会将[0, 300]
间隔划分为266336
个相等的“步长”。
N = len(Bx)
time = np.linspace(0, 300, N)
plt.plot(time, Bx, ...)
[mcve]:
import numpy as np
import matplotlib.pyplot as plt
Bx = np.random.rand(266336)
N = len(Bx)
time = np.linspace(0, 300, N) # or 300000
plt.figure(1).clf()
plt.plot(time, Bx)
如果这个(单独)不起作用,那么我不知道为什么,因为它对我有用。如果它确实可以工作,但是您的脚本没有找到,那么您会在脚本中发现自己在做什么,这会破坏图形显示...