簡體   English   中英

NameError:未定義全局名稱“ imshow”,但導入了Matplotlib

[英]NameError: global name 'imshow' is not defined but Matplotlib is imported

我目前正在編寫一個Python腳本,該腳本繪制一個包含一些數據的numpy矩陣(我在計算時沒有任何困難)。 由於與創建數據有關的復雜原因,我必須通過終端。 我已經使用imshow()在Spyder中完成了百萬次這樣的問題。 所以,我想我會嘗試在終端上做同樣的事情。 這是我的代碼:

      from numpy import *
      from matplotlib import *

      def make_picture():
          f = open("DATA2.txt")
          arr = zeros((200, 200))
          l = f.readlines()
          for i in l:
              j = i[:-1]
              k = j.split(" ")
              arr[int(k[0])][int(k[1])] = float(k[2])
          f.close()
          imshow(arr)

      make_picture()

可以說,數組的東西工作得很好。 我已經對其進行了測試,它可以很好地提取數據。 因此,我在RAM上浮動了這個200 x 200的數字數組,我想顯示它。 當我在Spyder中運行此代碼時,得到的正是我所期望的。 但是,當我在終端中運行此代碼時,出現錯誤消息:

      Traceback (most recent call last):
        File "DATAmine.py", line 15, in <module>
          make_picture()
        File "DATAmine.py", line 13, in make_picture
          imshow(arr)
      NameError: global name 'imshow' is not defined

(我的程序名為DATAmine.py)這是怎么回事? 我還應該導入其他內容嗎? 我知道我必須配置Spyder路徑,所以我想知道我是否無法訪問這些路徑或其他內容。 任何建議將不勝感激。 謝謝!

PS也許我應該提到我正在使用Ubuntu。 不知道這是否相關。

為了讓您的生活更輕松,您可以使用

from pylab import *

這將導入完整的pylab程序包,其中包括matplotlib和numpy。

干杯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM