你过得愉快吗?
我的Highchart遇到了这个挑战。
系列一个接一个地显示而不是平行。
这是我的JSON_Array的输出。而不是2013-08-02 13:30:40时间值以微缩时格式显示。这只是为了更好地解释。
那可能是错的,系列会一个接一个地显示出来吗?
<script type="text/javascript">
$(function(){
$.getJSON('micro-grid_data.php',
function(data) {
Highcharts.setOptions({ global: { useUTC: false } });
chart = new Highcharts.StockChart
({
chart: { renderTo: 'container' , zoomType: 'x', type: 'line', width: 900 },
legend: { enabled: true, verticalAlign:'bottom' },
navigator: { enabled: false },
title: { text: 'You see the data of the last measured hour!' },
credits: { enabled: false },
plotOptions: { series: { marker : { enabled: false, states: { hover: { enabled: true } } } } },
xAxis: { type: 'datetime', title: { text: 'time' } },
rangeSelector:{ enabled: false },
yAxis: { title: { text: '' , style: { color : '#4572A7' } } },
tooltip: { xDateFormat: '%e. %b.%Y %H:%M:%S', valueDecimals: 2 },
series: [ { name: 'consumer' , data: data[0]} , { name: 'producer' , data: data[1]}],
exporting: { enabled: true },
});
// Format the y-data.
Highcharts.numberFormat(this.y, 2, '.', ',');
});
});
// Redraw the chart.
function redraw()
{
// Get variables from configuration settings area.
var startdate = $('#<?php echo $startdatewithout ?>').val();
var enddate = $('#<?php echo $enddatewithout ?>').val();
var range = $('#range').val();
/* New data is loaded via AJAX-call.
* Output is an JSON-Array, Example: [[1,2],[20,3]].
* If success the new data is set in the chart and the screen will be unhide.
*/
$.ajax({
url: "micro-grid_data.php?string=<?php echo $string; ?>&range="+range+"&startdate="+startdate+"&enddate="+enddate+"&reload=1",
dataType: 'json',
success: function(datareload) { // Set new data in chart.
chart.series[0].setData(datareload[0]);
chart.series[1].setData(datareload[1]);
// Unhide the screen.
chart.hideLoading();
},
});
};
return false;
};
答案 0 :(得分:2)
第二个系列的时间格式存在问题。
显示您实际使用的内容总是更好,而不是将时间转换为人类可读的格式,只是为了在此处显示。如果您没有显示当前设置的确切方式,请对任何事情进行故障排除。