我正在尝试使用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。