2017-03-20 51 views
1

我有一個小團隊的開發人員爲我繪製一些醫療數據。他們回來沒有解決。希望這裏有人能幫忙。Y軸標記是奇數的倍數

繪製一系列圖時,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] 
}] 

}); 
+0

有允許控制蜱位置的幾個選項 - tickInterval,tickPositions,tickPixelInterval,tickPositioner - 見軸API http://api.highcharts.com/highcharts/xAxis.tickInterval。你想蜱有固定的價值嗎?如果是這樣,你應該使用tickPositions或tickPositioner - https://jsfiddle.net/m6Lqp95m/ – morganfree

+0

謝謝,這使我走上正軌。 – Rob

回答

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] 
}]});