1. 程式人生 > >Highcharts應用--動態玫瑰圖

Highcharts應用--動態玫瑰圖

Highcharts 是一個用純JavaScript編寫的一個圖表庫, 能夠很簡單便捷的在web網站或是web應用程式新增有互動性的圖表,並且免費提供給個人學習、個人網站和非商業用途使用。HighCharts支援的圖表型別有曲線圖、區域圖、柱狀圖、餅狀圖、散狀點圖和綜合圖表。

現有一個需求,用玫瑰圖的方式,顯示不同行業的某個貸款規模佔所有貸款規模的比例

highcharts條形圖中沒有提供顯示百分比的API,只有百分比堆疊柱狀圖和餅圖可以顯示,呼叫的介面是this.percentage,普通的柱狀圖和條形圖想要顯示百分比需要呼叫formatter格式化輸出百分比。

$('#container-rose'
).highcharts({ chart: { polar: true, type: 'column' }, title: { text: '本支行XX貸款規模區間不同行業的貸款企業數量及佔比' }, legend: { enabled: false }, xAxis: { tickmarkPlacement: 'on', categories: ['教育', '批發和零售業', '房地產業', '公共管理、社會保障和社會組織', '農、林、牧、漁業', '住宿和餐飲業', '製造業', '國際組織', '科學研究和技術服務業', '採礦業'
, '衛生和社會工作'] }, yAxis: { title: { text: '行業 (數量/百分比)' }, min: 0, labels: { formatter: function (){ return this.value + '個'; } } }, tooltip: { formatter: function () { a = this
.y/this.point.stackTotal*100; return '<b>' + this.x + '</b><br/>' + this.series.name + ': <b>' + this.y + '</b>個 (' + a.toFixed(2) + "%)"; } }, plotOptions: { series: { groupPadding: 0, pointPlacement: 'on', stacking: 'normal' } }, series: [ { name: '1000+', data: [11, 12, 15, 21, 24, 35, 16, 18, 25, 24, 12] }, { name: '500-1000', data: [11, 12, 15, 21, 24, 35, 16, 18, 25, 24, 12] }, { name: '300-500', data: [11, 12, 15, 21, 24, 35, 16, 18, 25, 24, 12] }, { name: '200-300', data: [12, 12, 15, 21, 24, 35, 16, 18, 25, 24, 12] }, { name: '100-200', data: [13, 12, 15, 21, 24, 35, 16, 18, 25, 24, 12] }, { name: '50-100', data: [14, 12, 15, 21, 24, 35, 16, 18, 25, 24, 12] }, { name: '0-50', data: [15, 12, 15, 21, 24, 35, 16, 18, 25, 24, 12] } ] });