我目前正在编写一个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()
我只想说,数组的工作正常。我已经对它进行了测试,它可以很好地提取数据。所以,我已经在我的RAM周围放了200到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路径,所以我想知道我是否无法访问这些路径或其他东西。任何建议将不胜感激。谢谢!
P.S。也许我应该提到我使用的是Ubuntu。不知道这是否相关。
答案 0 :(得分:1)
为了让您的生活更轻松,您可以使用
from pylab import *
这将导入完整的pylab包,其中包括matplotlib和numpy。
干杯