@dch3

Как на одном холсте вывести несколько графиков с независимыми координатами по оси X?

Требуется на один холст вывести два, например линейных графика, у которых будут различны как координаты Y, так и координаты Х.

Нашел следующее решение в доках Chart.js:

return new Chart (context, {
     type: typeOfChart,
     data: {
        labels: xData,  /** общие координаты по оси Х для обоих графиков */
        datasets: [
        {
           label: legend,
           data: yData  /** координаты по оси Y  первый график*/
        }, {
           label: legend,
           data: yData2  /** координаты по оси Y второй график */
        }
       ]
    }
});

Этот код строит два графика, по оси X оба они имеют одинаковые координаты.
Возможно ли построить два графика со своими координатами как по X, так и по Y?
  • Вопрос задан
  • 551 просмотр
Решения вопроса 1
0xD34F
@0xD34F
Устанавливаете тип графика scatter, в настройках наборов данных указываете showLine: true. Например:

<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.3.0/chart.umd.js"></script>
<canvas id="chart"></canvas>

const createDataset = (color, label, baseY) => ({
  borderColor: color,
  label,
  showLine: true,
  data: Array.from({ length: 10 }, (_, i) => ({
    x: 10 * (i + (Math.random() - 0.5)) | 0,
    y: baseY + Math.random() * baseY | 0,
  })),
});

new Chart(document.querySelector('#chart'), {
  type: 'scatter',
  data: {
    datasets: [ 
      createDataset('red', 'hello, world!!', 50),
      createDataset('green', 'fuck the world', 100),
      createDataset('blue', 'fuck everything', 200),
    ],
  },
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы