2017-05-02 15 views
-1

を使用しているときにエラー、Pythonプログラミング、ipythonノートにこのコードを実行中にmatplotlibの

import matplotlib.pyplot as pl 
x = [1, 2, 3, 4, 5] 
y = [2, 4, 6, 8, 10] 

plt.plot(x, y) 

plt.plot(x, y) 

plt.ylabel('Doubles') 

は、私はこれらのエラーに直面していました:

TypeError         Traceback (most recent call last) 
<ipython-input-4-f244d65cd40c> in <module>() 
     1 x={1,2,3,4,5} 
     2 y={2,4,6,8,10} 
----> 3 plt.plot(x,y) 

/usr/local/lib/python3.5/dist-packages/matplotlib/pyplot.py in plot(*args, **kwargs) 
    3315      mplDeprecation) 
    3316  try: 
-> 3317   ret = ax.plot(*args, **kwargs) 
    3318  finally: 
    3319   ax._hold = washold 

/usr/local/lib/python3.5/dist-packages/matplotlib/__init__.py in inner(ax, *args, **kwargs) 
    1896      warnings.warn(msg % (label_namer, func.__name__), 
    1897         RuntimeWarning, stacklevel=2) 
-> 1898    return func(ax, *args, **kwargs) 
    1899   pre_doc = inner.__doc__ 
    1900   if pre_doc is None: 

/usr/local/lib/python3.5/dist-packages/matplotlib/axes/_axes.py in plot(self, *args, **kwargs) 
    1405 
    1406   for line in self._get_lines(*args, **kwargs): 
-> 1407    self.add_line(line) 
    1408    lines.append(line) 
    1409 

/usr/local/lib/python3.5/dist-packages/matplotlib/axes/_base.py in add_line(self, line) 
    1791    line.set_clip_path(self.patch) 
    1792 
-> 1793   self._update_line_limits(line) 
    1794   if not line.get_label(): 
    1795    line.set_label('_line%d' % len(self.lines)) 

/usr/local/lib/python3.5/dist-packages/matplotlib/axes/_base.py in _update_line_limits(self, line) 
    1813   Figures out the data limit of the given line, updating self.dataLim. 
    1814   """ 
-> 1815   path = line.get_path() 
    1816   if path.vertices.size == 0: 
    1817    return 

/usr/local/lib/python3.5/dist-packages/matplotlib/lines.py in get_path(self) 
    987   """ 
    988   if self._invalidy or self._invalidx: 
--> 989    self.recache() 
    990   return self._path 
    991 

/usr/local/lib/python3.5/dist-packages/matplotlib/lines.py in recache(self, always) 
    674     x = ma.asarray(xconv, np.float_).filled(np.nan) 
    675    else: 
--> 676     x = np.asarray(xconv, np.float_) 
    677    x = x.ravel() 
    678   else: 

/usr/local/lib/python3.5/dist-packages/numpy/core/numeric.py in asarray(a, dtype, order) 
    529 
    530  """ 
--> 531  return array(a, dtype, copy=False, order=order) 
    532 
    533 

TypeError: float() argument must be a string or a number, not 'set' 

私はこれらのエラーが何であるかわからないし、なぜ彼らがあります?私はIpythonの2と3の両方のPythonバージョンを使用しましたが、どちらの場合も同様の種類のエラーは持続します。これらのエラーを修正するにはどうすればよいですか?ありがとう

答えて

2

エラーメッセージのコードと投稿されたコードが一致しません。大括弧[]をリストに使用し、トレースバックで中括弧{}を使用している場合は、最初のアプローチは正しいです。

1

トレースバックは、変数をリストではなくセットとして定義していることを示しています。 plt.plot()関数がリストを期待しています。

変数を定義するときは、かっこを使用し、中括弧は使用しないでください。つまり、x = [1,2,3,4,5]ではなくx = {1,2,3,4,5}

関連する問題