gpt4 book ai didi

javascript - Highcharts 区域 : x-axis in hours but showing multiple points in each hour

转载 作者:行者123 更新时间:2023-12-03 07:50:00 27 4
gpt4 key购买 nike

我正在使用this example来自 highcharts,但我需要按如下方式调整:

  1. 让 x 轴显示从当前小时开始的当前 24 小时(我能够绘制 24 小时,但不能从当前小时开始绘制)

     xAxis: {
    type: 'datetime',
    tickInterval: 3600 * 1000,
    min: Date.UTC(2013,4,22),
    max: Date.UTC(2013,4,23),
    },
  2. 显示连续 2 小时之间的多个点

有什么想法吗?

这是 jsfiddle 的完整代码:

$(function () {
$('#container').highcharts({
chart: {
type: 'area'
},
title: {
text: 'US and USSR nuclear stockpiles'
},
subtitle: {
text: 'Source: <a href="http://thebulletin.metapress.com/content/c4120650912x74k7/fulltext.pdf">' +
'thebulletin.metapress.com</a>'
},
xAxis: {
allowDecimals: false,
labels: {
formatter: function () {
return this.value; // clean, unformatted number for year
}
}
},
yAxis: {
title: {
text: 'Nuclear weapon states'
},
labels: {
formatter: function () {
return this.value / 1000 + 'k';
}
}
},
tooltip: {
pointFormat: '{series.name} produced <b>{point.y:,.0f}</b><br/>warheads in {point.x}'
},
plotOptions: {
area: {
pointStart: 1940,
marker: {
enabled: false,
symbol: 'circle',
radius: 2,
states: {
hover: {
enabled: true
}
}
}
}
},
series: [{
name: 'USA',
data: [null, null, null, null, null, 6, 11, 32, 110, 235, 369, 640,
1005, 1436, 2063, 3057, 4618, 6444, 9822, 15468, 20434, 24126,
27387, 29459, 31056, 31982, 32040, 31233, 29224, 27342, 26662,
26956, 27912, 28999, 28965, 27826, 25579, 25722, 24826, 24605,
24304, 23464, 23708, 24099, 24357, 24237, 24401, 24344, 23586,
22380, 21004, 17287, 14747, 13076, 12555, 12144, 11009, 10950,
10871, 10824, 10577, 10527, 10475, 10421, 10358, 10295, 10104]
}, {
name: 'USSR/Russia',
data: [null, null, null, null, null, null, null, null, null, null,
5, 25, 50, 120, 150, 200, 426, 660, 869, 1060, 1605, 2471, 3322,
4238, 5221, 6129, 7089, 8339, 9399, 10538, 11643, 13092, 14478,
15915, 17385, 19055, 21205, 23044, 25393, 27935, 30062, 32049,
33952, 35804, 37431, 39197, 45000, 43000, 41000, 39000, 37000,
35000, 33000, 31000, 29000, 27000, 25000, 24000, 23000, 22000,
21000, 20000, 19000, 18000, 18000, 17000, 16000]
}]
});

});

最佳答案

您可以使用一些 JavaScript 并更改 highcharts 全局选项来完成此操作。下面是获取当前时间的代码:

var now = new Date();
var utc_timestamp = now.getTime();
var startTime = utc_timestamp;
var endTime = utc_timestamp + 86400000; // add 24 hours (in millis).

console.log(startTime);
console.log(endTime);

这将返回 UTC 时间。现在要让图表使用用户的本地时间,请设置 useUTC参数为:

Highcharts.setOptions({
global: {
useUTC: false
}
});

所以你的xAxis看起来像:

xAxis: {
type: 'datetime',
tickInterval: 3600 * 1000,
min: startTime,
max: endTime
},

这是功能性但基本的 demo 。请注意,您还必须更改 plotOptions.series.pointStart.pointInterval。请注意,该系列赛有超过 24 分。

关于javascript - Highcharts 区域 : x-axis in hours but showing multiple points in each hour,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35042299/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com