1

我目前正在编写一个 python 脚本,它绘制一个包含一些数据的 numpy 矩阵(我计算起来没有任何困难)。由于与我如何创建数据有关的复杂原因,我必须通过终端。我在 Spyder 中使用imshow(). 所以,我想我会尝试在终端中做同样的事情。这是我的代码:

      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()

可以说,数组的东西工作得很好。我已经对其进行了测试,它可以很好地提取数据。所以,我有这个 200 x 200 的数字数组漂浮在我的 RAM 周围,我想显示它。当我在 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。不知道这是否相关。

4

1 回答 1

1

为了让您的生活更轻松,您可以使用

from pylab import *

这将导入完整的 pylab 包,其中包括 matplotlib 和 numpy。

干杯

于 2014-10-21T02:37:19.447 回答