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

问题描述 投票:1回答:1

我的数据有问题。一些信息给你:我有两个数据管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="-")

enter image description here

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

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

我明白了:enter image description here

python python-2.7 numpy matrix data-conversion
1个回答
2
投票

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

如果这(单独)不起作用,那么我无能为力,因为它对我有用。如果它确实有效,但是你的脚本没有找到你在脚本中做的其他事情会搞砸你的数字显示......

© www.soinside.com 2019 - 2024. All rights reserved.