Luna28
Luna28

Reputation: 527

Highcharts in Laravel 4 project are not displayed

I'm new in Laravel, so I'm still facing problems whenever I try to add js functions to my code. I need to add a highchart to my laravel project. As a beginning, I just copied the code of one of the charts available on highcharts.com and pasted it in the main view, but nothing is being displayed. When I added the same code to a normal html file, the graph was displayed normally.

Here's my javascript code

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script type="text/javascript">
$(function () {
    $(document).ready(function () {
    Highcharts.setOptions({
        global: {
        useUTC: false
        }
    });

      $('#container').highcharts({
        chart: {
          type: 'spline',
          animation: Highcharts.svg, // don't animate in old IE
          marginRight: 10,
          events: {
            load: function () {
              // set up the updating of the chart each second
              var series = this.series[0];
              setInterval(function () {
                var x = (new Date()).getTime(), // current time
                    y = Math.random();
                series.addPoint([x, y], true, true);
              }, 1000);
            }
          }
        },
        title: {
          text: 'Live random data'
        },
        xAxis: {
          type: 'datetime',
          tickPixelInterval: 150
        },
        yAxis: {
          title: {
            text: 'Value'
          },
          plotLines: [{
            value: 0,
            width: 1,
            color: '#808080'
          }]
        },
        tooltip: {
          formatter: function () {
            return '<b>' + this.series.name + '</b><br/>' +
              Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) + '<br/>' +
              Highcharts.numberFormat(this.y, 2);
          }
        },
        legend: {
            enabled: false
        },
        exporting: {
            enabled: false
        },
        series: [{
          name: 'Random data',
          data: (function () {
            // generate an array of random data
            var data = [],
                time = (new Date()).getTime(),
                i;
            for (i = -19; i <= 0; i += 1) {
                data.push({
                    x: time + i * 1000,
                    y: Math.random()
                });
            }
            return data;
          }())
        }]
        });
        });
    });
</script>

and the html code

<div id="container" style="width:100%; height:400px;"></div>

Any suggestions how to display the graph? Thanks in advance.

Upvotes: 1

Views: 729

Answers (1)

Raein Hashemi
Raein Hashemi

Reputation: 3384

I think the problem is with the syntax you are creating the chart with: $('#container').highcharts...

It seems highcharts function is not defined using laravel.

There is another way that you can try:

var chart = new Highcharts.Chart({ 
                              chart: { 
                                  renderTo: 'container', 
                                  ... 
                              },
                              ...
            });

Upvotes: 1

Related Questions