Home > Enterprise >  Loop datasets into chart.js?
Loop datasets into chart.js?

Time:04-15

How do I add both datasets to the chart looping the array? I have added one dataset but when trying to add a loop to add both datasets I cant figure out how to get it to work.

<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.js"></script>

<canvas id="myChart" style="width:100%;max-width:700px"></canvas>

<script>
const datasetValue = []

    datasetValue[0] = {
      data: [860,1140,1060,1060,1070,1110,1330,2210,7830,2478],
      borderColor: "red",
      fill: false
    }

    datasetValue[1] = {
      data: [1600,1700,1700,1900,2000,2700,4000,5000,6000,7000],
      borderColor: "green",
      fill: false
    }

var xValues = [100,200,300,400,500,600,700,800,900,1000];

new Chart("myChart", {
  type: "line",
  data: {
    labels: xValues,
    datasets: [{
      data: datasetValue[0].data,
      borderColor: datasetValue[0].borderColor,
      fill: datasetValue[0].fill        
    }]
  },
  options: {
    legend: {display: false}
  }
});

</script>

CodePudding user response:

just pass the datasetValues variable directly into the datasets field:

const datasetValue = []

datasetValue[0] = {
  data: [860, 1140, 1060, 1060, 1070, 1110, 1330, 2210, 7830, 2478],
  borderColor: "red",
  fill: false
}

datasetValue[1] = {
  data: [1600, 1700, 1700, 1900, 2000, 2700, 4000, 5000, 6000, 7000],
  borderColor: "green",
  fill: false
}

var xValues = [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000];

new Chart("myChart", {
  type: "line",
  data: {
    labels: xValues,
    datasets: datasetValue
  },
  options: {
    legend: {
      display: false
    }
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.js"></script>

<canvas id="myChart" style="width:100%;max-width:700px"></canvas>

  • Related