IDLEでmatplotlib.pyplotを使用してデータをプロットしようとしています。これは教室の外でmatplotlibを使うのを初めて試みたことです。IDLEを使用したPyPlot
私のコードはかなり単純です。CSVからデータフレームにデータをロードし、それを散布図に載せようとします。
Traceback (most recent call last):
File "C:/Users/dmccarville/Desktop/DJM Figures/plot.py", line 10, in <module>
plot_me = data.plot(x=data['Density'], y=data['Cost per Pupil'], kind='scatter')
File "C:\Python34\lib\site-packages\pandas\plotting\_core.py", line 2617, in __call__
sort_columns=sort_columns, **kwds)
File "C:\Python34\lib\site-packages\pandas\plotting\_core.py", line 1859, in plot_frame
**kwds)
File "C:\Python34\lib\site-packages\pandas\plotting\_core.py", line 1684, in _plot
plot_obj.generate()
File "C:\Python34\lib\site-packages\pandas\plotting\_core.py", line 240, in generate
self._make_plot()
File "C:\Python34\lib\site-packages\pandas\plotting\_core.py", line 833, in _make_plot
scatter = ax.scatter(data[x].values, data[y].values, c=c_values,
File "C:\Python34\lib\site-packages\pandas\core\frame.py", line 1958, in __getitem__
return self._getitem_array(key)
File "C:\Python34\lib\site-packages\pandas\core\frame.py", line 2002, in _getitem_array
indexer = self.loc._convert_to_indexer(key, axis=1)
File "C:\Python34\lib\site-packages\pandas\core\indexing.py", line 1168, in _convert_to_indexer
return labels.get_loc(obj)
File "C:\Python34\lib\site-packages\pandas\core\indexes\base.py", line 2442, in get_loc
return self._engine.get_loc(key)
File "pandas\_libs\index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc (pandas\_libs\index.c:5280)
File "pandas\_libs\index.pyx", line 134, in pandas._libs.index.IndexEngine.get_loc (pandas\_libs\index.c:4819)
File "C:\Python34\lib\site-packages\pandas\core\base.py", line 51, in __str__
return self.__unicode__()
File "C:\Python34\lib\site-packages\pandas\core\series.py", line 982, in __unicode__
width, height = get_terminal_size()
File "C:\Python34\lib\site-packages\pandas\io\formats\terminal.py", line 33, in get_terminal_size
return shutil.get_terminal_size()
File "C:\Python34\lib\shutil.py", line 1071, in get_terminal_size
size = os.get_terminal_size(sys.__stdout__.fileno())
AttributeError: 'NoneType' object has no attribute 'fileno'
私はこれがIDLEで行うことができないことを示唆している、this bug reportを見つけることができました:
import matplotlib.pyplot as plt
import pandas as pd
filename = 'data.csv'
data = pd.read_csv(filename, delimiter=',')
plot_me = data.plot(x=data['Density'], y=data['Cost per Pupil'], kind='scatter')
しかし、これは私は、次の問題を抱えています長いエラーを返します。初心者の何かとして、それは私に信じられないように聞こえる。
これは間違いありませんか? IDLEを使って散布図を作ることは本当にできませんか?できるなら、何をする必要がありますか?
まず、エラーを再現できるように外部データに依存しないようにプログラムを単純化します。 [mcve]を参照してください。 – ImportanceOfBeingErnest