为什么matplotlib会给出错误[<matplotlib.lines.line2d at =“”0x111fa5588 =“”>]?

时间:2015-07-24 12:20:40

标签: python matplotlib

我在python中编程,我使用Anaconda在OS Yosemite上工作:Conda版本:3.15.1,Python版本:3.4.3.final.0我在剧情中遇到了这个问题:

import matplotlib.pyplot as plt   
a=[1,2,3] 
b=[10,20,30]
plt.plot(a,b)
plt.show()

但我有错误:[]。我读了一些关于同样问题的其他问题,但我还没有解决我的问题。 提前致谢。 朱塞佩

3 个答案:

答案 0 :(得分:3)

这不是错误信息。 plt.plot返回matplotlib.lines.Line2D对象的列表。该对象由解释器打印为:

<matplotlib.lines.Line2D object at ...>

这种格式是解释器打印没有方法__repr __的所有内容。

与此示例完全相同

>>> def f():
...     return 42
... 
>>> f()
42

这两个类可能会更有启发性:

>>> class C():
...     def __init__(self):
...         self.meaning_of_life = 42
... 
>>> class D():
...     def __init__(self):
...         self.meaning_of_life = 42
...     def __repr__(self):
...         return "Meaning = {}".format(self.meaning_of_life)
... 
>>> C()
<__main__.C object at 0x7f4a3255b8d0>
>>> D()
Meaning = 42

如果情节没有显示,那么其他地方就有问题,但它与该消息无关(在调用plt.plot之后应该打印出来,无论如何都是plt.show)。

答案 1 :(得分:3)

您可以在导入之前尝试此操作

%matplotlib inline

答案 2 :(得分:-1)

您可能需要安装matplotlib

Name
------------------
HistoryName
SearchName
NULL

或在Ubuntu上

pip install matplotlib

然后,您的代码在我的机器上打印一个简单的折线图。