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传递数据。

效果图:

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

 

posted @ 2016-12-06 12:26  旧约yzy  阅读(3752)  评论(0编辑  收藏  举报