echarts_饼图的动态展示.html

本文展示了一个使用ECharts库创建动态饼图的例子,通过定时器实现饼图数据项的循环高亮效果,并展示了如何配置标题、图例、工具提示等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>echarts1</title>

    <script src="echarts.js"></script>
</head>

<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="width: 600px;height:400px;"></div>

    <script>
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main'));

        var option = {
            title : {  // 标题。
                text: '饼图程序调用高亮示例',  // 标题文本
                x: 'center'  // 水平居中。
            },
            tooltip: {  // 鼠标悬浮时的工具提示。
                trigger: 'item',  // 触发器:饼块。
                // 格式程序。{a},是series中对象的name属性的值
                // {b},是series中对象的data中每一条数据的name属性的值。
                // {c},是series中对象的data中每一条数据的value属性的值。
                // {d}%,是series中对象的data中每一条数据所占的比例。
                formatter: "{a} <br/>{b} : {c} ({d}%)"
            },
            legend: {  // 图例。
                orient: 'vertical',  // 标定方向:垂直
                left: 'left',  // 图例位于图的左或者右。
                // 图例数据。
                data: ['直接访问','邮件营销','联盟广告','视频广告','搜索引擎']
            },
            series : [
                {
                    name: '访问来源',  // 系列名
                    type: 'pie',  // 图类型。
                    radius : '55%',  // 图半径,占父元素的比例。
                    center: ['50%', '60%'],  // 图的中心位置。
                    data:[  // 饼图的数据
                        {value:335, name:'直接访问'},
                        {value:310, name:'邮件营销'},
                        {value:234, name:'联盟广告'},
                        {value:135, name:'视频广告'},
                        {value:1548, name:'搜索引擎'}
                    ],
                    itemStyle: {  // 饼图的样式。
                        emphasis: {  // 鼠标悬浮时的效果。
                            shadowBlur: 10,  // 阴影大小
                            shadowOffsetX: 0,  // 阴影水平方向偏移。
                            shadowColor: 'rgba(0, 0, 0, 0.5)'  // 阴影颜色。
                        }
                    }
                }
            ]
        };
        var app = {config: null, currentIndex: 0};
        app.currentIndex = -1;

        setInterval(function () {
            // 数据条数,即饼图分成的块数。
            var dataLen = option.series[0].data.length;
            // 取消之前高亮的图形
            myChart.dispatchAction({
                type: 'downplay',
                seriesIndex: 0,
                dataIndex: app.currentIndex
            });
            app.currentIndex = (app.currentIndex + 1) % dataLen;
            // 高亮当前图形
            myChart.dispatchAction({
                type: 'highlight',
                seriesIndex: 0,
                dataIndex: app.currentIndex
            });
            // 显示 tooltip
            myChart.dispatchAction({
                type: 'showTip',
                seriesIndex: 0,
                dataIndex: app.currentIndex
            });
        }, 1000);


        myChart.setOption(option);
    </script>
</body>
</html>
HTMLECharts 结合可以创建出交互式和美观的表,包括三维效果。ECharts 是一款基于 JavaScript 的开源数据可视化库,它提供了丰富的表类型,包括3D。3D可以展示各个部分相对于整体的比例关系,并通过立体效果增强视觉冲击力。 要在 HTML 中使用 ECharts 创建3D,首先需要从 ECharts 的官网下载所需的库文件,并引入到 HTML 文件中。然后,你可以使用 JavaScript 或 TypeScript 编写代码,如下所示: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ECharts 3D Pie Chart</title> <!-- 引入 ECharts 主体文件 --> <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.4.0/echarts.min.js"></script> <style> #chart { width: 600px; height: 400px; } </style> </head> <body> <div id="chart"></div> <!-- 初始化 ECharts 实例 --> <script> var myChart = echarts.init(document.getElementById('chart')); // 配置3D的数据和选项 var option = { tooltip: {}, visualMap: { show: false, pieces: [{ min: 0, max: 1, color: ['#3f9abf'] }] }, series: [ { type: 'pie', radius: ['50%', '70%'], roseType: 'area', // 选择3D玫瑰样式 data: [ { value: 335, name: '销售部' }, { value: 310, name: '市场部' }, { value: 234, name: '技术部' }, { value: 135, name: '产品部' }, ], itemStyle: { emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } } ] }; // 渲染表 myChart.setOption(option); </script> </body> </html> ``` 在这个例子中,我们创建了一个 3D 玫瑰(roseType: 'area'),展示了四个部门的贡献比例。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值