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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HTML中空格_如何去掉word中的空格

    HTML中空格_如何去掉word中的空格1. 空格符大  家  好!显示效果为:大家好!2.p标签使用空两格百度地图API功能百度地图API功能效果如下:3.span标签空格百度地图API功能百度地图API功能效果如下:4.word-spacing属性,Happynewyear!效果:![在这里插入图片描述](https://img-blog….

    2022年9月28日
    2
  • python输出图像通道数_python查看图片通道数

    python输出图像通道数_python查看图片通道数如果你只想获得图像的行数和列数,行数代表图像的高,列数代表图像的宽。如下src=cv.imread(“xxxxx”)读取图片image=src.shape获取图片宽高及通道数rows=image[0]cols=image[1]src.shape返回值为:(rows,cols,通道数)所以image[3]就是通道数tongdao_nums=image[3]…

    2025年10月28日
    4
  • leetcode 接雨水2_code42

    leetcode 接雨水2_code42题目链接给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。示例 1:输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。示例 2:输入:height = [4,2,0,3,2,5]输出:9 提示:n == height.length0 <= n &lt

    2022年8月9日
    9
  • 自动生成测试用例_测试用例设计的完整过程

    自动生成测试用例_测试用例设计的完整过程前言写用例之前,我们应该熟悉API的详细信息。建议使用抓包工具Charles或AnyProxy进行抓包。har2case我们先来了解一下另一个项目har2case他的工作原理就是将当前主流的抓

    2022年7月28日
    9
  • visual C++ 项目和解决方案的区别

    项目:项目是构成某个程序的全部组件的容器,该程序可能是控制台程序、基于窗口的程序或某种别的程序。程序通常由一个或多个包含用户代码的源文件,可能还要加上包含其它辅助数据的文件组成。某个项目的所有文件都

    2021年12月24日
    50
  • 解决getJdbcTemplate往oracle数据库中插入数据返回主键出错问题

    解决getJdbcTemplate往oracle数据库中插入数据返回主键出错问题

    2021年12月2日
    46

发表回复

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

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