2017-12-18 17 views
1

데이터에 문제가 있습니다. 당신을위한 정보 : 붉은 색 (운하 1)과 푸른 색 (운하 3) 인 By - 두 개의 데이터 칸이 있습니다. 둘 다 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 개의 샘플이 채워진다는 것을 알리기 위해.

업데이트! 이 코드를 사용 :

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