,如果我在IPython的筆記本電腦中輸入驗證碼它的工作原理:空閒和matplotlib
plt.scatter(x,y)
但如果在Python IDLE進入它,然後我得到這個錯誤:
<matplotlib.collections.PathCollection object at 0x0000000007957908>
你有任何想法,爲什麼?
非常感謝。
,如果我在IPython的筆記本電腦中輸入驗證碼它的工作原理:空閒和matplotlib
plt.scatter(x,y)
但如果在Python IDLE進入它,然後我得到這個錯誤:
<matplotlib.collections.PathCollection object at 0x0000000007957908>
你有任何想法,爲什麼?
非常感謝。
一個答案:閱讀文檔正確
這是不是一個錯誤,它只是告訴你什麼plt.scatter(x,y)
回來......這基本上意味着plt.scatter(x,y)
結果是<matplotlib.collections.PathCollection object at 0x0000000007957908>
試這個:
result = plt.scatter(x,y)
並做任何你想要的與result
。如果您不想學習使用結果對象,請正確閱讀文檔。如果您還不明白退後一步,請執行dir(result)
,然後嘗試使用您遇到的每個變量,功能和類別。
當您在pylab模式下使用IPython時,繪圖會在繪圖後自動繪製與matplotlib的東西。這是不是這樣的,當你在空閒的工作,你必須plt.show
你的形象:如果你想與空閒您可以使用交互模式自動繪製
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:06:53) [MSC v.1600 64 bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information.
>>> from matplotlib import pyplot as plt
>>> x = [1,3,6,2]
>>> y = [4,6,7,8]
>>> plt.scatter(x,y)
<matplotlib.collections.PathCollection object at 0x0000000005A6B7B8>
>>> plt.show()
:
>>> from matplotlib import pyplot as plt
>>> from matplotlib import interactive
>>> interactive(True)
>>> x = [1,3,6,2]
>>> y = [4,6,7,8]
>>> plt.scatter(x,y)
<matplotlib.collections.PathCollection object at 0x0000000005D11BA8>
(the figure is drawn)
你怎麼知道用戶想要做什麼? –
@AnshumanDwibhashi,好吧,認爲如果使用matplotlib創建散點圖是合理的,你想要看到的是一個陰謀。在IPython中,繪圖是自動的,在閒置時需要顯示它。所以我懷疑這是什麼是令人感興趣的OP,當他說在IPython **工程**,但它不工作在閒置。 – joaquin
這是不是一個錯誤,這是您調用函數的返回值(這裏是對創建對象的引用)。你試過在這行後面調用'plt.show()'嗎? –