我从互联网上得到了一个关于高图日期和时间的例子。
Highcharts.chart('container', {
chart: {
type: 'column'
},
title: {
text: 'Time Worked per Day'
},
xAxis: {
type: 'category'
},
yAxis: {
labels: {
formatter: function() {
return Highcharts.numberFormat(this.value/3600000,0);
}
},
title: {
text: 'Hours'
},
tickInterval: 3600000
},
credits: {
enabled: false
},
legend: {
enabled: false
},
plotOptions: {
series: {
borderWidth: 0,
dataLabels: {
enabled: true,
formatter: function() {
return Highcharts.dateFormat('%Hh%M',new Date(this.y));
}
}
}
},
tooltip: {
formatter: function() {
return '<b>' + this.series.name +' : </b>' +
Highcharts.numberFormat(this.y/3600000,2);
}
},
series: [{
name: 'Hours',
colorByPoint: true,
data: [ ["23-05-16", 9000000], ["24-05-16", 7000000],["25-05-16", 9000000], ["26-05-16", 7000000],
["27-05-16", 8000000], ["28-05-16", 9000000], ["29-05-16", 7000000], ["30-05-16", 8000000], ["01-06-16", 8000000], ["02-06-16", 8000000]]
}]
});
问题是当一个put负值,它有23:00,例如显示-01:00,这个事件因为这个Highcharts.numberFormat(this.y / 3600000,2)我有当做负值时做一个if(3600000,2 / this.y)intead(this.y / 3600000,2)
答案 0 :(得分:0)
我没有真正看到任何问题,无论如何,我认为你是在显示负值后-x.xx
小时而不是24 - x.xx
小时。我在datalabel格式化程序中添加了if
,如下所示:
plotOptions: {
series: {
dataLabels: {
enabled: true,
formatter: function() {
if (this.y < 0) {
return Highcharts.dateFormat('-%Hh%M', new Date(Math.abs(this.y)));
} else {
return Highcharts.dateFormat('%Hh%M', new Date(this.y));
}
}
}
}
}
现在显示负值为-x.xx
小时。