我有5年的数据显示在柱形图中。当我放大时,我想将每个月显示为列。但是当我缩小时,它应该是每年的专栏。这可能是高图表。
基本上我想根据缩放设置列数。
答案 0 :(得分:1)
只有在highstock中才能使用dataGrouping - http://www.highcharts.com/docs/advanced-chart-features/data-grouping。它可能就是你要找的东西。示例:http://jsfiddle.net/w5bonc2c/
$(function () {
$.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=large-dataset.json&callback=?', function (data) {
// Create a timer
var start = +new Date();
// Create the chart
$('#container').highcharts('StockChart', {
chart: {
events: {
load: function () {
this.setTitle(null, {
text: 'Built chart in ' + (new Date() - start) + 'ms'
});
}
},
zoomType: 'x',
type: 'column'
},
rangeSelector: {
inputEnabled: $('#container').width() > 480,
buttons: [{
type: 'day',
count: 3,
text: '3d'
}, {
type: 'week',
count: 1,
text: '1w'
}, {
type: 'month',
count: 1,
text: '1m'
}, {
type: 'month',
count: 6,
text: '6m'
}, {
type: 'year',
count: 1,
text: '1y'
}, {
type: 'all',
text: 'All'
}],
selected: 3
},
yAxis: {
title: {
text: 'Temperature (°C)'
}
},
title: {
text: 'Hourly temperatures in Vik i Sogn, Norway, 2004-2010'
},
subtitle: {
text: 'Built chart in ...' // dummy text to reserve space for dynamic subtitle
},
series: [{
name: 'Temperature',
data: data,
pointStart: Date.UTC(2004, 3, 1),
pointInterval: 3600 * 1000,
tooltip: {
valueDecimals: 1,
valueSuffix: '°C'
}
}]
});
});
});