我有一个Highstock图表,我从MySQL数据库获得了数据,如this example所示。
日期字段是MySQL时间戳。当我将光标放在某个值上时,只显示年份而不是(日,月,日)。
为什么只显示年份?
我正在使用Codeigniter框架,服务器端代码如下所示:
$sql = "SELECT UNIX_TIMESTAMP(sop_date)*1000 AS sop_date, sop_price
FROM share
INNER JOIN share_operation
ON share_operation.sop_idsha = share.sha_id
INNER JOIN share_operation_type
ON share_operation_type.sot_id = share_operation.sop_idsot";
$params = array($sha_idcon, $sha_idwal);
$query = $this->db->query($sql, $params);
if ($query->num_rows() > 0) {
$data = array();
foreach ($query->result() as $i => $row) {
$data[] = "[$row->sop_date, $row->sop_price]";
}
return ($data);
}
客户方:
$(document).ready(function() {
Highcharts.setOptions({
lang: {
months: ['Gener', 'Febrer', 'Març', 'Abril', 'Maig', 'Juny',
'Juliol', 'Agost', 'Setembre', 'Octubre', 'Novembre', 'Desembre'],
weekdays: ['Dilluns', 'Dimarts', 'Dimecres', 'Dijous', 'Divendres', 'Dissabte', 'Diumenge'],
rangeSelectorFrom: 'Des de',
rangeSelectorTo: 'Fins'
}
});
window.chart = new Highcharts.StockChart({
chart : {
renderTo : 'graphic'
},
rangeSelector : {
selected : 1
},
title : {
text : 'Xisco'
},
xAxis : {
maxZoom : 14 * 24 * 3600000 // fourteen days
},
series : [{
name : 'Xisco',
data : [<?php echo join($data, ',') ?>],
tooltip: {
yDecimals: 2
}
}]
});
});
答案 0 :(得分:0)
执行格式化可能会解决此问题。
tooltip: {
formatter: function() {
return Highcharts.dateFormat('%e. %b %Y', this.x);
}
}
documentation.中有更多信息 希望这会有所帮助。