• 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

  • 相关阅读:
    马拉车算法【Manachar】
    AcWing算法进阶课 基础算法 启发式合并
    iframe嵌套跨域子页面变化高度自适应
    js数组中的每一项异步请求
    利用geo3d地图数据画地图上面的柱子
    地图上面加柱状图组
    antd-select选项位置偏移问题解决
    git
    React
    前端面试题
  • 原文地址:https://www.cnblogs.com/imysql/p/6137117.html
Copyright © 2020-2023  润新知