Matplotlib绘制饼图时使用slices参数出现错误该如何解决?
报错原因
你代码中plt.pie()方法的colors参数传入格式错误:预先定义的colors变量已经是包含5个颜色值的一维列表,传参时额外加了一层方括号写成colors=[colors],变成了二维嵌套列表,不符合plt.pie()要求的「与饼块数量对应的一维颜色序列」格式,因此触发报错。
解决方法
将plt.pie()中的colors=[colors]改为colors=colors即可,修改后的完整代码如下:
from matplotlib import pyplot as plt slices = [7, 2, 2, 13, 15] activities = ["Sleep", "Eat", "Play", "Study", "Entertainment"] colors = ['c', 'm', 'r', 'b', 'g'] plt.pie(slices, labels=activities, colors=colors, startangle=90, shadow=True, explode=(0, 0, 0, 0.1, 0), autopct='%1.1f%%' ) plt.legend() plt.title("Pie Chart") plt.show()
修改后运行即可正常生成饼图。
内容的提问来源于stack exchange,提问作者Mayank Jaiswal
相关产品推荐
相关产品推荐

