javascript - Highcharts area: x-axis in hours but showing multiple points in each hour -
i'm using this example highcharts need adjust follows:
having x-axis displaying current 24 hours starting current hour (i able draw 24 hrs not current hour)
xaxis: { type: 'datetime', tickinterval: 3600 * 1000, min: date.utc(2013,4,22), max: date.utc(2013,4,23), },
displaying multiple points between 2 consecutive hours
any ideas?
here full code of jsfiddle:
$(function () { $('#container').highcharts({ chart: { type: 'area' }, title: { text: 'us , 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 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] }] });
});
you can javascript , change highcharts global options. here code current time:
var = 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);
this return utc time. chart use user's local time set useutc
parameter to:
highcharts.setoptions({ global: { useutc: false } });
so xaxis
looks like:
xaxis: { type: 'datetime', tickinterval: 3600 * 1000, min: starttime, max: endtime },
here functional basic demo. note have change plotoptions.series.pointstart
, .pointinterval
. , note series have more 24 points.
Comments
Post a Comment