我的数据有问题。一些信息给你:我有两个数据管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个样本占用。
UPDATE!使用此代码:
N = len(Bx)
time = np.linspace(0, 300, N)
plt.plot(time, Bx, ...)
看起来您需要定义的时间是:np.linspace(0,300,266336)
。
这将[0, 300]
区间划分为266336
等于'steps'。
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)
如果这(单独)不起作用,那么我无能为力,因为它对我有用。如果它确实有效,但是你的脚本没有找到你在脚本中做的其他事情会搞砸你的数字显示......