2013-09-30 2 views
2

저는 파이썬과 Stackoverflow를 처음 사용합니다.matplotlib로 파이썬에서 데이터를 열고 플롯

8.2178200e-02 

8.2173600e-02 8.2129400e-02 8.2209000e-02 8.2183000e-02 8.2098900e-02 8.2162500 :이 같이 보입니다 부동 소수점 숫자가 포함 된 .txt 파일이 E-02 8.2157700e-02 8.2177900e-02 8.2177600e-02 8.2088400e-02 8.2142900e-02 8.2179600e-02 8.2159200e-02 8.2144800e-02 8.2139000e-02 8.21212 00e-02 8.2157900e-02 8.2142600e-02 8.2190600e-02 8.2129500e-02 8.2125800e-02 8.2097500e-02 8.2087300e-02 8.2206800e-02 8.2175400e-02 8.2183300 E-02 8.2197400e-02 8.2129500e-02 8.2101600e-02 8.2117800e-02 8.2125900e-02 8.2131300e-02 8.2107600e-02 8.2146900e-02 8.2122400e-02 8.2111800 e-02 8.2156100e-02 8.2088500e-02 8.2135300e-02 8.2119700e-02 8.2100800e-02 8.2135700e-02 8.2126900e-02 8.2134000e-02 8.2111000e-02 8.2101600e-02 8.2108600e-02 8.2142900e-02 8.2091000e-02 8.2117700e-02 8.2061400e-02 8.2085200e-02 8.2080400e-02 8.2075400e-02 8.2064400e-02 8.2059700e-02 8.2098200e-02 8.2077200e-02 8.2138200e-02,515,8.2116300e-02 8.2092000e-02 8.2071900e-02 8.2092500e-02 8.2056900e-02 8.2108900e-02 8.2061300e-02 8.2064300e-02 8.2063900e-02 8.2120600e-02 8.2049500e-02 8.2087300e-02 8.2066800e-02 8.2074900e-02 8.2052400e-02 8.2093200e-02 8.2061800e-02 8.2043700e-02 8.2070500e-02 8.2056900e-02 8.2084000e-02 8.2075900e-02 012 3,516,8.2065900e-02 8.2054200e-02 8.2037400e-02 8.2040600e-02 8.2085500e-02 8.2029000e-02 8.2057000e-02 8.2045700e-02 8.2112600e-02 8.2068000e-02 8.2034900e-02 8.2045200e-02 8.2046400e-02 8.2067300e-02 8.2080500e-02 8.2021400e-02 8.2047300e-02 8 .2060200e 02 8.2042900e-02 8.2065200e-02 8.2056100e-02 8.1990900e-02 8.2055700e-02 8.2030300e-02 8.2103400e-02 8.2092600e-02 8.1995200e-02 8.2075300 E-02 8.2001500e-02 8.2064000e-02 8.2033500e-02 8.2042800e-02 8.2037400e-02 8.2002000e-02 8.2057900e-02 8.2025100e-02 8.2038900e-02 8.2035200 e-02 8.2005700e-02,363,210 8.2016700e-02 8.2012800e-02 8.1984900e-02 8.2066200e-02 8.2029600e-02 8.2027400e-02 8.2012200e-02 8.2009400e-02 8.2024900e-02 8.2038700e-02 8.2034700e-02 8.2016200e-02 8.1964500e-02 8.2019400e-02 8.2010500e-02 8.2004100e-02 8.2057500e-02 8.2052300e-02 8.2004500e-02 8.1998400e-02 8.2011600e-02 8.2038400e-02,451,515,8.2002500e-02 8.2005700e-02 8.2065900e-02 8.1991200e-02 8.2039900e-02 8.2028200e-02 8.2027000e-02 8.2021300e-02 8.2019600e-02 8.2032900e-02 8.2011700e-02 8.2017400e-02 8.2069400e-02 8.1998400e-02 8.2059400e-02 8.1958300e-02 8.1995800e-02 8.2018500e-02 8.1973400e-02 8.2008800e-02 8.1995900e-02 8.1989400e-0 2 8.1991800e-02 8.2000600e-02 8.2040400e-02 8.2035700e-02 8.1987800e-02 8.2027400e-02 8.2010800e-02 8.1991300e-02 8.1999400e-02 8.1926800e- 02 8.2021100e-02 8.1967800e-02 8.1992600e-02 8.2022200e-02 8.1933100e-02 8.1998900e-02 8.2004300e-02

