2014-01-15 19 views
0

我正在尝试使用Highcharts来绘制数据;然而,而不是渲染图的是图表实例输出到页面:用HighchartsPHP绘制数据(PHP包装器)

chart = new Highcharts.StockChart({"chart":{"renderTo":"chart"},"rangeSelector":{"selected":1},"title":{"text":"Potential Impact"},"series":{"name":"Chart Title","tooltip":{"valueDecimals":2},"data":[[1387284761,1],[1387284762,1],[1387284768,1],[1387284772,1],[1387284775,1],[1387284907,1],[1387284961,1],[1387284972,1],[1387284980,1],[1387285045,1],[1387285172,1],[1387285205,1],[1387285206,1],[1387285268,1],[1387285336,1],[1387285348,1],[1387285507,1],[1387285540,1],[1387285568,1],[1387285654,1]]}}); 

我已经试过了,我已经能够在网上遇到这么远,我很为难的一切。对我(没有经验)的眼睛来说,它看起来很有效。而且,事实上,它实际上将其显示为PHP页面中的输出,而不是图表,或者根本没有,这让我相信这将是一个ID10T错误。

HTML:

include_once ('../../vendors/HighchartsPHP-master/Highchart.php'); 

     $chart = new Highchart(Highchart::HIGHSTOCK); 
     $chart->chart->renderTo = "chart"; 
     $chart->rangeSelector->selected = 1; 
     $chart->title->text = "Potential Impact"; 
     $chart->series = array(
       'name' => "Chart Title", 
       'tooltip' => array(
        'valueDecimals' => 2 
       ), 
       'data' => format_data($q), 
     ); 

     $chart->printScripts(); 
     //echo '<pre>' . print_r($chart->series->data) . '</pre>'; 
     echo $chart->render("chart"); 
    } 
    ?> 

    <div id="chart" style="width: 340px; height: 240px;"></div> 

PHP - format_data():

function format_data($q) { 
    $formatted = array(); 
    $result = correlate_created_at_with_impact($q); // MySQLi query 

    while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)) { 
     $formatted[] = array(intval($row['date']), intval($row['count'])); 
    } 
    return $formatted; 
} 

我试图格式化都JSON的$chart->data属性,作为一个数组,但也没有工作。根据另一条线索,有人提到从$chart->series[](如上所示)中删除[],但那也不起作用。理论上,这应该显示一个简单的折线图,其中x轴是日期(格式为unix时间戳),y轴是相关值。

jQuery被加载(我使用Bootstrap,它工作正常),我已经手动添加脚本调用highcharts.js,highstock.js和exporting.js模块来验证它们已加载。他们全部加载并解决链接。

理想情况下,我想使用JS实现,但我远不能胜任JS。我想我会先淘汰PHP的实施,然后从那里...

我不知道还有什么要检查。任何帮助和/或见解将非常感谢!

TIA。

回答

0

我删除了我的脚本标记,并使用演示文件中的代码并加载它。它一定是脚本标记某处的语法错误。