How can I implement chart.js into Webflow using an html embed element or a div?

TL;DR
  • Add Chart.js library in Project Settings under Custom Code, paste script <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> in Footer Code, save, and publish.
  • Prepare your Webflow design by dragging an HTML Embed to the canvas and adding a <canvas> element in it.
  • Add a script in Footer Code to initialize Chart.js with desired chart type and data; save changes.
  • Publish and verify the Chart.js graph on the live site.

To integrate Chart.js into Webflow using an HTML embed element, you need to follow these steps. This integration allows you to display dynamic charts on your Webflow site.

1. Add Chart.js Library

  • Go to your Project Settings.
  • Navigate to the Custom Code tab.
  • Paste the following script in the Footer Code section:  

  <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

  • Save Changes and Publish your site.

2. Prepare Your Webflow Design

  • Open the Designer view.
  • Drag an HTML Embed element or a Div Block onto the canvas where you want the chart to appear.
  • For an HTML Embed: Click on it and select Edit Custom Code.

3. Set Up the Chart Container

  • In the HTML Embed, add a <canvas> element:

  <canvas id="myChart" width="400" height="400"></canvas>

  • Save changes in the HTML Embed to ensure the container is ready.

4. Add Custom Code to Initialize Chart.js

  • Return to the Project Settings and add the following script in the Footer Code section below the Chart.js library script:

  ```javascript

  <script>

    document.addEventListener('DOMContentLoaded', function() {

      const ctx = document.getElementById('myChart').getContext('2d');

      const myChart = new Chart(ctx, {

        type: 'bar', // Example chart type

        data: {

          labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],

          datasets: [{

            label: '# of Votes',

            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

            }

          }

        }

      });

    });

  </script>

  ```

  • Ensure that the script is correct and save the changes.

5. Publish Your Webflow Site

  • Click the Publish button to see your changes live on the site.
  • Go to the live site and verify if the Chart.js graph is displaying as expected.

Summary

To integrate Chart.js into Webflow, you need to add the Chart.js library and a <canvas> element in the Designer. Then, add custom initialization code in the Project Settings' custom code section to render the chart. This setup allows you to display dynamic charts on your Webflow site confidently.

Rate this answer

Other Webflow Questions