Y轴标记是奇数的倍数

时间:2017-03-20 05:29:39

标签: highcharts axis-labels

我有一个小团队的开发人员为我工作来绘制一些医疗数据。他们回来后没有决议。希望有人可以提供帮助。

绘制一系列图表时,y轴倍数不是默认的高图倍数。例如,在我绘制下面代码的高位图中,y轴标签为0,250,500,750,1000,1250。

但是,当我在我的应用程序中查看图表时,我得到以下内容:0,95,190,285,380,475,570,665,760,855,950。见附件图片。Odd intervals

我能提供的唯一其他信息是容器大小是相对的,当我更改窗口大小时,索引值会发生变化。这对我来说,它们并不是硬编码为固定倍数。

Highcharts.chart('container', {

title: {
    text: 'Solar Employment Growth by Sector, 2010-2016'
},

subtitle: {
    text: 'Source: thesolarfoundation.com'
},

yAxis: {
    title: {
        text: 'Number of Employees'
    }
},
legend: {
    layout: 'vertical',
    align: 'right',
    verticalAlign: 'middle'
},

plotOptions: {
    series: {
        pointStart: 2010
    }
},

series: [ {
    name: 'Other',
    data: [0,100,2,4,8,16,32,64,128,256,512,1024]
}]

});

1 个答案:

答案 0 :(得分:0)

下面是一个解决方案。基本上,它扫描数组的倍数大于理想的分频器数(在本例中为10)。然后它将其用作所需的间隔。

function returnInterval(){
var intervalArray = 
[.0001,.001,.01,.1,1,2,5,10,20,50,100,250,500,1000,5000,10000]
var min = .0012 //min from series below
var max = .1001 //max from series below
var idealDivider = (max - min)/10 //where 10 is the number of desired markers

for(var i=0; i<intervalArray.length; i++) {
    if (intervalArray[i] >= idealDivider) return intervalArray[i];
}
}

Highcharts.chart('container', {
yAxis:{

    tickInterval:  returnInterval()
},
series: [{
    data: [.0012,.0213,.0123,.0532,.042,.009942,.1001]
}]});