将pyplot对象存储在变量中

时间:2018-05-23 01:16:25

标签: python-2.7 matplotlib terminal

请参阅以下代码。

>>> p = plt.plot(year, rank)
>>> p.show()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'show'
>>> plt.plot(year, rank)
[<matplotlib.lines.Line2D object at 0x7f3b56443890>]
>>> plt.show()

当我尝试将plt存储在变量p中时,会显示AttributeError: 但是当直接使用plt.show()时,它就可以工作了。我无法理解其中的差异。 我在python 2.7中使用Ubuntu 16.4,并从terminal运行该程序。

1 个答案:

答案 0 :(得分:0)

Line2D返回p个对象的列表。您将此列表存储在变量'list' object has no attribute 'show'中。正如错误告诉您的那样,show()。这可以从字面上理解,因为matplotlib.pyplotlist模块中的函数,并且任何普通的python plt.show()甚至都不知道matplotlib的存在。

您当然可以将列表存储在变量中,但为了显示图表,您需要使用import matplotlib.pyplot as plt p = plt.plot(x,y) plt.show() ,而不依赖于存储任何绘图命令的返回值

saver = tf.train.Saver()
ss = saver.save(sess, '/tmp/new_trained_model.ckpt')