利用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">简单的demo效果图如下:
<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>