2011-10-16 75 views
2

我需要爲圖中的每一列設置不同的寬度...寬度取決於yaxis值...例如,如果yaxis值爲23,則使用此值的列寬將是50px,值需要在列的中間。如果yaxis的值是234:寬度必須是70px,並在列中間的值...我怎麼能做到這一點? 我圖爲:在高圖中爲每列設置不同的寬度

options = { 
    chart: { 
     renderTo: 'chart', 
     type: 'column', 
     width: 450 
    }, 

    title: { 
     text: 'A glance overview at your contest’s status' 
    }, 

    xAxis: { 
     categories: ['Approved Photos', 'Pending Approval Photos', 'Votes', 'Entrants'], 
     labels: { 
      //rotation: -45, 
      style: { 
       font: 'normal 9px Verdana, sans-serif, arial' 
      } 
     } 
    }, 

    yAxis: { 
     allowDecimals: false, 
     min: 0, 
     title: { 
      text: 'Amount' 
     } 
    }, 

    legend: { 
     enabled: false 
    }, 

    series: [] 
}; 

series = { 
    name: "Amount", 
    data: [], 
    dataLabels: { 
     enabled: true, 
     color: '#000000', 
     align: 'right', 
     x: -10, 
     y: 20, 
     formatter: function() { 
      return this.y; 
     }, 
     style: { 
      font: 'normal 13px Verdana, sans-serif' 
     } 
    } 
}; 

而且我在這條路上設置的值:

var colors = Highcharts.getOptions().colors;   
    var index = 0; 
    options.series = []; 
    series.data = []; 
    for (var i in Data) { 
     if (parseInt(Data[i]) != 0) { 
      series.data.push({ y: parseInt(Data[i]), color: colors[index]   }); 
      index++; 
     } 
     else { 
      series.data.push(null); 
     } 
    } 
    options.series.push(series); 
    chart = new Highcharts.Chart(options); 

回答

0

在Highcharts中,一個系列只能有一個寬度,所以如果您想讓每個條寬度不同,請將數據分成多個系列,然後使用pointWidth來設置寬度。

相關問題