【发布时间】:2021-06-13 14:21:26
【问题描述】:
感谢您抽出宝贵时间阅读此问题。
我正在尝试在一行中绘制饼图。饼图的数量取决于返回的结果。
import matplotlib.pyplot as plt
import numpy as np
fig, axs = plt.subplots(1,len(to_plot_arr))
labels = ['Label1','Label2','Label3','Label4']
pos = 0
for scope in to_plot_arr:
if data["summary"][scope]["Count"] > 0:
pie_data = np.array(db_data)
axs[0,pos].pie(pie_data,labels=labels)
axs[0,pos].set_title(scope)
pos += 1
plt.show()
在代码中,db_data 看起来像:[12,75,46,29]
当我执行上面的代码时,我收到以下错误消息:
Exception has occurred: IndexError
too many indices for array: array is 1-dimensional, but 2 were indexed
我已尝试搜索可能导致此问题的原因,但找不到任何解决方案。我不确定“但 2 个已编入索引”是什么意思
我尝试使用以下方法生成饼图:
y = np.array(db_data)
plt.pie(y)
plt.show()
它会按预期生成饼图。所以,我不确定“数组的索引太多”是什么意思,哪个数组被引用以及如何解决这个问题。
希望你能帮我解决这个问题。
再次感谢您。
【问题讨论】:
-
能否提供完整的追溯信息?或者至少是引发异常的确切行。谢谢
标签: python-3.x numpy matplotlib