ECharts 标准饼图 动态获取json数据

ECharts  标准饼图 动态获取json数据

效果图如下:


一.html部分

<div id="firstPieChart" style="width:100%; height:400px;"></div>

二.js部分

<script type="text/javascript">

function loadOneColumn() {
    var myChart = echarts.init(document.getElementById('firstPieChart'));
    // 显示标题,图例和空的坐标轴
    myChart.setOption({
        color: ['#ff7d27', '#47b73d', '#fcc36e', '#57a2fd', "#228b22"],//饼图颜色
        title: {
            text: '信息发布排行',
            subtext: '纯属虚构',
            x:'center'
        },
        tooltip: {
            trigger: 'item',
            formatter: "{a} <br/>{b} : {c} ({d}%)"
        },        
        legend: {
            orient: 'vertical',
            x: 'left',
            data: []
        },        
        toolbox: {
            show: true,
            feature: {
                mark: { show: true },
                dataView: { show: true, readOnly: false },
                magicType: {
                    show: true,
                    type: ['pie', 'funnel'],
                    option: {
                        funnel: {
                            x: '25%',
                            width: '50%',
                            funnelAlign: 'left',
                            max: 1548
                        }
                    }
                },
                restore: { show: true },
                saveAsImage: { show: true }
            }
        },         
        series: [{
            name: '发布排行',
            type: 'pie',
            radius: '55%',
            center: ['50%', '60%'],            
            data: []
        }]        
    });
    myChart.showLoading();    //数据加载完之前先显示一段简单的loading动画
    var names = [];    //类别数组(用于存放饼图的类别)
    var brower = [];
    $.ajax({
        type: 'get',
        url: 'json/chart/column/index_fbph.txt',//请求数据的地址
        dataType: "json",        //返回数据形式为json
        success: function (result) {
            //请求成功时执行该函数内容,result即为服务器返回的json对象
            $.each(result.list, function (index, item) {
                names.push(item.department);    //挨个取出类别并填入类别数组 
                brower.push({
                    name: item.department,
                    value: item.num
                });
            });
            myChart.hideLoading();    //隐藏加载动画
            myChart.setOption({        //加载数据图表                
                legend: {                    
                    data: names
                },
                series: [{                    
                    data: brower
                }]
            });
        },
        error: function (errorMsg) {
            //请求失败时执行该函数
            alert("图表请求数据失败!");
            myChart.hideLoading();
        }
    });
};
loadOneColumn();
</script>

三.josn格式如下:

{"list":[{"department":"和平区","num":480},{"department":"河西区","num":380},{"department":"河东区","num":366},{"department":"河北区","num":320},{"department":"南开区","num":300}]}

要在echarts饼图中后台获取数据,可以使用Ajax技术向后台发送请求,获取数据后再进行图表的渲染。具体步骤如下: 1. 在前端页面中引入echarts库和jQuery库。 2. 在页面中创建一个div元素,用于显示饼图。 3. 使用Ajax向后台发送请求,获取数据。 4. 在Ajax的回调函数中,解析后台返回的数据,并将数据转换为echarts所需的格式。 5. 使用echarts库中的API,将数据渲染成饼图,并显示在页面中。 以下是一个示例代码: ```javascript // 引入echarts库和jQuery库 <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.2/echarts.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> // 创建一个div元素,用于显示饼图 <div id="pieChart" style="width: 600px;height:400px;"></div> // 使用Ajax向后台发送请求,获取数据 $.ajax({ url: 'data.php', // 后台接口地址 type: 'get', dataType: 'json', success: function (res) { // 解析后台返回的数据,并将数据转换为echarts所需的格式 var data = []; for (var i = 0; i < res.length; i++) { data.push({ name: res[i].name, value: res[i].value }); } // 使用echarts库中的API,将数据渲染成饼图,并显示在页面中 var myChart = echarts.init(document.getElementById('pieChart')); var option = { title: { text: '饼图示例' }, series: [{ name: '访问来源', type: 'pie', radius: '55%', data: data }] }; myChart.setOption(option); } }); // 相关问题:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值