最后修改时间:2022-12-15 18:10
范围选择器(rangeSelector)是图表中用于选择数据范围的工具,它提供了预配置的时间选择按钮,包括 1天,1周,1个月等,同时也提供时间输入框用于手动指定时间范围。
通过 rangeSelector.buttons 可以指定时间选择按钮,默认是
buttons: [{
type: 'month',
count: 1,
text: '1m'
}, {
type: 'month',
count: 3,
text: '3m'
}, {
type: 'month',
count: 6,
text: '6m'
}, {
type: 'ytd',
text: 'YTD'
}, {
type: 'year',
count: 1,
text: '1y'
}, {
type: 'all',
text: 'All'
}]
其中 type
表示时间单位,可用的值有 millisecond
、second
、minute
、hour
、day
、week
、month
、ytd
(Year to Date,最近的一年)、all
(全部) ;count
为数量,text
为按钮显示的文字。
通过 type
和 count
我们可以很灵活的组合时间范围。
默认选中指的是图表显示的默认范围,我们可以通过 selected
属性来指定默认选中的时间范围按钮
rangeSelector: {
buttons: [{ // 时间范围按钮数组
}],
selected: 1 // 默认选中的范围,值为上面 buttons 数组的下标(从 0 开始)
}
时间输入框包含两个 Input 输入框,其值为当前图表的时间范围,我们可以通过 inputDateFormat 和 inputEditDateFormat 来指定输入框显示状态和输入状态的时间格式。
如果不需要时间输入框,可以设置 inputEnabled = false
来关闭输入框。
范围选择器改变的范围其实是对坐标轴改变范围,所以如果需要监听范围选择器事件,我们可以通过坐标轴的相关事件来处理,下面是示例代码:
xAxis: {
events: {
// 范围选择器改变的范围最终是改变坐标轴的范围,所以我们监听坐标的极值变更事件函数即可
afterSetExtremes: function(e) {
// e.min 和 e.max 为坐标轴当前的范围
console.log(e.min, e.max);
}
}
}
请参考示例代码:
Highcharts.setOptions({
lang: {
rangeSelectorZoom: '' // 不显示 'zoom' 文字
}
})
$('#container').highcharts('Stock', {
// ... 省略代码
rangeSelector: {
buttonTheme: {
display: 'none' // 不显示按钮
},
selected: 1,
inputEnabled: false // 不显示日期输入框
}
});
出自帖子:关于 Highstock 的一些小技巧
可以调用 rangeSelector.clickButton
函数,该函数是内部未公开的函数,通过阅读源码得知。
本教程仅用于学习、研究和交流目的,欢迎非商业转载。转载请注明出处及完整的链接。
订阅更新
尊敬的用户您好:
由于域名备案调整,我们将于 2023-01-01 ~ 2023-01-07 日陆续停用 highcharts.com.cn 域名,受影响的网站及域名如下:
网站或服务名称 | 域名 | 替代的网站 |
---|---|---|
主站 | www.highcharts.com.cn | www.hcharts.cn |
静态资源服务/CDN | cdn.highcharts.com.cn code.highcharts.com.cn | code.hcharts.cn |
img.highcharts.com.cn | img.hcharts.cn | |
API 文档 | api.highcharts.com.cn | api.hcharts.cn |
导出服务 | export.highcharts.com.cn | export.hcharts.cn |
以上网站服务及 highcharts.com.cn 域名下的网站将于 2023-01-08 日全部下线,未来一段时间将不可访问,后续我们将上线新的网站。
如果您的应用中有使用到相关服务,请抓紧时间对链接进行调整(特别是静态资源/CDN 服务的链接),以免影响您的网站或应用的正常运行,由此给您带来的不便,敬请谅解。
如需帮助,请及时与我们联系:0571-86208605 / 18106595564(微信)。
简数科技 2022-12-22