用python绘制Matplotlib直方图

用python绘制Matplotlib直方图,python,matplotlib,histogram,Python,Matplotlib,Histogram,当我试图用python绘制直方图时,遇到了一个错误。 你能帮我解决这个错误吗? 我认为这不是一个大问题,但我能找到解决办法( 代码 错误消息: File "./scripts/plot_histo.py", line 27, in <module> analyze() File "./scripts/plot_histo.py", line 23, in analyze plt.hist(y1) File "/usr/local/anaconda2/lib/

当我试图用python绘制直方图时,遇到了一个错误。 你能帮我解决这个错误吗? 我认为这不是一个大问题,但我能找到解决办法(

代码

错误消息:

 File "./scripts/plot_histo.py", line 27, in <module>
    analyze()
  File "./scripts/plot_histo.py", line 23, in analyze
    plt.hist(y1)
  File "/usr/local/anaconda2/lib/python2.7/site-packages/matplotlib/pyplot.py", line 2958, in hist
    stacked=stacked, data=data, **kwargs)
  File "/usr/local/anaconda2/lib/python2.7/site-packages/matplotlib/__init__.py", line 1812, in inner
    return func(ax, *args, **kwargs)
  File "/usr/local/anaconda2/lib/python2.7/site-packages/matplotlib/axes/_axes.py", line 5995, in hist
    if len(xi) > 0:
TypeError: len() of unsized object

尝试调试代码。您会发现
y1
是字符串列表,因此
plt.hist(y1)
将引发

TypeError: len() of unsized object
将操作或函数应用于的对象时引发的TypeError 不合适的类型

这意味着您应该使用
float
int
,因此请尝试运行以下命令:

y1 = [float(interval) for op, response, interval in pieces]
TypeError: len() of unsized object
y1 = [float(interval) for op, response, interval in pieces]