Django горизонтальная сложенная столбчатая диаграмма
Надеюсь, у вас все хорошо.
У меня возникли трудности с построением горизонтальной гистограммы, я чувствую, что нахожусь недалеко от решения, но не могу его найти.
Код гистограммы:
var ctx = document.getElementById("myBarChart");
total_value = parseInt(document.getElementById("total_value").textContent);
var myBarChart = new Chart(ctx, {
type: 'horizontalBar',
indexAxis: 'y',
data: {
labels: [
{% for group in chart_group_data %}
'{{group}}',
{% endfor %},
],
datasets: [ {% for obj in timeperiod_list %}
{
label: "Value",
stack: "Base",
backgroundColor: [{% for obj in group_value %} '{{obj.timeperiod.color}}',{% endfor %}],
hoverBackgroundColor: [{% for obj in group_value %} '{{obj.timeperiod.color}}',{% endfor %}],
borderColor: [{% for obj in group_value %} '{{obj.timeperiod.color}}',{% endfor %}],
data: [{% for obj in chart_percentage_data %}
'{{obj|floatformat:"2"}}',
{% endfor %}],
},
{% endfor %}],
},
options: {
responsive:true,
maintainAspectRatio:false,
layout: {
padding: {
left: 10,
right: 25,
top: 25,
bottom: 0
}
},
legend: {
display: false
},
scales: {
xAxes: [{
ticks: {
autoSkip: false,
beginAtZero: true
}
}],
yAxes: [{
stacked:true,
}]
},
}
});
views.py
for i in group:
group_value_data = GroupValue.objects.filter(group=i)
group_value_first = group_value_data.first()
group_value_last = group_value_data.last()
chart_timeperiod = TimePeriod.objects.filter(competition=obj_id)
for time in chart_timeperiod:
try:
week_group_value = group_value_data.get(timeperiod=time)
chart_percentage_data.append(week_group_value.value)
except:
chart_percentage_data.append(0)
print(chart_percentage_data)
group_details_data.append(i.name + ' | ' + i.details)
chart_group_data.append(i.name)
Любая помощь или руководство были бы признательны. То, что я ищу, это что-то вроде этого: Или хотя бы что-то близкое. Спасибо! ~