Chart.js сгруппированы с накоплением баров - PullRequest
0 голосов
/ 13 января 2019

Я хочу делать гистограммы с накоплением, а также группировать некоторые из них и, возможно, раскрасить их немного по-другому.

У меня есть следующие данные:

regionsSelected = ['North', 'South'];

var variables = {
    'var1' : {
    0 : {'North' : 3, 'South' : 4},
    1 : {'North' : 3.5, 'South' : 4.5}
    },
  'var2' : {
    0 : {'North' : 5, 'South' : 5},
    1 : {'North' : 5.5, 'South' : 5.5}
  }
}
//myChart.data.labels = ['var1','var2'];
var bgColor = {
    'North': 'rgb(152,78,163)',
  'South': 'rgb(77,175,74)'}

var bgColor_paired = {
    0: 
  {
    'North': 'rgb(152,78,163)',
    'South': 'rgb(77,175,74)'},
  1: 
  {
    'North': 'rgb(122,78,163)',
    'South': 'rgb(77,125,74)'}
}

for (var random_var in variables) {
    for (x=0;x<2;x++) {
    var y = x;
    var y = y.toString();
    var label = random_var + y;
    console.log(label);
    myChart.data.labels.push(label);
  }
}
for (var region in regionsSelected) {
    stacked_data = [];
  for (x=0;x<2;x++) {

    for (var random_var in variables) {
        var_data = variables[random_var][x][regionsSelected[region]];
        stacked_data.push(var_data); 
    }
  }
   myChart.data.datasets.push({
            label: regionsSelected[region],
            backgroundColor: bgColor[regionsSelected[region]],
            hoverBackgroundColor: bgColor[regionsSelected[region]],
            borderColor: bgColor[regionsSelected[region]],
            data: stacked_data,
          });
}

Я хочу сравнить x для ряда random_vars для ряда регионов друг с другом. Таким образом, регионы складываются по random_var [x], и я хочу сгруппировать их по random_var (чтобы вы могли легко сравнить random_var1 [x1] со random_var1 [x2], а затем посмотреть на следующий random_var и т. Д.

В настоящее время у меня есть регионы, которые сложены, и random_var1 [x1] en [x2] рядом друг с другом, но еще не сгруппированы. В идеале я бы немного покрасил x1 и x2, чтобы вам было легче сравнивать random_var1 [x1] с random_var2 [x1] (потому что эти столбцы будут иметь одинаковый цвет).

Я сделал скрипку со всем в ней (включая дополнительные цвета), но я не знаю, как сделать группировку:

https://jsfiddle.net/CorneelDragon/o6vkLm0d/39/

РЕДАКТИРОВАТЬ: мое «решение» будет следующим: https://jsfiddle.net/CorneelDragon/o6vkLm0d/74/. Однако столбцы не сгруппированы, я думаю, что мне нужно реализовать дополнительный код из комментария github

...