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)

Любая помощь или руководство были бы признательны. То, что я ищу, это что-то вроде этого: Или хотя бы что-то близкое. Спасибо! ~

Вернуться на верх