Chart.js Линейный график: Начните линию в середине графика

#javascript #chart.js

Вопрос:

Мне интересно, возможно ли иметь график с несколькими линиями, но я хочу, чтобы одна из линий начиналась с середины графика, в то время как остальные линии все еще начинаются слева. Возможно ли это? Это выглядело бы так: Зеленая линия-это то, что я хочу сделать

Зеленая линия-это то, о чем я говорю, возможно ли, чтобы набор данных начинался не полностью слева

Ответ №1:

Да, это возможно, вы можете достичь этого 2 способами, 1-указать каждую точку данных, используя ее координаты x и y, другой-поместить некоторые null значения в начало вашего массива данных:

 var options = {
  type: 'line',
  data: {
    labels: [1, 2, 3, 4, 5, 6],
    datasets: [{
        label: '# of Votes',
        data: [12, 19, 3, 5, 2, 3],
        borderColor: 'pink'
      },
      {
        label: '# of Points',
        data: [{
          x: 3,
          y: 6
        }, {
          x: 4,
          y: 8
        }, {
          x: 5,
          y: 2
        }, {
          x: 6,
          y: 12
        }],
        borderColor: 'orange'
      },
      {
        label: '# of Points2',
        data: [null, null, null, 9, 13, 15],
        borderColor: 'lightblue'
      }
    ]
  },
  options: {
    scales: {
      yAxes: [{
        ticks: {
          reverse: false
        }
      }]
    }
  }
}

var 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.5.0/chart.js"></script>
</body>