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

时间:2015-09-25 03:54:34

标签: python matplotlib

我在win8上使用python 2.7.9。当我尝试使用matplotlib绘图时,出现以下错误:

  

来自pylab import *
  情节([1,2,3,4])

     

[matplotlib.lines.Line2D对象位于0x0392A9D0]

我尝试了测试代码“python simple_plot.py --verbose-helpful”,并出现以下警告:

  

$ HOME = C:\用户\ XX   matplotlib数据路径C:\ Python27 \ lib \ site-packages \ matplotlib \ mpl-data

           

您有以下UNSUPPORTED LaTeX前导码自定义:

     

请不要询问这些自定义项的支持。

           

加载rc文件C:\ Python27 \ lib \ site-packages \ matplotlib \ mpl-data \ matplotlibrc   matplotlib版本1.4.3   verbose.level很有帮助   互动是假的   平台是win32   CACHEDIR = C:\用户\ XX.matplotlib   使用C:\ Users \ XX.matplotlib \ fontList.cache中的fontManager实例   后端TkAgg版本8.5   findfont:匹配:family = sans-serif:style = normal:variant = normal:weight = normal:stretch = normal:size = medium to Bitstream   Vera Sans(u'C:\ Python27 \ lib \ site-packages \ matplotlib \ mpl-data \ fonts \ ttf \ Vera.ttf')得分为0.000000

这是什么意思?我怎么能让matplotlib工作?非常感谢你!

7 个答案:

答案 0 :(得分:24)

这不是一个错误。这创建了一个绘图对象,但是你需要显示窗口。使用pyplot.show()完成了......所以你真的必须这样做......

show()

如果你不相信我,这里有来自IPython的踪迹:

In [9]: from pylab import *

In [10]: plot([1,2,3,4])
Out[10]: [<matplotlib.lines.Line2D at 0x123245290>]

In [11]: show()

我们得到:

enter image description here

如评论中所述,您应该避免使用pylab。您应该使用matplotlib.pyplot代替....所以:

import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.show()

答案 1 :(得分:0)

在Jupyter nodebook中,您只需插入

即可
%matplotlib inline

在使用matplotlib之前。

答案 2 :(得分:0)

如果你正在使用jupyter笔记本,你可以在命令

上运行交互式绘图
  

离子()

在你绘制任何东西之前

。这将在笔记本中显示图形。

答案 3 :(得分:0)

我在jupyter笔记本中也遇到了同样的消息。

我刚刚添加了%matplotlib笔记本,并且现在显示了我的图表。

我认为%matplotlib内联也应该起作用。

答案 4 :(得分:0)

出现此问题。您只需要使用show()函数即可在窗口中显示它。使用pyplot.show()

答案 5 :(得分:0)

在Spider上运行plt.plot()时,您现在会收到以下通知:

现在默认情况下,“图形”窗格中将渲染图形。要使它们也以内联方式显示在控制台中,请取消选中“图”窗格选项菜单下的““静音内联图””。

我遵循了这条指令,并且有效。

答案 6 :(得分:-1)

您也可以在绘图前添加 plt.figure(),这将创建一个图形并在其上绘制您的数据