ReferenceError: Chart is not defined - chartjs

124,136

Solution 1

here is a working jsfiddle of your code:
new Chart(rice).Line(riceData);
http://jsfiddle.net/mahmalsami/jqcthmyo/
So the problem is definitively coming from your external Chart.min.js inclusion

You may find a 404 on your js get. Please make sure you're linking to the correct js folder. (try accessing your localhost/Chart.min.js to see if you can access to your file)

Solution 2

I was also getting same error. To fix this I moved the chart script into separate graph.js file.

Still I was getting same error. Which is fixed later when I put tag in following order before end of tag as shown below.

<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js"></script>
<script type="text/javascript" src="jscript/graph.js"></script>
</body>

The page look like this: enter image description here

var ctx = document.getElementById("myChart").getContext('2d');
  var 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(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: {
              yAxes: [{
                  ticks: {
                      beginAtZero:true
                  }
              }]
          }
      }
  });
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js"></script>
<!DOCTYPE html>

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

Solution 3

I got the same error. To solve the problem, you have to include the chart.js library correctly as follows:

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.min.js"></script>

Solution 4

1) I tried Chart.js downloaded from Chartjs.org. But, it's not working.

2) Try to this.

<script type="text/javascript" src="http://www.chartjs.org/assets/Chart.js">
</script>

Working good.

Share:
124,136
Admin
Author by

Admin

Updated on July 09, 2022

Comments

  • Admin
    Admin almost 2 years

    Is there a bug with Chart.js? Every time I add any of the graphs at Chart.js to my website I get an error, but when I used the graph as stand-alone program it runs smoothly without errors. I am using HTML5.

       <html>
       <head>
          <meta charset="utf-8" />
          <title>Rice Consumption</title>
          <script src='Chart.min.js'></script>
        </head>
        <body>
    
          <canvas id="rice" width="600" height="400"></canvas>
    
          <script>
            var riceData = {
            labels : ["January","February","March","April","May","June"],
            datasets :
             [
                {
                  fillColor : "rgba(172,194,132,0.4)",
                  strokeColor : "#ACC26D",
                  pointColor : "#fff",
                  pointStrokeColor : "#9DB86D",
                  data : [203000,15600,99000,25100,30500,24700]
                }
             ]
            }
    
              var rice = document.getElementById('rice').getContext('2d');
                   new Chart(rice).Line(riceData);
        </script>
        </body>
        </html>
    

    SOLVED: I just decoupled the script from the canvas element (made another file for the script to execute its function).

    Updated HTML:

          <html>
          <head>
          <meta charset="utf-8" />
          <title>Rice Consumption</title>
          <script src='Chart.min.js'></script>
          </head>
          <body>
          <canvas id="rice" width="600" height="400"></canvas>
          <script src='Chart.min.js'></script>
          <script src='rice.js'></script>
          </body>
          </html>
    

    New JavaScript file:

    var riceData = {
        labels : ["January","February","March","April","May","June"],
        datasets : [
            {
                fillColor : "rgba(172,194,132,0.4)",
                strokeColor : "#ACC26D",
                pointColor : "#fff",
                pointStrokeColor : "#9DB86D",
                data : [203000,15600,99000,25100,30500,24700]
            }
        ]
    }
    
    var rice = document.getElementById('rice').getContext('2d');
    new Chart(rice).Line(riceData);