Javascript xAxis全屏时间间隔抛出错误
问题 如果xAxis.tickInterval设置为任意值,则在激活全屏视图时会引发此错误:Javascript xAxis全屏时间间隔抛出错误,javascript,highcharts,Javascript,Highcharts,问题 如果xAxis.tickInterval设置为任意值,则在激活全屏视图时会引发此错误: TypeError: t.toPrecision is not a function highcharts-complete.min.js:1:8079 详细信息 数据系列为连续年份,以文本形式书写(2011年、2012年、2013年等) 数据源是页面上的一个HTML表 如果将xAxis.tickInterval保留为默认值,则不会发生这种情况 如果使用包含日期的序列时xAxis.type=“da
TypeError: t.toPrecision is not a function
highcharts-complete.min.js:1:8079
详细信息
- 数据系列为连续年份,以文本形式书写(2011年、2012年、2013年等)
- 数据源是页面上的一个HTML表
- 如果将xAxis.tickInterval保留为默认值,则不会发生这种情况
- 如果使用包含日期的序列时xAxis.type=“dateTime”,则xAxis.tickInterval不会发生这种情况
- 这在yAxis.tickInterval中根本不会发生
发生此错误的原因以及需要使用parsInt的原因是,您的table.dataset.xAxisTickInterval是一个字符串,而不是数字,但tickInterval必须是一个数字,您可以在文档中找到: 为什么它是yAxis的工作?偶然地;)就像true或false一样,它也可以工作,因为JavaScript会将其作为0或1 见: 为什么只有在全屏模式下才会发生这种错误?因为tickInterval似乎在默认情况下被计算为1,而您稍后进行的此更新没有更改它(没有触发重画,但在选项中将值从1更改为“1”)。但全屏模式会触发图表重画,并且在您的更新间隔设置为“1”后,这是不正确的
演示:大家好,欢迎,首先添加一个JSFIDLE示例如果您需要帮助,我们需要看患者
rdOptions.xAxis['tickInterval'] = parseInt(table.dataset.xAxisTickInterval);
xAxis: {
tickInterval: 1
},
yAxis: {
tickInterval: true
},