2017-12-18 14 views
1

私のデータに問題があります。 あなたのためのいくつかの情報: 私はデータの2つのカナルを持っていますBx - 赤い1つ(運河1)とBy - 青い1つ(運河3)、どちらも266336のレコードが含まれています。両方の測定は300秒で行われます。私のプロットの結果、picoTeslaという正しい単位を与えるyaxisが得られましたが、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, ...) 

を私はこれを取得:np.linspace(0,300,266336):あなたはあなたの時間を定義するために必要なすべてがあるよう enter image description here

答えて

2

が見えます。

これは、[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) 

は、その後私は、なぜ無知です。それがうまくいってもスクリプトが見つからない場合は、あなたのスクリプト内で何をしているのかを見つけてください。

+0

コードにどのように入れますか? 'plt.plot'を修正しますか?または、 'np.line ....'が時刻である新しい変数を定義してください – Hiddenguy

+0

編集を参照してください... – Julien

+0

ねえ、私を見てください。 – Hiddenguy

関連する問題