HighStock问题:Tooltip未生效星期几本地化设置
解决HighStock中lang.weekdays本地化不生效的问题
嗨,我来帮你搞定这个问题!你遇到的情况是因为HighStock的时间轴(包括主x轴和导航器x轴)默认使用的是缩写星期格式,而不是直接调用你在lang.weekdays里定义的完整星期名称,所以即使你配置了weekdays数组,默认也不会生效。
问题原因
Highcharts的日期格式化逻辑中,%a代表缩写星期名(对应lang.shortWeekdays配置项),而%A才会触发lang.weekdays里的完整星期名调用。默认情况下,HighStock的x轴和导航器x轴的weekday格式化规则用的是%a,所以你的配置没被激活。
解决方案
只需要在图表配置中,给主xAxis和navigator.xAxis的dateTimeLabelFormats指定weekday为%A,这样就会使用你定义的法语星期名了。修改后的代码如下:
Highcharts.getJSON('https://www.highcharts.com/samples/data/aapl-c.json', function (data) { // Create the chart Highcharts.stockChart('container', { lang: { weekdays: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi','Jeudi', 'Vendredi', 'Samedi'] }, // 配置主x轴的日期格式化规则 xAxis: { dateTimeLabelFormats: { weekday: '%A' } }, // 配置导航器x轴的日期格式化规则 navigator: { xAxis: { dateTimeLabelFormats: { weekday: '%A' } } }, rangeSelector: { selected: 1 }, title: { text: 'AAPL Stock Price' }, series: [{ name: 'AAPL', data: data, tooltip: { valueDecimals: 2 } }] }); });
额外提示
如果连tooltip里的星期显示也要本地化,记得给tooltip的dateFormat加上%A,比如:
tooltip: { valueDecimals: 2, dateFormat: '%A, %b %e, %Y' }
这样就能让所有地方的星期显示都变成你定义的法语名称啦!
内容的提问来源于stack exchange,提问作者Rumpelstinsk
相关产品推荐
相关产品推荐

