2017-09-20 6 views
0

팬더와 matplotlib를 사용하여 만든 시계열 그래프가 있습니다. (그게 전부 해당하는 경우?)matplotlib 그래프의 축 날짜 값 만들기

def graph(file): 
    pdf = PdfPages('...pdf') 
    # Temporal Change (Time Series) 
    pd.read_csv(file, usecols=['close','open']).plot() 
    plt.xlabel('Date') 
    plt.ylabel('Value') 
    plt.title('Open/Close Over Time') 
    plt.show() 

내 데이터 파일이 값에 해당하는 헤더를 가지고 있으며, 날짜 헤더는 인덱스 0에 있습니다

을 지금 그래프 작동하지만의 인덱스 : 내 기능은 다음과 같습니다 날짜 대신 시간 값이 표시됩니다. x 축 (날짜) 디스플레이에 인덱스 대신 데이터에 해당하는 날짜를 표시하려면 어떻게합니까?

편집 :이

date close volume open high low 
2017/09/13 173.05 9112378 173.01 173.17 172.06 
2017/09/12 172.96 11179730 173.76 174 171.75 
2017/09/11 173.51 12353760 172.4 173.89 172.2 
2017/09/08 170.95 10985350 173.09 173.49 170.8 
2017/09/07 173.21 18039640 171.94 173.3067 170.27 
2017/09/06 172.09 13886740 170.91 172.48 169.57 
2017/09/05 170.72 13214940 171.27 172.3875 169.55 
2017/09/01 172.02 11663360 172.4 172.915 171.31 
2017/08/31 171.97 17216280 170.4 172.145 170.06 

는 .csv 파일이처럼 데이터 파일은 ^은 그게 Excel에서 개방되는 것을 복사 한, 보이는

당신이 방법을 플로팅 팬더의 사용하려고하고 싶은 경우

답변

3

datetimes, 나는 당신이 날짜를 파싱하고 인덱스로 설정하는 것이 좋습니다. 또한 객체 지향 matplotlib 인터페이스를 권장합니다.

from io import StringIO 
from matplotlib import pyplot 
import pandas 

datafile = StringIO("""\ 
date close volume open high low 
2017/09/13 173.05 9112378 173.01 173.17 172.06 
2017/09/12 172.96 11179730 173.76 174 171.75 
2017/09/11 173.51 12353760 172.4 173.89 172.2 
2017/09/08 170.95 10985350 173.09 173.49 170.8 
2017/09/07 173.21 18039640 171.94 173.3067 170.27 
2017/09/06 172.09 13886740 170.91 172.48 169.57 
2017/09/05 170.72 13214940 171.27 172.3875 169.55 
2017/09/01 172.02 11663360 172.4 172.915 171.31 
2017/08/31 171.97 17216280 170.4 172.145 170.06 
""") 

fig, ax = pyplot.subplots(figsize=(7, 5)) 
_ = (
    pandas.read_csv(datafile, sep='\s+', 
        usecols=['date', 'open', 'close'], 
        parse_dates=['date']) 
     .set_index('date') 
     .plot(ax=ax) 
) 
ax.set_xlabel('Date') 
ax.set_ylabel('BUY! SELL!') 
ax.set_title('Money money money money') 

enter image description here

+0

나는이 구현하려고했으나 그래프는 여전히 –

+0

원래 게시물 데이터 파일 –

+1

@CassieH을 보여주기 위해 편집 날짜를 사용하지 않습니다. 내 대답을 자신의 데이터로 업데이트했습니다. –