利用HightCharts显示饼图,主要有以下几个主要注意点:
1、百分比格式,精确到小数点几位:
Highcharts.numberFormat(this.percentage, 2) //2表示精确到小数点后2位
2、series的data格式 [名称,值]的JSON格式序列
[
[IE浏览器,200],
[Firefox浏览器,300],
[傲游,40],
[Safari,50]
]
3、点击饼图事件,弹出提示及页面跳转
$(function () {
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container'
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
plotOptions: {
series: {
cursor: 'pointer',
events: {
click: function(event) {
alert(this.name +' clicked\n'+
'Alt: '+ event.altKey +'\n'+
'Control: '+ event.ctrlKey +'\n'+
'Shift: '+ event.shiftKey +'\n');
location.href='http://www.baidu.com'; //页面跳转
}
}
}
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
events: {
click: function (e) {
alert(e.point.name); //弹出提示
location.href='http://www.baidu.com'; //页面跳转
}
}
}]
});
});
<div style="width: 97%; height: 400; margin: 5px" id="tb2" runat="server"> <div id="container2" style="width: 95%; height: 400px; margin: 20,5,10,10;"> </div> </div> <div style="display: none;"> <input type="text" id="d_nf2" runat="server" /> <input type="text" id="d_p1" runat="server" /> </div> <script language="javascript" type="text/javascript"> var chart; $(document).ready(function () { var xdata = eval($("#d_nf2").val()); var ydata1 = eval($("#d_p1").val()); chart = new Highcharts.Chart({ chart: { renderTo: 'container2', plotBackgroundColor: null, plotBorderWidth: null, plotShadow: false }, title: { text: '地表水资源量饼图' }, credits: { enabled: false }, exporting: { enabled: false }, tooltip: { formatter: function () { return '<b>' + this.point.name + '</b>: ' + Highcharts.numberFormat(this.percentage, 2) + ' %'; } }, plotOptions: { pie: { allowPointSelect: true, cursor: 'pointer', showInLegend: true, dataLabels: { enabled: true, color: Highcharts.theme.textColor || '#000000', connectorColor: Highcharts.theme.textColor || '#000000', formatter: function () { return '<b>' + this.point.name + '</b>: ' + Highcharts.numberFormat(this.percentage, 2) + ' %'; } } } }, series: [{ type: 'pie', name: '地表水资源量', data: ydata1 //这个序列之,从后台数据库读取并动态拼凑该JSON序列串 }] }); }); </script> </radTS:PageView> </radTS:RadMultiPage> </div>简单的demo效果图如下: