2016-06-16 3 views
0

numpy 및 matplotlib를 사용하여 분산 형 차트를 플로팅하려고합니다. 그것은 매우 간단합니다, 나는 2 개의 데이터 파일을 가지고 있으며, 각각은 단일 열 세트의 데이터를 포함합니다. 두 파일 모두 동일한 수의 데이터를 가지고 있습니다.matplotlib 및 numpy를 사용하여 전체 배열을 플로팅 할 때 오류가 발생했습니다.

import numpy as np 
import pylab as pl 

xdata = np.loadtxt('data.txt') 
ydata = np.loadtxt('data1.txt') 

pl.plot(xdata, ydata, 'ro') 

pl.show() 

을하고 그것이 데이터가 동일한 차원이없는라고 나에게이 오류

File "C:/1aProjects/Python_Aryo/Plotting/test_plot.py", line 10, in <module> 
pl.plot(xdata, ydata, 'ro') 
File "C:\Python34\lib\site-packages\matplotlib\pyplot.py", line 2987, in plot 
ret = ax.plot(*args, **kwargs) 
File "C:\Python34\lib\site-packages\matplotlib\axes.py", line 4144, in plot 
for line in self._get_lines(*args, **kwargs): 
File "C:\Python34\lib\site-packages\matplotlib\axes.py", line 319, in _grab_next_args 
for seg in self._plot_args(remaining, kwargs): 
File "C:\Python34\lib\site-packages\matplotlib\axes.py", line 297, in _plot_args 
x, y = self._xy_from_xy(x, y) 
File "C:\Python34\lib\site-packages\matplotlib\axes.py", line 239, in _xy_from_xy 
raise ValueError("x and y must have same first dimension") 
ValueError: x and y must have same first dimension 

을 제공합니다

이 내가 한 일이다.

그런 다음 특정 범위에서만 플롯하려했으나 아래와 같이 72402 행까지 작동합니다.

pl.plot(xdata[0:72402], ydata[0:72402], 'ro') 

72402 이상을 입력하면 동일한 오류 메시지가 표시됩니다. 배열의 크기가 같지 않다고 알려줍니다. 내 데이터는 실제로 행 72413을 가지고 있습니다!, 그것은 단지 11 개의 더 많은 행입니다! 그것은 꽤 짜증나 는가?

아무도 도와 줄 수 있습니까?

+2

데이터 중 하나에 72402 개의 행만있는 것 같습니다. xdata.shape ** 및 **'ydata.shape'를 인쇄 해 보셨습니까? – Holt

+0

고마워, 네 행의 다른 숫자를 보여줍니다. 그것은 정렬됩니다.! : D – arsewi

답변

1

분산 형 플롯 에서처럼 x 및 y 변수를 플롯하려고합니다. 두 벡터는 같은 길이를 가져야하므로 두 길이 중 가장 작은 값까지 플롯 할 수 있다는 것을 알 수 있습니다. 주변을 둘러 볼 필요가 없습니다. 두 배열의 길이는 분명히 동일하지 않습니다.

+0

'pl.plot (xdata [0 : 72403], ydata [0 : 72403],'ro ')'이렇게 한 행을 더 추가해도 여전히 작동하지 않습니다. 그 특정 행에서 내 데이터를 검사했습니다. 그 (것)들과 틀리게 아무것도. – arsewi

+0

요청 된 유형, nan, 인용 된 문자열, 공백과 맞지 않는 데이터 항목이있을 수 있습니까? – Benjamin

+0

네 말이 맞아 .. !! 데이터 가운데에는 공백이 10 개 있습니다. 나는 그것을 발견하지 못했다. 나는 그것이 데이터의 끝 부분에 언제나있을 것이라고 생각했다. 감사! 정렬 된 – arsewi

관련 문제