echarts饼图labelLine颜色_旭日图怎么做

echarts饼图labelLine颜色_旭日图怎么做前言如果你想要用较少的代码实现比较酷炫的数据统计表,echarts是值得你考虑的一种实现方式。官网提供了很多实例供参考。并且配置项手册很详细,几乎囊括了所有的绘图需求。但是再全的配置,偶尔也会有不满足需求的时候。最近在开发过程中就遇到了一个比较头疼的问题。先看下UI效果dy20180512171652810.jpg思路拿到需求,先看echarts的配置手册,很容易想到使用旭日图来做。但是还没等大致…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

前言

如果你想要用较少的代码实现比较酷炫的数据统计表,echarts是值得你考虑的一种实现方式。官网提供了很多实例供参考。并且配置项手册很详细,几乎囊括了所有的绘图需求。但是再全的配置,偶尔也会有不满足需求的时候。最近在开发过程中就遇到了一个比较头疼的问题。

先看下UI效果

echarts饼图labelLine颜色_旭日图怎么做

dy20180512171652810.jpg

思路

拿到需求,先看echarts的配置手册,很容易想到使用旭日图来做。

但是还没等大致效果出来,坑就来了,旭日图的配置项里面没有labelline,也就是没有指向色环的那根线。

额。。。咋整

先百度看看吧,找啊找,还是没有解决方案

没办法,迷茫了好一会,只能在配置手册里瞎看。。。突然,我看到了这张图

echarts饼图labelLine颜色_旭日图怎么做

dy20180512175000465.jpg

灵机一动,是不是可以用饼图来做旭日图呢,只需要把外面一圈不需要的数据设置成透明就行了?

码代码

服务端给的数据结构是这样的

[{

“value”: 60,

“name”: “移动端”,

“children”: [{

“value”: 40,

“name”: “苹果”

}, {

“value”: 10,

“name”: “安卓”

}, {

“value”: 10,

“name”: “塞班”

}]

}, {

“value”: 40,

“name”: “PC”

}, {

“value”: 40,

“name”: “平板”

}]

我们需要两个data,data0 是内环的数据,这个直接就从数组的第一层获取

var data0 = [];

for (var i = 0; i < originaldata.length; i++) {

var obj = originaldata[i];//从服务端给的数组中取出数据

data0.push({

value: obj.value,

name: obj.name,

itemStyle: {

color: color0[i]

},

labelLine: {

length: 40,

length2: 10

}

});

}

接下来获取外环的数据 data1

var data1 = [];

for (var i = 0; i < originaldata.length; i++) {

var obj = originaldata[i];

var kids = obj.children;

//没有子数据,直接加入data1

if (typeof(kids) === ‘undefined’) {

data1.push({

value: obj.value,

name: obj.name,

//没有子数据,将其设置为透明

itemStyle: {

color: ‘transparent’

}

});

} else {

for (var k = 0; k < kids.length; k++) {

var kid = kids[k];

data1.push({

value: kid.value,

name: kid.name,

itemStyle: {

color: color1[k]

},

label: {

normal: {

position: ‘outside’,

formatter: ‘{b} {d}% ‘,

color: ‘#909090’

}

}

});

}

}

}

最后在option中设置data0 和 data1

option = {

backgroundColor: ‘#161823’,

series: [{

name: ‘访问来源’,

type: ‘pie’,//饼图

animation: false,

radius: [‘47%’, ‘74%’],//内环尺寸

label: {

normal: {

position: ‘outside’,

formatter: ‘{b} {d}% ‘,

color: ‘#fff’

}

},

labelLine: {

normal: {

show: true

},

},

data: data0

},

{

name: ‘访问来源’,

type: ‘pie’,

radius: [‘74%’, ‘84%’],//外环尺寸

animation: false,

data: data1

}

],

};

预览地址

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189389.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm 安装保姆级别教程(手把手教学安装)

    pycharm 安装保姆级别教程(手把手教学安装)

    2021年11月12日
    44
  • pyCharm常用插件推荐[通俗易懂]

    pyCharm常用插件推荐[通俗易懂]一、插件安装方法File->Settings->Plugins,如下图所示二、MongoPluginMongoPlugin其实就是一款基于Pycharm的可视化数据库工具,通过它能可以很方便地对数据库进行可视化操作。可以在编辑器界面的右侧打开该插件界面,如下图:三、StatisticStatistic是一个项目统计插件,可以给出一个项目的统计信息,包括文件和代…

    2022年8月25日
    4
  • 查看java进程命令_linux查看进程grep

    查看java进程命令_linux查看进程grep在LINUX命令平台输入1-2个字符后按Tab键会自动补全后面的部分(前提是要有这个东西,例如在装了tomcat的前提下,输入tomcat的to按tab)。Linux查看进程ps命令用于查看当前正在运行的进程grep是搜索例如:ps-ef|grepjavaLinux查看进程ps命令表示查看所有进程里CMD是java的进程信息ps-aux|grepjava

    2022年8月23日
    3
  • ThinkPHP模板IF标签用法详解

    ThinkPHP模板IF标签用法详解

    2021年9月18日
    54
  • 如何零基础自学java_Java零基础的自学经验

    如何零基础自学java_Java零基础的自学经验Java零基础的自学经验学习Java数学不好行不行?要到能自己开发小软件的水平要多久,入门需要看些什么材料啊,网上资料不是很好,培训又要花钱,新手零基础如何自学Java比较快速?下面是小编为大家整理的Java零基础自学经验,喜欢的可以收藏一下!下面分享新新人类的自学经验之谈:我学了2周了,已经入门了,基本代码都能看懂,看不懂的研究研究也就懂了。重点是要学好概念,概念搞清楚了,再找各种代码来练习,找…

    2022年6月20日
    30
  • 如何在云服务器搭建虚拟主机,如何在云服务器搭建虚拟主机

    如何在云服务器搭建虚拟主机,如何在云服务器搭建虚拟主机如何在云服务器搭建虚拟主机内容精选换一换GaussDB(DWS)提供的gsql命令行客户端,它的运行环境是Linux操作系统,在使用gsql客户端远程连接GaussDB(DWS)集群之前,需要准备一个Linux主机用于安装和运行gsql客户端。如果通过公网地址访问集群,也可以将gsql客户端安装在用户自己的Linux主机上,但是该Linux主机必须具有公网地址。为方便起见,弹性云服务器(El…

    2022年6月25日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号