echarts饼图百分比详解

一、echarts饼图百分比实现原理

echarts饼图的实现原理是将数据按比例分为多个扇形,根据扇形所占比例在圆心处标出百分比数值,同时在图例中标出具体数值及对应颜色信息,让用户直观地了解数据分布情况。

option = {
    tooltip: {
        formatter: "{b} : {c} ({d}%)"
    },
    legend: {
        data:['数据1','数据2','数据3']
    },
    series : [
        {
            name: '数据分布',
            type: 'pie',
            radius : '55%',
            center: ['50%', '60%'],
            data:[
                {value:500, name:'数据1'},
                {value:300, name:'数据2'},
                {value:200, name:'数据3'}
            ],
            itemStyle: {
                emphasis: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }
    ]
};

二、echarts饼图

echarts饼图是一种常用的数据可视化图表,可以直观地展现数据的比例关系。

在echarts饼图中,每个扇形代表一种数据,扇形所占角度越大表示该数据所占比例越大。通过不同的颜色区分不同的数据,使得数据变得更加容易理解。

三、echarts饼图百分比自定义

用户可以通过echarts的API自定义饼图百分比的样式、颜色、标签等信息,以满足个性化需求。

下面是一个自定义echarts饼图的例子:

option = {
    tooltip: {
        formatter: "{b} : {c} ({d}%)"
    },
    legend: {
        data:['数据1','数据2','数据3']
    },
    series : [
        {
            name: '数据分布',
            type: 'pie',
            radius : ['40%', '55%'],
            center: ['50%', '60%'],
            roseType: 'radius',
            label: {
                formatter: '{b|{b}:}{c}  {per|{d}%}  ',
                rich: {
                    b: {
                        fontSize: 12,
                        lineHeight: 20
                    },
                    per: {
                        fontSize: 12,
                        lineHeight: 20
                    }
                }
            },
            data:[
                {value:500, name:'数据1'},
                {value:300, name:'数据2'},
                {value:200, name:'数据3'}
            ],
            itemStyle: {
                emphasis: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }
    ]
};

四、echarts饼图百分比为0不显示

在某些情况下,数据可能出现0值的情况,为了避免显示的数据有误,用户可以将0值对应的扇形隐藏掉。

option = {
     series: [{
         type: 'pie',
         data: [
             {value:0, name:'数据1', itemStyle:{normal:{opacity:0}}},
             {value:300, name:'数据2'},
             {value:200, name:'数据3'}
         ]
     }]
};

五、echarts饼图间隙

为了使饼图更加美观,用户可以通过设置饼图间隙来控制扇形之间的距离。

option = {
    series : [
        {
            type:'pie',
            radius : ['50%', '70%'],
            avoidLabelOverlap: false,
            label: {
                show: false,
                position: 'center'
            },
            data:[
                {value:335, name:'数据1'},
                {value:310, name:'数据2'},
                {value:234, name:'数据3'}
            ],
            itemStyle: {
                emphasis: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            },
            roseType: 'angle',
            //饼图间隙
            //每个扇形之前的间隙大小
            //为百分比值,数值在0~1之间
            //若该值为0,则组成的就是环形图了
            //默认值为0
            labelLine: {
                normal: {
                    length: 1,
                    length2: 25,
                    smooth: true,
                    lineStyle: {
                        color: 'rgba(255, 255, 255, 0.3)'
                    }
                }
            },
            silent: false
        }
    ]
};

六、echarts饼图图例间距

用户可以通过设置echarts饼图图例的间距来调整图例的位置,使得图例更加美观。

option = {
    tooltip: {
        trigger: 'item',
        formatter: "{b} : {c} ({d}%)"
    },
    legend: {
        orient: 'vertical',
        x: 'right',
        //图例之间的距离
        itemGap: 20,
        data:['数据1','数据2','数据3']
    },
    series : [
        {
            name: '数据分布',
            type: 'pie',
            radius : '55%',
            center: ['50%', '60%'],
            data:[
                {value:500, name:'数据1'},
                {value:300, name:'数据2'},
                {value:200, name:'数据3'}
            ],
            itemStyle: {
                emphasis: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }
    ]
};

七、echarts饼图图例设置

用户可以通过设置echarts饼图的图例信息,例如位置、字体大小、字体颜色等,来控制图例的外观效果。

option = {
    tooltip: {
        trigger: 'item',
        formatter: "{b} : {c} ({d}%)"
    },
    legend: {
        orient: 'vertical',
        x: 'right',
        y: 'center',
        textStyle: {
            color: '#fff',
            fontSize: 14
        },
        data:['数据1','数据2','数据3']
    },
    series : [
        {
            name: '数据分布',
            type: 'pie',
            radius : '55%',
            center: ['50%', '60%'],
            data:[
                {value:500, name:'数据1'},
                {value:300, name:'数据2'},
                {value:200, name:'数据3'}
            ],
            itemStyle: {
                emphasis: {
                    shadowBlur: 5,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            },
            label: {
                normal: {
                    textStyle: {
                        color: '#fff',
                        fontSize: 12
                    }
                }
            }
        }
    ]
};

八、echarts图例加百分号

用户可以通过自定义echarts图例文字内容的方式在图例上加上百分号,提高数据表现力。

option = {
    tooltip: {
        trigger: 'item',
        formatter: "{b} : {c} ({d}%)"
    },
    legend: {
        orient: 'vertical',
        x: 'right',
        data:['数据1','数据2','数据3'].map(function(item){
            return item + ' 100%';
        })
    },
    series : [
        {
            name: '数据分布',
            type: 'pie',
            radius : '55%',
            center: ['50%', '60%'],
            data:[
                {value:500, name:'数据1'},
                {value:300, name:'数据2'},
                {value:200, name:'数据3'}
            ],
            itemStyle: {
                emphasis: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }
    ]
};

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/153931.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-11-15 03:23
下一篇 2024-11-15 03:23

相关推荐

  • Echarts 地图 Label 增加背景图

    本文将从多个方面对 Echarts 地图 Label 增加背景图进行详细的阐述。 一、背景图的作用 为 Echarts 地图添加背景图可以使 Label 更加直观、美观,提升视觉效…

    编程 2025-04-29
  • Python如何写百分比

    在python中,我们可以使用各种方法来计算和表示百分比。在本文中,我们将会从字符串格式化、数学计算、列表推导式和函数等多个方面来详细阐述Python如何计算和表示百分比。 一、字…

    编程 2025-04-27
  • Python怎么把数变成百分比中心

    如果需要将数变成百分比显示,Python是一个强大的语言可以帮助您高效地完成这个任务。Python提供了内置的格式化方法和标准库来处理百分比的计算和输出。那么,下面将从以下几个方面…

    编程 2025-04-27
  • ECharts地图轮播

    本文将从插件基础、数据准备及处理、地图呈现、轮播控制等方面,对ECharts地图轮播进行详细阐述。 一、插件基础 ECharts官方提供了一个名为“echarts-gl”的插件,它…

    编程 2025-04-27
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25

发表回复

登录后才能评论