matplotlib 1.2.1以log轴和bar失败

时间:2013-07-22 19:42:05

标签: matplotlib enthought

以下代码应生成两个相同的直方图重叠。

x = scipy.random.normal(0,1,100)

f = figure(num=1)
f.clear()
ax = f.add_subplot(111)
ns,bns,plt0  = ax.hist(x,bins=10,log=True)
plt1 = ax.bar(bns[0:-1],ns,width=bns[1:]-bns[0:-1],color='r',log=True)
draw()

但是,它在以“plt1 = ax.bar”开头的行上失败,并出现以下错误:

...
 File "/Users/xof/Documents/Dev/environments/tuneup/lib/python2.6/site-packages/matplotlib/transforms.py", line 786, in from_bounds
   return Bbox.from_extents(x0, y0, x0 + width, y0 + height)
TypeError: unsupported operand type(s) for +: 'NoneType' and 'float' 

在线查看后,这似乎是Enthought的Canopy和matplotlib的Macport的问题。由于没有其他人在matplotlib邮件列表上报告此错误,我认为它来自Macports和Enthought使用的配置。

1 个答案:

答案 0 :(得分:0)

在Canopy 1.0.3下我看到与matplotlib 1.2.1相同,但与matplotlib 1.2.0不同。不能肯定,但考虑到这一点,并考虑到它在Macports中的出现,可能性是这是一个matplotlib回归。添加matplotlib标签。