在echarts中实现饼图、圆环过渡动画

该文章展示了一个使用ECharts库在web页面上生成动态饼图的例子。代码包括HTML结构、CSS样式以及JavaScript脚本,特别是利用ECharts的setOption方法每秒更新数据,实现数据过渡动画效果。
摘要由CSDN通过智能技术生成

1.html

<div class="main">
        <div class="con">
            <div class="left">
                <div class="contain">
                    <div class="pie1" id="pieLeftEcharts"></div>
                </div>
            </div>
        </div>
    </div>

2.css

       .main .con {
            width: 80%;
            margin: 0 auto;
        }

        .main .con .left .contain {
            width: 100%;
            height: 465px;
            background-size: 100% 100%;
        }

        .main .con .contain .pie1 {
            width: 75%;
            height: 400px;
            margin: 30px auto;
        }

3.script

      function chartsFourData() {
            return [
                {
                    value: Math.random(),
                    name: 'A',
                },
                {
                    value: Math.random(),
                    name: 'B'
                },
                {
                    value: Math.random(),
                    name: 'C'
                },
                {
                    value: Math.random(),
                    name: 'D'
                },
            ];
        }



        var charts4 = echarts.init(document.getElementById('pieLeftEcharts'))
        charts4.setOption({
            tooltip: {
                trigger: 'item'
            },
            legend: {
                show: true,
                orient: 'vertical',
                align: 'left', //设置图例中文字位置在icon标识符的右侧
                left: '0',
                top: '25%',
                itemGap: 20, //设置图例之间的间距
                padding: [0, 0, 0, 0], //设置图例与圆环图之间的间距
                textStyle: { //图例文字的样式
                    color: 'auto',
                    fontSize: 15
                },
            },
            textAlign: 'center',
            series: [
                {
                    name: 'A',
                    type: 'pie',
                    radius: ['60%', '70%'],//制作饼图
                    data: chartsFourData(),
                    avoidLabelOverlap: false,
                    label: {
                        show: false,
                        position: 'center',
                        formatter: '{d}%'
                    },
                    emphasis: {
                        label: {
                            show: true,
                            fontSize: 40,
                            fontWeight: 'bold'
                        }
                    },
                    labelLine: {
                        show: false
                    },
                    // data: [
                    //     { value: 1333, name: 'A' },
                    //     { value: 735, name: 'B' },
                    //     { value: 580, name: 'C' },
                    //     { value: 484, name: 'D' },
                    // ]
                }
            ],
        })


        setInterval(function () {
            charts4.setOption({
                series: {
                    data: chartsFourData()
                }
            });
        }, 1000);

如图

 

 

 参考来源:数据过渡动画 - 动画 - 应用篇 - Handbook - Apache ECharts

你可以通过使用 Vue.js 和 ECharts 来创建一个3D环形饼状图。首先,确保你已经在你的项目安装了 Vue.js 和 ECharts。 接下来,你可以按照以下步骤创建一个3D环形饼状图: 1. 在你的 Vue 组件引入 ECharts: ```javascript import echarts from 'echarts' ``` 2. 创建一个 div 元素作为图表的容器: ```html <div id="chartContainer" style="width: 600px; height: 400px;"></div> ``` 3. 在 Vue 组件的 mounted 钩子函数初始化图表: ```javascript mounted() { this.initChart() }, methods: { initChart() { // 使用 echarts.init 初始化图表容器 const chartContainer = document.getElementById('chartContainer') const chart = echarts.init(chartContainer) // 配置饼状图的数据 const data = [ { value: 335, name: '直接访问' }, { value: 310, name: '邮件营销' }, { value: 234, name: '联盟广告' }, { value: 135, name: '视频广告' }, { value: 1548, name: '搜索引擎' } ] // 配置饼状图的选项 const option = { tooltip: { trigger: 'item', formatter: '{a} <br/>{b}: {c} ({d}%)' }, series: [ { name: '访问来源', type: 'pie', radius: ['40%', '70%'], avoidLabelOverlap: false, label: { show: false, position: 'center' }, emphasis: { label: { show: true, fontSize: '30', fontWeight: 'bold' } }, labelLine: { show: false }, data: data } ] } // 使用 setOption 方法将配置项应用到图表 chart.setOption(option) } } ``` 以上代码会在图表容器绘制一个3D环形饼状图,你可以根据自己的需求修改数据和选项来自定义图表的样式和行为。 希望这能帮到你!如果有任何问题,请随时询问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值