score:66

Accepted answer

you should create a separate array for colors ( just like the ict_unit and efficiency ), instead of assigning a random color value each time to the color variable.

here is the revised version of your code :

$(document).ready(function() {
   $.ajax({
      url: "https://jsonblob.com/api/jsonblob/a7176bce-84e0-11e7-8b99-016f34757045",
      method: "get",
      success: function(data) {
         console.log(data);
         var ict_unit = [];
         var efficiency = [];
         var color = [];

         var dynamiccolors = function() {
            var r = math.floor(math.random() * 255);
            var g = math.floor(math.random() * 255);
            var b = math.floor(math.random() * 255);
            return "rgb(" + r + "," + g + "," + b + ")";
         };

         for (var i in data) {
            ict_unit.push("ict unit " + data[i].ict_unit);
            efficiency.push(data[i].efficiency);
            color.push(dynamiccolors());
         }
         var chartdata = {

            labels: ict_unit,
            datasets: [{
               label: 'efficiency ',
               //strokecolor:background,

               backgroundcolor: color,

               bordercolor: 'rgba(200, 200, 200, 0.75)',
               //hoverbackgroundcolor: 'rgba(200, 200, 200, 1)',
               hoverbordercolor: 'rgba(200, 200, 200, 1)',
               data: efficiency
            }]
         };

         var ctx = $("#my-canvas");
         var bargraph = new chart(ctx, {
            type: 'pie',
            data: chartdata
         })
      },
      error: function(data) {

         console.log(data);
      },
   });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/chart.js/2.6.0/chart.min.js"></script>
<canvas id="my-canvas"></canvas>

score:1

an example snippet for rgb color picker between 235 and 52

const randomnum = () => math.floor(math.random() * (235 - 52 + 1) + 52);

const randomrgb = () => `rgb(${randomnum()}, ${randomnum()}, ${randomnum()})`;

console.log(randomrgb());

resource:


Related Query

More Query from same tag