나는이 데이터를 넣어 프로그램을 구축 할 수있는 방법 내가 빈번하게 얻기 위해 사용해야하는 문자열로 cy 응답 및 Matplotlib를 사용하여 데이터 플롯? 데이터 양은 알 수 없습니다. y 축의 경우 데이터 포인트가 그려집니다. x 축의 경우 숫자가 1 씩 증가하며 [0,1,2,3,4,5,6 ... n]입니다. 이것을 구현하는 더 좋은 방법이 있다면, 자세히 설명해주십시오. 감사합니다!

+2

는 당신이 우리를 보여줄 수 :

예를 들어, 데이터와 당신은 위의 게시? 사양 목록이 아닌 고정 코드가 필요한 경우 여기에서 더 나은 응답을 얻을 수 있습니다. – tacaswell

+1

및 SO! 여기 사람들은 가시가있을 수 있으며 개인적으로 받아들이지 마십시오. http://stackoverflow.com/help – tacaswell

답변

1

데이터를 float 배열로 읽으려면 numpy를 사용하고, 범위 (len (your_array))에 대해 플롯하면 플롯을 표시하십시오.

1

메모리에 전체 파일을로드 방지하기 위해,이 같은 시간에 하나씩을 읽을 수 있습니다 :

import matplotlib.pyplot as plt 
with open('number_file.txt', 'r') as f: 
    number_string = f.read(13) # 13 characters in each number 
    x_index = 0 
    while number_string != '': 
     plt.plot([x_index], [float(number_string)], 'ob') 
     # print(x_index, number_string) 
     f.read(1) # this throws away the extra space 
     number_string = f.read(13) 
     x_index += 1 

plt.show() 

이 숫자를 가정하고 간격은 정확한 형식에 항상이다.

+0

파일을 다운로드하십시오. 아래에서 다운로드 할 수 있습니다. 데이터 양이 너무 커서이 방법을 사용할 수 없습니다. 지원해 주셔서 감사합니다. https://www.facebook.com/ajax/messaging/attachment.php?attach_id=29169ed0f42f81f7bbef1aae181fe1be&mid=mid.1380596041295%3Adfd7a8c895556c9101&hash=AQBvYsz4I5mkTAQu –

+0

다른 헬퍼 나 사람들에게 보이기 위해이 페이지의 모든 정보를 보관하고 싶습니다. 동일한 문제가있는 데이터 파일의 처음 몇 줄을 복사하여 문제에 붙여 넣으십시오. 그것을 선택하고 도구 모음에서 {} 아이콘을 눌러 포맷하십시오. 대부분의 대형 데이터 파일은 각 행에 하나의 항목이 있으며,이 경우 솔루션을 단순화합니다. 그렇지 않으면 전체 파일을 업로드하는 유일한 방법은 [다음 중 하나와 같은] 외부 사이트에 있습니다 (http://www.smashingapps.com/2009/05/22/6-more-free-file-hosting-websites). -that-would-be-useful.html) 그런 다음 질문에 연결하십시오. – Justin

+0

나는 당신의 지시에 따라 그것을 게시했습니다. 내 데이터 파일의 몇 줄 만 복사됩니다. 그것은 큰 데이터 파일입니다. 내 교수는 그의 MATLAB 연구 논문에서 예제로 사용했기 때문에하지만 난 괜찮을 것 같아요. –

1

주파수 정보에 대해 원하는 정보를 언급했습니다. 파워 스펙트럼 밀도 플롯을 찾으려면 matplotlib.pyplot.psd을보십시오. 당신이 시도 것을

import numpy as np 
import matplotlib.pyplot as plt 

data = np.loadtxt('yourdata.txt') 
plt.psd(data) 
plt.show() 

enter image description here

관련 문제