highcharts,json数据:行和列

问题描述 投票:0回答:1

可能是非常基本的问题:

我正在使用两个系列的highcharts,一个用行表示,另一个用列表示,数据使用json加载,问题在于如何告诉highcharts一个系列应该用行类型表示,另一个系列应该用列类型表示,就像这个

问题(对我来说)出现在 highcharts json 模式下的 Series 选项只有这样的时候:

         }, 
            series: json
        });

在“正常模式”下,您可以设置例如:

    series: [{
**type: 'column',**
    name: 'Name',
    data: [],
},{
type: 'spline',
    name: 'Max Pax',
    data: [],
draggableY: true,
dragMinY: 0,
    dragMaxY: 200,
    .......

我错过了什么吗?

从数据库检索数据的 php 代码:

    $con = mysql_connect("localhost", "*******","*******");

if (!$con) {
die('Could not connect: ' . mysql_error());
}

mysql_select_db("wordpress_8", $con);

$sth = mysql_query("SELECT * FROM wp_maxpax_A where fecha='12/11/2013' ");
$rows = array();
$rows['name'] = 'MaxPax';
while($r = mysql_fetch_array($sth)) {
$rows['data'][] = $r['a1300'];
$rows['data'][] = $r['a1315'];
$rows['data'][] = $r['a1330'];
$rows['data'][] = $r['a1345'];

}

$sth = mysql_query("SELECT overhead FROM projections_sample");
$rows1 = array();
$rows1['name'] = 'Overhead';
while($rr = mysql_fetch_assoc($sth)) {
$rows1['data'][] = $rr['overhead'];
}

$result = array();
array_push($result,$rows);
array_push($result,$rows1);


print json_encode($result, JSON_NUMERIC_CHECK);

输出看起来像:

    [{"name":"MaxPax","data":[40,19,40,21]},{"name":"Overhead","data":                 [21990,22365,21987,22369,22558,22987,23521,23003,22756,23112,22987,22897]}]
php charts highcharts
1个回答
2
投票

您需要在 JSON 中定义此参数,或者在接收到您的 json 后解析您的 json,并设置此参数,然后在 Highcharts 中使用。

编辑: 您可以替换此行

$sth = mysql_query("SELECT * FROM wp_maxpax_A where fecha='12/11/2013' ");
$rows = array();
$rows['name'] = 'MaxPax';

$sth = mysql_query("SELECT * FROM wp_maxpax_A where fecha='12/11/2013' ");
$rows = array();
$rows['name'] = 'MaxPax';
$rows['type'] = 'line';

下一个系列中类似。 第二种解决方案是在获取 json 后推送类型,例如:

$getJSON('path/to/json',function(data){


 data[0].type='column';
 data[1].type='line';

 var options = {
    // your options
    series: data
 };

 $('#container').highcharts(options);
});
© www.soinside.com 2019 - 2024. All rights reserved.