2013-06-29 3 views
0

나는 한 폴더에 바이너리와 ascii 파일을 많이 가지고있다. 내가 glob 모듈을 사용하여 그들을 읽고있다. 이진 데이터의 처리를 수행하여 내가 그려 낼 수있게하십시오. 그리고 마지막으로, 다른 서브 플로트에서 하나의 서브 플롯과 일반 ascii 파일에 단순화 된 바이너리 데이터를 플로팅하려고합니다. 내가 직면하고있는 문제는 해당 이진 파일에 대한 플롯을 생성 할 수 있다는 것입니다. 그러나 ascii 파일의 경우 이전 파일을 무시하고 항상 동일한 플롯을 생성합니다. 여기에 누군가가 파일은 다른 세트가 올바르게 음모 하나 개의 데이터 세트에 대한 음모를 꾸미고 동안 서로를 교체하는 이유를 설명하시기 바랍니다 수있는 예 -파이썬 플롯 팅 데이터를 재정의

import glob 
import numpy as np 
from struct import unpack 
import matplotlib.pyplot as plt 

chi = sorted(glob.glob('C:/Users/Desktop/bin/*.chi')) 

for index,fh in enumerate(chi): 
    data = np.genfromtxt(fh, dtype = float) 
    x = [row[0] for row in data] 
    y = [row[1] for row in data] 

binary = sorted(glob.glob('C:/Users/Desktop/bin/*.bin')) 

for count,FILE in enumerate(binary): 
    F = open(FILE,'rb') 
    B = unpack('f'*1023183, F.read(4*1023183)) 
    A = np.array(B).reshape(1043, 981) 
    F.close() 

    #a = something column 1 # some further processing 
    #b = something column 2 # and generates 1D data 

    fig = plt.figure(figsize=(11, 8.0)) 

    ax1 =fig.add_subplot(211,axisbg='w') 
    ax1.plot(a,b) 

    ax2 =fig.add_subplot(212, axisbg ='w') 
    ax2.plot(x,y) 

    plt.show() 

에 대한 코드의 간체 버전은 무엇입니까?

답변

1

루프의 구조가 올바르지 않은 경우, 아스키 파일의 루프 안에 plot 명령이 있어야합니다. 그렇지 않으면 마지막 명령 만 플롯됩니다. 이 작업을해야합니다 :

import glob 
import numpy as np 
from struct import unpack 
import matplotlib.pyplot as plt 

fig = plt.figure(figsize=(11, 8.0)) 

chi = sorted(glob.glob('C:/Users/Desktop/bin/*.chi')) 

for index,fh in enumerate(chi): 
    data = np.genfromtxt(fh, dtype = float) 
    x = [row[0] for row in data] 
    y = [row[1] for row in data] 

    ax1 =fig.add_subplot(211, axisbg ='w') 
    ax1.plot(x,y) 


binary = sorted(glob.glob('C:/Users/Desktop/bin/*.bin')) 

for count,FILE in enumerate(binary): 
    F = open(FILE,'rb') 
    B = unpack('f'*1023183, F.read(4*1023183)) 
    A = np.array(B).reshape(1043, 981) 
    F.close() 

    #a = something column 1 # some further processing 
    #b = something column 2 # and generates 1D data 


    ax2 =fig.add_subplot(212,axisbg='w') 
    ax2.plot(a,b) 

plt.show() 
:

는 다음과 같이 그것을 시도
관련 문제