highcharts饼状图使用案例

在公司由于需要对订单数据进行分析,故使用到了highcharts工具

<block name="Js">
<script type="text/javascript">//图表属性,不包含数据
var options = {
chart: {
renderTo:'container',
plotBackgroundColor: null,
plotBorderWidth: null,
plotShadow: false
},
credits: {
enabled:false
},
title: {
text: '各类型服务销售饼状图'
},
legend: {
margin:40
},
tooltip: {
formatter: function () {
return this.series.name + ': ' + '<b>'+this.percentage.toFixed(2)+'%'+'</b><br/>' +
'订单数: ' + this.y;
}
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
format: '<b>{point.name}</b>: {point.percentage:.1f} %'+'<br/><b>订单数:</b>{point.y}<br/><b>总金额:</b>{point.cost}元<br/><b>平均金额:</b>{point.average}元',
style: {
color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
}
},
events: { //绑定点击时间
click: function(obj) {
window.location.href = obj.point.url;
}
},
showInLegend: true
}
},
series: [{
type: 'pie',
name: '占比:',
data: []
}]
}; //初始函数
if(document.getElementById('order_date_to') != null){
$(function () {
queryData();
});
} var pieArr = [];
var tooltipArr = [];
//Ajax 获取数据并解析创建Highcharts图表
function queryData() {
var orderDateFrom = document.getElementById('order_date_from').value;
var orderDateTo = document.getElementById('order_date_to').value;
$.ajax({
url:'getRevenueProfiles?order_date_from='+orderDateFrom +'&order_date_to='+orderDateTo,
type:'get',
dataType:"json",
success:function(data) {
$.each(data,function(i,dailyData){
var value = {name:dailyData['service_type_display'], y:parseInt(dailyData['order_count']), url:dailyData['url'], cost:parseFloat(dailyData['all_cost']), average:parseFloat(dailyData['average_cost'])};
pieArr.push(value);
}); options.title.text = orderDateFrom+"至"+orderDateTo+"各类服务销售饼状图";
options.series[0].data = pieArr; var chart = new Highcharts.Chart(options);
}
});
}</script>
</block>

后台代码:利用ajax传递数据。

效果图:

highcharts饼状图使用案例

如有问题发邮件至:taxkiss@163.com

上一篇:Highcharts配置


下一篇:《Learning Highcharts》中文翻译