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行です!それはそれほど厄介なことですか?
誰でも手助けできますか?
あなたのデータの中にはおそらく72402行しかありません... 'xdata.shape' **と**' ydata.shape'を印刷しましたか? – Holt
ありがとうございます、はい、それは異なる数の行を示しています。ソートされています。 :D – arsewi