2016-07-20 28 views
0

是否可以設置子滴答間隔?我需要在Y軸的第一個區間中有一個差值50,其差值爲250.tickInterval在區間內

如果Y軸的最大值是1500,那麼Y軸將會有以下時間間隔:
0, 250, 500, 750, 1000, 1250, 1500

在0 - 250範圍內,我想0, 50, 100, 150, 200, 250

所以在Y軸上的間隔應該是這樣的:
0, 50, 100, 150, 200, 250, 500, 750, 1000, 1250, 1500

function loadColumnBarChart(Hired, Scrned, AllTimPreQulfd, Qualfid, AllTimSAD, SAD, SMD, Aprvd, pndin) { 
    $('#chartMain').highcharts({ 
     chart: { 
      type: 'column' 
     }, 
     title: { 
      text: Data Flow' 
     }, 

     xAxis: { 
      categories: [ 
       'Hired', 
       'Screened', 
       'Pre-Qualified', 
       'Submitted All Docs', 
       'Submittted Missing Docs', 
       'Approved', 
       'Pending' 
      ], 
      crosshair: true 
     }, 
     yAxis: { 
      min: 0, 
      tickInterval: 250, 
     // tickPixelInterval: 50, 
      title: { 
       text: 'Employees' 
      } 
     }, 
     tooltip: { 
      headerFormat: '<span style="font-size:10px">{point.key}</span><table>', 
      pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' + 
       '<td style="padding:0"><b>{point.y:.1f} </b></td></tr>', 
      footerFormat: '</table>', 
      shared: true, 
      useHTML: true 
     }, 
     plotOptions: { 
      column: { 
       pointPadding: 0.2, 
       borderWidth: 0 
      } 
     },  
     series: [{ 
      name: 'Current Status', 
       data: [Hired, Scrned, Qualfid, SAD, SMD, Aprvd, pndin] 
      }, { 
       name: 'Total Amount', 
       data: [Hired, Scrned, AllTimPreQulfd, AllTimSAD, SMD, Aprvd, pndin] 

     }] 
    }); 
} 
+0

我認爲你必須解釋你需要一點更清晰(插圖將幫助)是什麼。但是,通過使用** tickPositions **屬性或** tickPositioner **函數,您可以通過定位點定位完成任何所需的任何操作:http://api.highcharts.com/highcharts#yAxis.tickPositions | http://api.highcharts.com/highcharts#yAxis.tickPositioner – jlbriggs

+0

@jibriggs用更多插圖更新了這個問題。 –

+0

所以,答案是肯定的,但是你必須自己做數學運算,使用我之前評論中提到的兩種方法之一。您可以預處理,並返回一個y值數組到** tickPositions **,在該位置繪製一個刻度線,或者您可以提供函數將它們計算爲** tickPositioner **函數的回調函數。 – jlbriggs

回答

1

這裏是一個最原始的例子,基於該文檔,你可以根據需要清理:

代碼:

yAxis: { 
    min: 0, 
    max: 1500, 
    tickPositioner: function() { 
    var positions = [], 
     tick = 0, 
     increment1 = 50, 
     increment2 = 250; 
    for (tick; tick < 250; tick += increment1) { 
     positions.push(tick); 
    } 
    for (tick; tick - increment2 < this.max; tick += increment2) { 
     positions.push(tick); 
    } 
    return positions; 
    } 
} 

小提琴

參考