Chart.js Examples: Building Responsive and Interactive Charts

Creating visually appealing charts and graphs can be a daunting task, but with the help of Chart.js, it becomes a breeze. Chart.js is a popular open-source JavaScript library that provides simple, flexible, and interactive charting solutions. In this blog post, we will go through the basics of Chart.js, create different chart types, and explore customization options to make your charts interactive and responsive.

Table of Contents

Getting Started with Chart.js

First, let's include the Chart.js library in our HTML file:

<script src=""></script>

Next, create a canvas element in the HTML file where we will render our charts:

<canvas id="myChart"></canvas>

In a separate JavaScript file, let's start by grabbing the canvas element and creating a Chart object:

const ctx = document.getElementById('myChart').getContext('2d');
const myChart = new Chart(ctx, {
  type: '', // chart type
  data: {
    labels: [], // labels for the x-axis
    datasets: [] // data points and styling
  options: {} // chart options

Now that we have the basic structure set up, let's create different chart types.

Creating a Bar Chart

To create a bar chart, set the type property to 'bar' and provide the necessary data:

const myChart = new Chart(ctx, {
  type: 'bar',
  data: {
    labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
    datasets: [{
      label: 'Colors',
      data: [12, 19, 3, 5, 2, 3],
      backgroundColor: [
        'rgba(255, 99, 132, 0.2)',
        'rgba(54, 162, 235, 0.2)',
        'rgba(255, 206, 86, 0.2)',
        'rgba(75, 192, 192, 0.2)',
        'rgba(153, 102, 255, 0.2)',
        'rgba(255, 159, 64, 0.2)'
      borderColor: [
        'rgba(255, 99, 132, 1)',
        'rgba(54, 162, 235, 1)',
        'rgba(255, 206, 86, 1)',
        'rgba(75, 192, 192, 1)',
        'rgba(153, 102, 255, 1)',
        'rgba(255, 159, 64, 1)'
      borderWidth: 1
  options: {
    scales: {
      y: {
        beginAtZero: true

Creating a Line Chart

To create a line chart, change the type property to 'line':

const myChart = new Chart(ctx, {
  type: 'line',
  data: {/* ... */},
  options: {/* ... */}

Creating a Pie Chart

To create a pie chart, change the type property to 'pie':

const myChart = new Chart(ctx, {
  type: 'pie',
  data: {/* ... */},
  options: {/* ... */}

Chart Customization and Interactivity

Chart.js provides various customization options for your charts. You can modify the appearance, add animations, and even create custom tooltips. Visit the official Chart.js documentation for more details.

For interactivity, you can use chartjs-plugin-datalabels to display data values on the chart and chartjs-plugin-zoom for zooming and panning functionality.


In this tutorial, we've seen how easy it is to create interactive and responsive charts using Chart.js. We've covered the basics of creating bar, line, and pie charts and explored customization options for making your charts more engaging. With its extensive documentation and active community, Chart.js is an excellent choice for your data visualization needs.

An AI coworker, not just a copilot

View VelocityAI