2014-11-20 2 views
0

이 게시물의 소개 성격에 사과드립니다. 필자는 Python을 처음 접했을 때 데이터를 시각화하는 법을 배우려하고있었습니다. 나는 현재 시간 경과에 따른 특정 용어의 상대적 빈도의 시계열을 플롯하려하고있다. 나는 현재 내가 가지고있는 날이 데이터에 액세스하고 시간이 지남에 따라 한 학기의 주파수를 그릴 수있는 matplotlib.pyplot 모듈을 사용하여 코드를Numpy 배열로 플로팅

abridged_data = {'wandered': [[2005, 5.807135648994622e-06], [2006, 5.7273128507756315e-06], [2007, 6.7032709205293806e-06], [2008, 8.777680961941695e-06]], 'airport': [[2007, 1.0841708003745173e-05], [2008, 8.89465511574262e-06]], 'request': [[2005, 4.479519997292191e-05], [2006, 4.427159014360846e-05], [2007, 4.3048248627066294e-05], [2008, 4.081853901820637e-05]]} 

: 내가 사용하고있는 데이터의 축소 된 버전은 아래와 같습니다 아래 붙여 넣기.

x = np.array(mydata['wandered'])[:,0] 
y = np.array(mydata['wandered'])[:,1] 
plt.plot(x, y) 
plt.show() 

그러나, 나는 abridged_data 사전에 저장되어있는 데이터를 가지고 내 그래프에서 하나 이상의 선을 플롯하는 데 사용할 수 없었다. 누군가가 내 기존 사전에 액세스하여 모든 용어에 대한 데이터를 표시하는 가장 좋은 방법을 제시 할 수 있기를 희망했습니다.

미리 도움을 주셔서 감사합니다. 정말 감사.

답변

0

포함 된 모든 데이터 세트를 검색하려면 사전을 반복해야합니다. 원수 예 :

for key,value in abridged_data.items(): 
    x = value[:,0] 
    y = value[:,1] 
    plt.plot(x,y,label=key) 
plt.show() 

의견에서 지적한 바와 같이, 사용중인 데이터가 실제로 NumPy와 배열 인 여부에 대한 모호성이있다. 실제로 목록 인 경우 위의 코드를 사용하기 전에

for key,value in abridged_data.items(): 
    abridged_data[key] = np.array(value) 

을 실행하십시오.

+0

'value'는 일반 파이썬리스트입니다 ('np.ndarray'가 아닙니다). – hitzg

+0

질문 제목에서 실제로 numpy 배열이고 그냥 목록으로 표시되었다고 가정합니다. – ebarr

관련 문제