Php 高图非同一时间序列
我有一组表示不相同时间序列的数组:Php 高图非同一时间序列,php,highcharts,Php,Highcharts,我有一组表示不相同时间序列的数组: Array ( [0] => [2014-01-08] => 1408 [2014-01-09] => 1357 [2014-01-10] => 1272 [2014-01-11] => 1625 [2014-01-12] => 1516 [2014-01-13] => 2002 [2014-01-14] =>
Array
(
[0] =>
[2014-01-08] => 1408
[2014-01-09] => 1357
[2014-01-10] => 1272
[2014-01-11] => 1625
[2014-01-12] => 1516
[2014-01-13] => 2002
[2014-01-14] => 2301
)
Array
(
[0] =>
[2014-01-21] => 32
[2014-01-22] => 234
[2014-01-23] => 195
[2014-01-24] => 176
[2014-01-25] => 231
...
我想在HighCharts折线图中显示此数据
我知道这可以通过以下文档完成:
如果我不考虑周期不相同,我可以使用Highroller创建一个绘图:
foreach(array_keys($arrays) as $campaign_name) {
$data = array_values($arrays[$campaign_name]);
$series[$campaign_name] = new HighRollerSeriesData();
$series[$campaign_name]->addName($campaign_name)->addData($data);
}
但是这个图表中的所有线条都以x=0开始
然后,我尝试创建一个类似于上面的jsfiddle
的syntex,但该图没有呈现:
foreach(array_keys($arrays) as $campaign_name) {
$data = array_values($arrays[$campaign_name]);
$dates = array_keys($arrays[$campaign_name]);
$data = array_combine($dates, $data);
$series[$campaign_name] = new HighRollerSeriesData();
$series[$campaign_name]->addName($campaign_name)->addData($data);
}
您可以定义数据,然后将其修改为timestamp
Demo:
[0]=>
它可能会产生问题,因为它正在添加索引为0的点,所以它将从0开始绘制图表,对吗?感谢您的快速回答。这不是问题所在。空的[0]=>
被转换为假
,并且没有被绘制。您能否附上转换为JS后数据的显示方式?谢谢!
myDataSeries1 = [
["2014-01-08", 1408],
["2014-01-09", 1357],
["2014-01-10", 1272],
["2014-01-11", 1625],
["2014-01-12", 1516],
["2014-01-13", 2002],
["2014-01-14", 2301]
];
myDataSeries2 = [
["2014-01-21", 32],
["2014-01-22", 234],
["2014-01-23", 195],
["2014-01-24", 176],
["2014-01-25", 231]
];
$.each(myDataSeries1, function (index, item) {
item[0] = new Date(item[0]).getTime();
});
$.each(myDataSeries2, function (index, item) {
item[0] = new Date(item[0]).getTime();
});
... /// Further down
series: [{
name: 'MyData1',
data: myDataSeries1
}, {
name: 'MyData2',
data: myDataSeries2
}]