'How to shift the origin along y-axis direction in a chart.js3 line chart, so that x-axis pass through a different point other than (0,0)?

I'm using chart.js to plot a dataset, which is a ratio of two variables and it ranges from 10 to -10. But most of the time it swings around y=1.

I'm trying to plot a filled line plot of this dataset with the help of chart.js3. How do I change the direction of fill when it goes below 1(i.e. y<1) instead of default y=0?



Solution 1:[1]

You can set an object for the fill in which you can configure this:

const options = {
  type: 'line',
  data: {
    labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
    datasets: [{
      label: '# of Votes',
      data: [12, 19, 3, 5, 2, 3],
      borderColor: 'orange',
      fill: {
        target: {
          value: 8
        },
        above: 'rgb(255, 0, 0)', // Area will be red above the value 8
        below: 'rgb(0, 0, 255)' // And blue below the value 8
      }
    }]
  },
  options: {}
}

const ctx = document.getElementById('chartJSContainer').getContext('2d');
new Chart(ctx, options);
<body>
  <canvas id="chartJSContainer" width="600" height="400"></canvas>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.7.1/chart.js"></script>
</body>

docs

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 LeeLenalee