2017-12-18 3 views
1

matplotlib.pyplot 패키지 & Spyder IDE의 Python 3을 사용하여 튜플 목록을 그래프로 그립니다.Python, matplotlib.pyplot 줄 바꿈 표시 안 함

enter image description here

내가 선 그림을 볼 수 없습니다 :

import matplotlib.pyplot as plt 

def plot_test(item): 
    xdata = [] 
    ydata = [] 
    for item in list_of_epoch_total_time_tuples: 
     xdata = item[0] 
     ydata = item[3] 

    plt.plot(xdata,ydata) 
    plt.ylabel('epoch_counter') 
    plt.xlabel('square_error') 
    plt.show() 

여기 내 출력 : 다음은 내 코드 관련 조각입니다. 그래프가 비어 있습니까?

1) 내가 어떻게이를 그릴 수 있습니다 제대로

2) 어떻게 플롯 범위를 제공, 그래서 음수 값이 없을 수 있습니까? 이 질문에 추가 한 코드는 내가 가정 plt.plot(xdata,ydata) 당신이 원하는 동안

감사

답변

1

먼저, 화면 잡아에서 코드 plt.plot(xdata,item[3:]) 있습니다. 문제는 모든 반복에서 xdata 및 ydata를 덮어 쓰는 것이므로 단일 항목 값일뿐입니다. 대신 다음을 사용하십시오 :

for item in list_of_epoch_total_time_tuples: 
    xdata.append(item[0]) 
    ydata.append(item[1]) 

이렇게하면 변수의 데이터를 덮어 쓰지 않고 값을 목록의 끝에 추가합니다. 또한 항목을 plot_test()에 대한 매개 변수로 가지고 있지만 어디에서나 사용되는 것으로 보이지 않으며 for 루프 매개 변수로 이름 항목을 사용합니다. 혼란 스러울 수 있으므로 같은 이름을 두 곳에서 사용하는 것을 피해야합니다.

범위를 변경하면 사용할 수 있습니다

plt.xlim(xmin=some_min, xmax=some_max) 

또는

plt.xlim(xmin=some_min) 

경우에만 분을 변경하려면

. 그리고 당신은 ylim에 대해서도 비슷한 명령을 할 수 있습니다.

데이터 세트가있는 경우 numpy를 사용하여 조사 할 수도 있습니다. numpy 배열 사용은 일반적으로 목록 및 for 루프를 사용하는 것보다 빠릅니다.