【Echarts】Echarts饼图样式-添加内圈阴影达到立体效果

这篇具有很好参考价值的文章主要介绍了【Echarts】Echarts饼图样式-添加内圈阴影达到立体效果。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

给饼图添加内圈阴影达到立体效果

实现思想:
	使用双饼图,将内圈饼图与外圈饼图数据一致,并保持高亮
最终效果:

echarts立体饼状图,Echarts,echarts,javascript,前端文章来源地址https://www.toymoban.com/news/detail-818402.html

1.在series中添加内圈饼图
	注意:data要与外圈饼图一致,饼图中心与外圈饼图一致,饼图外径与外圈饼图内径一致(+1效果更好)
	{
      type: 'pie',
      radius: ['36%', '41%'],
      center: ['35%', '55%'],
      startAngle: 135,
      minAngle: 12,
      label: {
      	show: false
      },
      hoverAnimation: false,
      legendHoverLink: false,
      animation: false,
      tooltip: {
      	show: false
      },
      data: data,
  }
2.保持内圈高亮,达到阴影效果
	myChart.dispatchAction({
		type: "highlight",
		seriesIndex: 1, // series 数据数组第几个
	});
完整script代码:
        $(function () {
                var main = document.getElementById('item1');
                var msg=[
                    {name: '字段1', value: '16'},
                    {name: '字段2', value: '34'},
                    {name: '字段3', value: '52'},
                    {name: '字段4', value: '48'},
                    {name: '字段5', value: '88'}
                ]
                nanding_bing_echart(msg, main);
            })
        function nanding_bing_echart(msg, main) {
            var data = msg;
            
            // 计算和
            var num = 0;
            for (var i = 0; i < data.length; i++) {
                num += Number(data[i].value);
            }
            var myChart = echarts.init(main);
            option = null;


            myChart.setOption({
                backgroundColor:'#1a3c81',
                legend: {
                    //是否显示图例
                    show: true,
                    //plain普通(默认),scroll数量较多时可使用可滚动翻页的图例(水平\垂直)
                    type: 'plain',
                    //图例列表的布局朝向:水平horizontal、垂直vertical
                    orient: 'vertical',
                    //图例组件离容器上(left,top,right,bottom)侧的距离
                    bottom: '30',
                    right: '30',
                    //图例每项之间的间隔。横向布局时为水平间隔,纵向布局时为纵向间隔。
                    itemGap: 6,
                    //图例标记的图形宽度
                    itemWidth: 10,
                    //图例标记的图形高度
                    itemHeight: 10,
                    //图例的公用文本样式(包括颜色\字体\字号\等等...)
                    textStyle: {
                        color: font_color,
                        fontSize: 14,
                    },
                    //控制是否可以通过点击图例改变系列的显示状态:true\false\single\multiple
                    selectedMode: true,
                    //图例关闭时的颜色
                    inactiveColor: '#ccc',
                    icon: 'circle',
                    formatter: function (name) {
                        var value;
                        for (var i = 0; i < data.length; i++) {
                            if (data[i].name == name) {
                                value = data[i].value;
                            }
                        }
                        return name + ' : ' + Math.round(value / num * 10000) / 100 + "%";

                    },
                },
                tooltip: {
                    confine: true,
                    //是否显示提示框组件,包括提示框浮层和 axisPointer
                    show: true,
                    //触发类型:'item':数据项图形触发,主要在散点图,饼图等无类目轴的图表中使用\'axis':坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用\'none':什么都不触发
                    trigger: 'item',
                    //提示框浮层内容格式器:{a}(系列名称),{b}(数据项名称),{c}(数值), {d}(百分比)
                    formatter: ' {b} :<br/> {c} 人 ({d}%)',
                    //是否显示提示框浮层,默认显示
                    showContent: true,
                    //是否永远显示提示框内容,默认情况下在移出可触发提示框区域后 一定时间 后隐藏,设置为 true 可以保证一直显示提示框内容
                    alwaysShowContent: false,
                    //提示框触发的条件:mousemove,click,mousemove|click,none
                    triggerOn: 'mousemove|click',
                    //浮层隐藏的延迟,单位为 ms,在 alwaysShowContent 为 true 的时候无效
                    hideDelay: 100,
                    //鼠标是否可进入提示框浮层中,默认为false,如需详情内交互,如添加链接,按钮,可设置为 true
                    enterable: false,
                    //是否将 tooltip 框限制在图表的区域内,当图表外层的 dom 被设置为 'overflow: hidden',或者移动端窄屏,导致 tooltip 超出外界被截断时,此配置比较有用
                    confine: true,
                    //提示框浮层的移动动画过渡时间,单位是 s,设置为 0 的时候会紧跟着鼠标移动
                    transitionDuration: 0.4,
                    //提示框浮层的背景颜色
                    backgroundColor: 'rgba(50,50,50,0.7)',
                    //提示框浮层的边框颜色
                    borderColor: '#333',
                    //提示框浮层的文本样式(颜色\字体\字号\等等...)
                    textStyle: {
                        color: font_color,
                        fontSize: 12,
                    },
                },
                animationDuration: 2000,
                animationDurationUpdate: 800,
                series: [
                    {
                        color:['#17b367', '#02aafe', '#814ecc', '#cb8251', '#a3c84e', '#4c63d9'],
                        type: 'pie',
                        radius: ['40%', '70%'],
                        center: ['35%', '55%'],
                        startAngle: 135,
                        minAngle: 12,
                        data: data,
                        label:{
                            //是否显示标签(圆环false)
                            show: true,
                            // 标签的位置outside:有视觉引导线连接,inside==inner,圆环中心center
                            position: 'outside',
                            //标签内容:{a}:系列名,{b}:数据名,{c}:数据值,{d}:百分比
                            formatter: '{b}\n{c}人',
                            // 标签文字颜色
                            color: font_color,
                        },
                        labelLine: {
                            //是否显示视觉引导线
                            show: true,
                            //是否平滑视觉引导线,默认不平滑,可以设置成 true 平滑显示,也可以设置为 0 到 1 的值,表示平滑程度
                            smooth: false,
                        },
                    },{
                        type: 'pie',
                        radius: ['36%', '41%'],
                        center: ['35%', '55%'],
                        startAngle: 135,
                        minAngle: 12,
                        label: {
                            show: false
                        },
                        hoverAnimation: false,
                        legendHoverLink: false,
                        animation: false,
                        tooltip: {
                        show: false
                        },
                        data: data,
                    },
                ]
            }, true);
            // 保持内圈高亮,达到阴影效果
            myChart.dispatchAction({
                type: "highlight",
                seriesIndex: 1, // series 数据数组第几个
                });
            // 自适应大小
            window.addEventListener("resize", function () { 
                myChart.resize();
            });
        };

