echarts 饼状图调节 label和labelLine的位置

原理

使用一个默认颜色为透明的,并且只显示labelLine的饼状图

然后通过调节这个透明的饼状图 以达到修改labelLine的位置

echarts地址

https://gallery.echartsjs.com/editor.html?c=x6VnXPfxlx

echarts源码:

option = {
    backgroundColor: "#03141c",
    title: {
        text: "84%",
        subtext: ‘完成部门占比‘,
        x: ‘center‘,
        y: ‘center‘,
        textStyle: {
            color: "#fff",
            fontSize: 30,
            fontWeight: ‘normal‘
        },
        subtextStyle: {
            color: "rgba(255,255,255,.45)",
            fontSize: 14,
            fontWeight: ‘normal‘
        }
    },
    tooltip: {
        trigger: ‘item‘,
        formatter: "{a} <br/>{b} : {c} ({d}%)"
    },
    legend: {
        x: ‘center‘,
        y: ‘bottom‘,
        data: [‘rose3‘, ‘rose5‘, ‘rose6‘, ‘rose7‘, ‘rose8‘]
    },
    calculable: true,
    series: [
        {
            type: ‘pie‘,
            radius: [80, 120],
            center: [‘50%‘, ‘50%‘],
            data: [
                {
                    value: 10,
                    name: ‘吴际帅\n牛亚莉‘,
                    itemStyle: {
                        color: "transparent"
                    }
                },
                {
                    value: 90,
                    name: ‘rose2‘,
                    itemStyle: {

                        color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{
                            offset: 0,
                            color: ‘#0ce4da‘
                        }, {
                            offset: 1,
                            color: ‘#f6fb08‘
                        }])
                    },
                    labelLine: {
                      show: false,
                      length: 200,
                      length2: 100
                    },
                    label: {
                        color: "rgba(255,255,255,.45)",
                        fontSize: 14,
                        show: false,
                        position: ‘outside‘,
                        formatter: ‘客户满意度\n{a|52}个‘,
                        rich: {
                            a: {
                                color: "#fff",
                                fontSize: 20,
                                lineHeight: 30
                            },
                        }
                    }
                }
            ]
        },
        { // 指示线
            // 通过value 的值 调节lableLine的位置
            type: ‘pie‘,
            radius: [80, 100],
            data: [
                {
                    value: 100,
                    itemStyle: {
                        color: ‘transparent‘
                    }

                },
                {
                    value: 50,
                    itemStyle: {
                        color: "transparent"
                    },
                    labelLine: {
                      show: true,
                      length: 2,
                      length2: 240,
                      color: ‘orange‘,
                      lineStyle: {
                          color: ‘orange‘
                      }
                    },
                    label: {
                        color: "rgba(255,255,255,.45)",
                        fontSize: 14,
                        position: ‘outside‘,
                        formatter: ‘客户满意度\n{a|52}个‘,
                        rich: {
                            a: {
                                color: "#fff",
                                fontSize: 20,
                                lineHeight: 30
                            },
                        }
                    }
                }
            ]
        },
        {
            type: ‘pie‘,
            radius: [80, 100],
            center: [‘50%‘, ‘50%‘],
            data: [{
                    value: 10,
                    itemStyle: {
                        color: ‘#06d3cd‘
                    },
                    labelLine: {
                        show: false
                    }
                },
                {
                    value: 90,
                    itemStyle: {
                        color: "transparent"
                    }
                }
            ]
        }

    ]
};

  

原文地址:https://www.cnblogs.com/MainActivity/p/11354709.html

时间: 2024-10-10 12:15:13

echarts 饼状图调节 label和labelLine的位置的相关文章

vue+element+echarts饼状图+可折叠列表

html: <div id="echartsDiv" style="width: 48%; height: 430px; float: left;"> </div> <div id="tableDiv" style="width: 52%;float: left;"> <el-table :data="tableData" border row-key="

Echarts饼状图

<head> <meta charset="utf-8"> <title>ECharts</title> <script src="js/esl.js"></script></head><body> <!-- 为ECharts准备一个具备大小(宽高)的Dom --> <div id="main" style="height:

用CAShapeLayer实现一个简单的饼状图(PieView)

自己写了一个简单的PieView,demo在这里:https://github.com/Phelthas/LXMPieView 效果如图: 参考了https://github.com/kevinzhow/PNChart  和 https://github.com/xyfeng/XYPieChart 的代码 实现方法: 绘制饼状图所需的值只有各个扇形对应的值及对应的颜色,但可能会有很多附加的元素需要显示(比如字体颜色,字体大小等), 所以将每个扇形所需的数据封装为一个model对象,方便以后扩展.

Matplotlib基本图形之饼状图

Matplotlib基本图形之饼状图 饼状图特点: 饼状图显示一个数据系列中各项大小与各项总和的比例饼状图的数据点显示为整个饼状图的百分比 示例代码 import os import time import numpy as np import matplotlib.pyplot as plt basedir = os.path.dirname(os.path.abspath(__file__)) resultdir = os.path.join(basedir, 'result') class

Echarts生成饼状图、条形图以及线形图 JS封装

1.在我们开发程序中,经常会用到生成一些报表,比方说饼状图,条形图,折线图等.不多说了,直接上封装好的代码,如下Echarts.js所示 以下代码是封装在Echarts.js文件中 /** * Created by Administrator on 2015/8/7. */ var charec; // 路径配置 require.config({ paths: { echarts: 'http://echarts.baidu.com/build/dist' } }); // 按需加载所需图表 r

ECharts学习(2)--饼状图之南丁格尔图

1.上一篇中讲了如何绘制一个简单的柱状图,这次要画的是饼图,饼图主要是通过扇形的弧度表现不同类目的数据在总和中的占比,它的数据格式比柱状图更简单,只有一维的数值,不需要给类目.因为不在直角坐标系上,所以也不需要xAxis,yAxis. 2.itemStyle都会有normal和emphasis两个选项,normal选项是正常展示下的样式,emphasis是鼠标 hover 时候的高亮样式.也可以把阴影的效果设置在hover的时候. 3.背景色是全局的,所以直接在 option 下设置backgr

C#+JQuery+.Ashx+百度Echarts 实现全国省市地图和饼状图动态数据图形报表的统计

在目前的一个项目中,需要用到报表表现数据,这些数据有多个维度,需要同时表现出来,同时可能会有大量数据呈现的需求,经过几轮挑选,最终选择了百度的echarts作为报表基础类库.echarts功能强大,界面优美.由于客户是淘宝卖家,因此想要实现每个月全国各个省份各自购力如何,大家可以统计其他的,如果GDP 人口 等等. 百度echarts简介请参考 http://echarts.coding.io/doc/example.html 效果图如下:全部是动态数据 JS代码: <!-- Charts La

ECharts 报表事件联动系列四:柱状图,折线图,饼状图实现联动

代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>ECharts</title> <!-- <script src="http://echarts.baidu.com/dist/echarts.min.j

图表echarts折线图,柱状图,饼状图

总体就是有折线图相关图标的设置,x,y轴的设置,x,y轴或者数据加上单位的设置.饼状图如何默认显示几个数据中的某个数据 折线图:legend(小标题)中间默认是圆圈 改变成直线 在legend设置的时候就改变icon的形状 legend: { data:[ { name:'访问次数', icon:'line' }, { name:'访', icon:'line' }, { name:'访问', icon:'line' }, ], textStyle:{ color:'#fff' }, right