我目前正在编写一个 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。不知道这是否相关。