Вот наиболее популярные:

1. Chart.js

Chart.js — это простая и легкая библиотека, которая позволяет создавать 8 типов графиков. Поддерживает анимацию и отлично подходит для проектов, где нужно быстро добавить диаграмму.

Chart.js

Пример использования:


<canvas id="myChart"></canvas>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script>
  const ctx = document.getElementById('myChart').getContext('2d');
  const myChart = new Chart(ctx, {
    type: 'bar',
    data: {
      labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
      datasets: [{
        label: '# of Votes',
        data: [12, 19, 3, 5, 2, 3],
        backgroundColor: 'rgba(75, 192, 192, 0.2)',
        borderColor: 'rgba(75, 192, 192, 1)',
        borderWidth: 1
      }]
    },
    options: {
      scales: {
        y: {
          beginAtZero: true
        }
      }
    }
  });
</script>

2. D3.js

D3.js — это мощная библиотека для работы с данными и создания сложных визуализаций. Она предоставляет гибкость, но требует больше усилий для настройки.

D3.js

Пример использования:


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>D3 Visualization</title>
</head>
<body>
  <!-- Здесь будет визуализация -->
  <script src="https://d3js.org/d3.v7.min.js"></script>
  <script>
    const data = [30, 86, 168, 281, 303, 365];

    d3.select("body")
      .selectAll("div")
      .data(data)
      .enter()
      .append("div")
      .style("width", d => `${d}px`)
      .style("background-color", "steelblue")
      .style("margin", "5px")
      .style("color", "white")
      .style("padding", "5px")
      .text(d => d);
  </script>
</body>
</html>

3. Highcharts

Highcharts — это коммерческая библиотека, но ее можно использовать бесплатно в личных проектах. Она предлагает широкий выбор типов графиков и богатый функционал.

Highcharts

Пример использования:


<script src="https://code.highcharts.com/highcharts.js"></script>
<div id="container"></div>
<script>
  Highcharts.chart('container', {
    chart: {
      type: 'line'
    },
    title: {
      text: 'Monthly Average Temperature'
    },
    xAxis: {
      categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
    },
    yAxis: {
      title: {
        text: 'Temperature (°C)'
      }
    },
    series: [{
      name: 'Tokyo',
      data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5]
    }]
  });
</script>

4. ECharts

ECharts — это мощная библиотека от компании Baidu, которая поддерживает множество типов графиков и интерактивные возможности. Она особенно хорошо подходит для создания профессиональных интерактивных диаграмм.

ECharts

Пример использования:


<div id="main" style="width: 600px;height:400px;"></div>
<script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
<script>
  var myChart = echarts.init(document.getElementById('main'));
  var option = {
    title: {
      text: 'ECharts Example'
    },
    tooltip: {},
    xAxis: {
      data: ['shirt', 'cardigan', 'chiffon shirt', 'pants', 'heels', 'socks']
    },
    yAxis: {},
    series: [{
      type: 'bar',
      data: [5, 20, 36, 10, 10, 20]
    }]
  };
  myChart.setOption(option);
</script>

5. Plotly.js

Plotly.js — это библиотека, которая поддерживает создание множества типов диаграмм, включая 3D и карты. Она хорошо подходит для научных и финансовых визуализаций.

Plotly.js

Пример использования:


<div id="myDiv"></div>
<script src="https://cdn.plot.ly/plotly-2.14.0.min.js"></script>
<script>
  var data = [
    {
      x: ['giraffes', 'orangutans', 'monkeys'],
      y: [20, 14, 23],
      type: 'bar'
    }
  ];
  
  Plotly.newPlot('myDiv', data);
</script>

6. ApexCharts

ApexCharts — это современная библиотека, которая предлагает множество готовых вариантов диаграмм, включая линейные графики, гистограммы, круговые диаграммы и многое другое. ApexCharts достаточно удобен в использовании.

Пример использования:


<div id="chart"></div>
<script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
<script>
  var options = {
    series: [{
      name: 'Sales',
      data: [10, 41, 35, 51, 49, 62, 69, 91, 148]
    }],
    chart: {
      type: 'line',
      height: 350
    },
    xaxis: {
      categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep']
    }
  };
  var chart = new ApexCharts(document.querySelector("#chart"), options);
  chart.render();
</script> 

Каждая из этих библиотек имеет свои особенности:

  • Chart.js — простота и легкость.
  • D3.js — максимальная гибкость, но требует больше кода.
  • Highcharts — богатый функционал, подходит для коммерческого использования.
  • ECharts — мощная и интерактивная.
  • Plotly.js — отлично подходит для научных и аналитических визуализаций.
  • ApexCharts — современный и удобный API.