,所以我试图从文件中读取列表,然后将其绘制为图。
这是我的代码
with open('the list') as f:
listoflang = [tuple(map( str ,i.split())) for i in f]
print listoflang
import numpy as np
import matplotlib.pyplot as plt
top= listoflang
labels, ys = zip(*top)
xs = np.arange(len(labels))
width = 1
fig = plt.figure()
ax = fig.gca()
ax.bar(xs, ys, width, align='center')
ax.set_xticks(xs)
ax.set_xticklabels(labels)
ax.set_yticks(ys)
plt.savefig('graph.png')
ListOflang看起来像
[('mysql',2),('unix',2),('linux',1),('perl',2),('php',4),('java',25),('javascript(初学者)',1),('ruby',2),('html',9),('android',1),('css',4),4),('shell',','1),('c/c ',1),('python',29),('javascript',3),('c#(初学者)',1),('jsp',1),('sql',2),('html& css',1),('c',37),('python(basics',1),('c ',25),25),('cpp',5)]
但是返回此
> Traceback (most recent call last): File "graphmon.py", line 22, in
> <module>
> plt.savefig('graph.png') File "/usr/local/lib/python2.7/dist-packages/matplotlib/pyplot.py", line
> 697, in savefig
> res = fig.savefig(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/matplotlib/figure.py", line
> 1573, in savefig
> self.canvas.print_figure(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/matplotlib/backend_bases.py",
> line 2252, in print_figure
> **kwargs) File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_agg.py",
> line 545, in print_png
> FigureCanvasAgg.draw(self) File "/usr/local/lib/python2.7/dist-packages/matplotlib/backends/backend_agg.py",
> line 464, in draw
> self.figure.draw(self.renderer) File "/usr/local/lib/python2.7/dist-packages/matplotlib/artist.py", line
> 63, in draw_wrapper
> draw(artist, renderer, *args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/matplotlib/figure.py", line
> 1144, in draw
> renderer, self, dsu, self.suppressComposite) File "/usr/local/lib/python2.7/dist-packages/matplotlib/image.py", line
> 139, in _draw_list_compositing_images
> a.draw(renderer) File "/usr/local/lib/python2.7/dist-packages/matplotlib/artist.py", line
> 63, in draw_wrapper
> draw(artist, renderer, *args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/matplotlib/axes/_base.py",
> line 2426, in draw
> mimage._draw_list_compositing_images(renderer, self, dsu) File "/usr/local/lib/python2.7/dist-packages/matplotlib/image.py", line
> 139, in _draw_list_compositing_images
> a.draw(renderer) File "/usr/local/lib/python2.7/dist-packages/matplotlib/artist.py", line
> 63, in draw_wrapper
> draw(artist, renderer, *args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/matplotlib/axis.py", line
> 1136, in draw
> ticks_to_draw = self._update_ticks(renderer) File "/usr/local/lib/python2.7/dist-packages/matplotlib/axis.py", line 969,
> in _update_ticks
> tick_tups = [t for t in self.iter_ticks()] File "/usr/local/lib/python2.7/dist-packages/matplotlib/axis.py", line 914,
> in iter_ticks
> self.major.formatter.set_locs(majorLocs) File "/usr/local/lib/python2.7/dist-packages/matplotlib/ticker.py", line
> 644, in set_locs
> self._compute_offset() File "/usr/local/lib/python2.7/dist-packages/matplotlib/ticker.py", line
> 656, in _compute_offset
> locs = locs[(vmin <= locs) & (locs <= vmax)] IndexError: in the future, 0-d boolean arrays will be interpreted as a valid boolean
> index
我会做什么错?预先感谢!
我在python 3.5.2和numpy 1.12.1上使用numpy数组和掩码的构造也有类似的问题。
构造错误显示的位置: ret[ix,(mask==zeroes)] = 0
,掩模具有与RET的第一维度相互互补的,而蒙版和零是具有相同维度的二进制数组(仅零和内部)。
当警告过滤器配置为生成错误时
with warnings.catch_warnings():
warnings.simplefilter("error") # "ignore" if not solved quickly
ret [ix,(mask ==零)] = 0
当警告过滤器配置为生成错误时,我会更频繁地得到问题。当过滤器在"警告"上设置时,错误消息也会更改。
with warnings.catch_warnings():
warnings.simplefilter("error") # "ignore" if not solved quickly
ret[ix,(mask==zeroes)] = 0
我不确定正确的解决方法是什么。