散布図に正しく表示されていない経過時間があり、希望の表示方法が得られないようです。たとえば、私は00:02:45、00:00:28、00:03:31のような経過時間を持っています。私のxAxisでは、時刻は04:59:30から05:04:00まで表示されています。ツールヒントの上記の時間は、「05時間02分45秒」、「05時間00分28秒」、「05時間03分31秒」のように表示されます。ハイチャートDateTime xAxisとツールチップの書式設定の問題
なぜ5が0になるべきなのか分からないのですが、どうすればいいですか?
if (data.length > 0) {
for (var i = 0; i < data.length; i++) {
scores.push({ name: data[i].fname + " " + data[i].lname, x: Date.parse(data[i].elapsedTime), y: data[i].score });
}
Highcharts.chart('avgFirstTryChart', {
chart: {
type: 'scatter',
zoomType: 'x'
},
title: {
text: 'Average Score First Try'
},
xAxis: {
type: 'datetime',
title: {
text: 'Elapsed Time (hours)'
},
dateTimeLabelFormats: {
day: '%H:%M:%S'
},
labels: {
formatter: function() {
return Highcharts.dateFormat('%H:%M:%S', this.value)
}
},
startOnTick: true
},
yAxis: {
title: {
enabled: true,
text: 'Score'
},
min: 0,
max: 100,
gridLineWidth: 1,
lineWidth: 0,
tickWidth: 0,
showLastLabel: true
},
plotOptions: {
scatter: {
marker: {
radius: 5,
states: {
hover: {
enabled: true,
lineColor: 'rgb(100,100,100)'
}
}
},
tooltip: {
pointFormat: '{point.name}, {point.x: %H hrs %M mins %S secs} - [score {point.y}%]'
}
},
series: {
point: {
events: {
click: function() {
var point = this,
series = point.series,
chart = series.chart,
xAxis = series.xAxis;
xAxis.setExtremes(this.x - 25000, this.x + 25000);
chart.showResetZoom();
}
}
}
}
},
credits: {
enabled: false
},
series: [{
name: 'Score',
color: 'rgba(223, 83, 83, .5)',
data: scores
}]
});
}
秒に結果を変換し、highchartsに – ewolden
あなたはどのようにそれを行うために私を示すことができた問題を解決することを送り込みますか? – user721126
私はあなたがちょうどできると思っていた。 00:02:45 = 0 * 3600 + 2 * 60 + 45です。しかし、datetimeを使用した方が良いでしょう。ですから、あなたの 'for'ループに' console.log(Date.parse(data [i] .elapsedTime)) 'を追加し、返された値を見て何が間違っているのかを調べることをお勧めします。 – ewolden