Я не знаю, как правильно сформулировать свой вопрос, но я делаю запрос к таблице на основе определенного идентификатора, а затем получаю счетчик уникального поля в столбце и счет, который я даю matplotlib для plot, но с какой проблемой я сталкиваюсь, если определенное значение не найдено, размер этикетки не соответствует количеству, а plot не работает. Ниже приведен мой запрос:
workshop_feedback = WorkshopFeedbackResponse.objects.filter(workshop_conducted=workshop_id)
count = workshop_feedback.values('q1').annotate(count=Count('q1'))
sizes = [item['count'] for item in count] #converting to list for matplotlib bar char
labels = [1,2,3] #option of choices for q1
fig, ax = plt.subplots()
ax.pie(sizes, labels=labels, autopct='%1.1f%%',
shadow=True, startangle=90)
ax.axis('equal')
# Equal aspect ratio ensures that pie is drawn as a circle.
plt.savefig(os.path.join(settings.BASE_DIR, filename)) #filename is random image filename Which i am creating image of the graph
Имя моего столбца q1, и оно может содержать 1,2,3
в качестве параметра в зависимости от того, что пользователь заполнил, но предположим, что если у меня нет 1 или любого из параметров, счетчик не не отражайте это.
Exception Value:
'label' must be of length 'x'
Выше приведена ошибка, из-за которой отсутствует счетчик определенного значения. Итак, Как получить значение 0, если определенное значение метки отсутствует?
Редактировать: Если я могу запросить на основе значения метки, чтобы получить значение в столбце, я могу исправить свою ошибку.