Laravel 4项目中的Highcharts不显示

时间:2015-02-07 10:12:56

标签: javascript laravel-4 highcharts

我是Laravel的新手,所以每当我尝试将js函数添加到我的代码中时,我仍然会遇到问题。 我需要为我的laravel项目添加一个高图。作为开始,我只是复制了highcharts.com上可用的一个图表的代码并将其粘贴在主视图中,但没有显示任何内容。 当我将相同的代码添加到普通的html文件时,图表显示正常。

这是我的javascript代码

<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>

和html代码

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

有关如何显示图表的任何建议吗? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

我认为问题在于您创建图表的语法:$('#container').highcharts...

似乎highcharts函数未使用laravel定义。

您可以尝试另一种方式:

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