到了这里,关于【Echarts】Echarts饼图样式-添加内圈阴影达到立体效果的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • echarts 饼图 环形图 lable添加下划线

         

    2024年02月09日
    浏览(42)
  • vue3 echarts实现3D立体柱状图效果,多柱状图

    使用插件vchart+echarts5.x按需引入实现 需要注意下,底下的椭圆,是在柱子底下“透”出来,颜色应该暗一点,才能视觉上看着有立体感。 成品,还原了大部分设计效果

    2024年02月06日
    浏览(44)
  • echarts看板效果图:流光折线图、3d柱状图、3d饼图、3d地图

    现在展厅的大看板是越花里胡哨越好,不过真的挺难做的。好在可以百度找到一些大神的作品进行参考。 下面的内容都是基于 echarts 5.3.3 和 vue3 。另外demo都是参考别人的案例。 效果图 代码 本质上是两条线组合在一起的,一条是静态的线条,一条是动态的线条。相关属性都

    2024年02月06日
    浏览(47)
  • 修改echarts的tooltip样式 折线图如何配置阴影并实现渐变色和自适应

    图片展示 这里不用多解释 vue里使用 import echarts from “echarts”; html页面引用js文件或用script标签引用 tooltip里的 模板字符串 dom结构 前端不方便调试效果图 可以先在dom里写好,调试好效果之后 在复制粘贴到 tooltip里的模板字符串 配置阴影和渐变色 在series里配置 normal: { color:

    2024年02月07日
    浏览(42)
  • 【Echart多场景示例应用】Echarts柱状图、折线图、饼图、雷达图等完整示例。 echarts主标题和副标题的位置、样式等设置(已解决附源码)

    **【写在前面】**前端时间做一个echarts的页面调整,临时客户要求加一个参数(总容量)显示,当时我就想用个默认的副标题吧,哪知客户和我说得紧跟在主标题后面,于是乎我就根据设置做了一个调整,我也是在网上看了一下,好些答案都是复制粘贴,文章各种抄袭的,遇

    2024年02月08日
    浏览(49)
  • echarts饼图:实现多层图表同步自动轮播,鼠标悬浮时停止轮播,移出鼠标后重新开始轮播效果

    需要用echarts实现一个圆环饼图,在圆环中心显示每个系列的具体数据,加载成功后图表系列自动高亮轮播展示;当用户鼠标悬浮某一系列的图形时,停止自动轮播并高亮显示该图形,移出鼠标后重新开始轮播 echarts圆环饼图示例 (开发echarts图表时,对照配置项文档和API文档

    2024年02月13日
    浏览(57)
  • [element-ui] el-table行添加阴影悬浮效果

    问题: 在el-table每一行获得焦点与鼠标经过时,显示一个整行的阴影悬浮效果 没有什么效果 原因: box-shadow对display:table-row元素是不起作用的 解决方案: 弊端 给el-table行加阴影的问题算是解决了,但是却导致表格内容无法操作 1、通常,项目设计中,el-table会带一些按钮,比如

    2024年02月04日
    浏览(44)
  • 【echarts】使用 ECharts 绘制3D饼图

    在数据可视化中,饼图是表达数据占比信息的常见方式。ECharts 作为一个强大的数据可视化库,除了标准的二维饼图,也支持更加生动的三维饼图绘制。本文将指导你如何使用 ECharts 来创建一个3D饼图,提升你的数据展示效果。 在 ECharts 中,3D 饼图主要是通过 surface 类型的图

    2024年04月27日
    浏览(37)
  • vue中使用echarts与echarts-gl 实现3D饼图环形饼图

    注意:我不知道版本差异会不会有影响(可以指定版本 也可以借鉴我的) 指定版本命令 加个@后面跟版本号即可 成功之后可以在package.json中检查是否安装成功(如上图) 引入位置:我没有在main.js中全局引用,而是哪个页面用到就引入哪里 代码: 注意:我没有封装起来(你

    2024年02月03日
    浏览(48)
  • echarts的3D饼图

    1、需要安装 2、使用方法 3、案例 效果图: 需要底座背景图自取

    2024年01月21日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包