Javascript Highcharts X轴问题

Javascript Highcharts X轴问题,javascript,highcharts,Javascript,Highcharts,在决定问这个问题之前,我在谷歌上搜索了很多stack overflow,因为虽然有些问题看起来很相似,但没有一个解决方案适合我 我对数据进行了分类,有时范围很广,如1881-2012,我想动态计算并将该范围划分为x轴上的11个点,这是我在不启用缩放的情况下可以显示的空间。如果数据是从1881年到2012年,我想让它显示(不精确计算)从1881年,1901年,1921年,1941年…如果是从1958年到2013年,那么1958年,1968年,1978年 xAxis: { ca

在决定问这个问题之前,我在谷歌上搜索了很多stack overflow,因为虽然有些问题看起来很相似,但没有一个解决方案适合我

我对数据进行了分类,有时范围很广,如1881-2012,我想动态计算并将该范围划分为x轴上的11个点,这是我在不启用缩放的情况下可以显示的空间。如果数据是从1881年到2012年,我想让它显示(不精确计算)从1881年,1901年,1921年,1941年…如果是从1958年到2013年,那么1958年,1968年,1978年

xAxis: {
           categories: range(start_year,end_year),
           tickmarkPlacement: "on",
           tickInterval: Math.ceil(range(start_year,end_year).length/11), 
       },

.......

function range(start_year,end_year)
  {
    var years = [];

    for(var i = start_year;i<=end_year;i++)
    {
        years.push(i); 
    }
    return years;
  } 
xAxis:{
类别:范围(起始年、结束年),
滴答声:“开”,
tickInterval:Math.ceil(范围(起始年、结束年)。长度/11),
},
.......
功能范围(开始年、结束年)
{
风险值年数=[];
对于(var i=起始年;i您可以使用并准备自己的计算函数。
下面的JavaScript是如何做到这一点的一个示例:
Highcharts.chart('container'{
标题:{
文本:“自定义记号位置”
},
副标题:{
文本:“通过axis.tickPositions和axis.tickPositioner”
},
xAxis:{
位置:[0,1,2,4,8]
},
亚克斯:{
定位器:功能(){
var头寸=[],
勾选=数学地板(this.dataMin),
增量=Math.ceil((this.dataMax-this.dataMin)/6);
if(this.dataMax!==null&&this.dataMin!==null){

对于(滴答声;滴答声-increment对于其他努力完成这项任务的人来说,这里是你需要的,因为我在谷歌上搜索了很多次,没有找到解决同样问题的答案


请您提供并举例说明,好吗?在相关链接中,附上了演示;)我去过那里,但演示并不能真正满足我的要求。我需要的是,例如,间隔10年的年份,其间不留积分空间。感谢您的帮助:-)在tickpositioenr中有最小/最大值,因此可以检查“范围”在它们之间,如果你检查是否有年份,你需要在正确的日期中减少刻度。同样的情况,如果你的范围将更小。让我对此做更多的研究。你是在谈论设置轴标签,还是要聚集正在绘制的数据?我需要一个函数来选择rag中的相等间隔点e查询以显示所有数据,这意味着跳过几年。最重要的是显示所选年份的趋势。因此,当选择超过12年的范围时,X轴上的数据标签重叠,使其难以辨认。因此,您指的是轴标签,而不是数据本身?默认情况下,Highcharts将选择在大多数情况下,如果你只是简单地让它(即不使用类别,也不指定一个滴答声时间间隔)来设置一个合适的滴答声时间间隔。如果你设置了一个提琴,这将更容易得到帮助。提琴补充道