Matplotlib-饼图-ValueError:“标签”的长度必须为“ x”

时间:2018-10-30 10:04:40

标签: python matplotlib

我想使用matplotlib制作饼图。我正在使用python 2.7。我正在尝试使用来自 here stackoverflow帖子的输入来重新创建给定this的示例。但是,我一直遇到错误。

这是我的代码:

import matplotlib.pyplot as plt

topic = ['A', 'B', 'C', 'D', \
     'E', 'F', 'G', 'H', 'I' \
     'J']
labels = list(topic)
sizes = [18.7, 18.4, 12.7, 8.5, 3.4, 2.4, 1.8, 1.7, 1.5, 30.9]
explode = (0, 0.1, 0, 0, 0, 0, 0, 0, 0, 0)  # only "explode" the 2nd slice (i.e. 'Hogs')

fig1, ax1 = plt.subplots()
ax1.pie(sizes, explode=explode, labels=labels, 
autopct='%1.1f%%',
    shadow=True, startangle=90)
ax1.axis('equal')  

plt.show()

这是我得到的错误:

Traceback (most recent call last):
  File "occupation_pie.py", line 13, in <module>
shadow=True, startangle=90)
  File "/anaconda2/lib/python2.7/site-packages/matplotlib/__init__.py", line 1867, in inner
return func(ax, *args, **kwargs)
  File "/anaconda2/lib/python2.7/site-packages/matplotlib/axes/_axes.py", line 2867, in pie
    raise ValueError("'label' must be of length 'x'")
ValueError: 'label' must be of length 'x'

如何使我的代码正常工作?

1 个答案:

答案 0 :(得分:1)

是否故意在,中丢失了topics

尝试更改topic = ['A', 'B', 'C', 'D', \ 'E', 'F', 'G', 'H', 'I' \ 'J']

topic = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']