我的数据有问题。
为您提供一些信息:
我有两个数据规范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="-")


python - 将数据从矩阵附加到另一个-LMLPHP

关于我的代码,我设法创建了定义时间的矩阵:

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, ...)


我得到这个:
python - 将数据从矩阵附加到另一个-LMLPHP

最佳答案

看来您需要定义时间的全部是: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)


如果这个(单独)不起作用,那么我不知道为什么,因为它对我有用。如果它确实可以工作,但是您的脚本没有找到,那么您会在脚本中发现自己在做什么,这会破坏图形显示...

09-04 23:21