echarts 角度渐变环形图心得
今天做了一个图,把自己的遇到的问题和体会记录一下,以防忘记

echarts地址
https://gallery.echartsjs.com/editor.html?c=xEPtLLmG4G
参考官网地址: http://echarts.baidu.com/examples/index.html
思路:
首先需要1/4个圆形
在数据对象里面设置75和25 分别表示一个占1份,另一个占4份
series: [{
"name": '',
"type": 'pie',
"radius": ['50%', '70%'],
"avoidLabelOverlap": false,
"startAngle": 225,
"color": [{
type: 'linear',
x: 0,
y: 0,
x2: 0.4,
y2: 1,
colorStops: [{
offset: 0,
color: color_percent0 // 0% 处的颜色
}, {
offset: 1,
color: color_percent100 // 100% 处的颜色
}],
globalCoord: false // 缺省为 false
}, 'none'],
"hoverAnimation": false,
"legendHoverLink": false,
"label": {
"normal": {
"show": false,
"position": 'center'
},
"emphasis": {
"show": true,
"textStyle": {
"fontSize": '30',
"fontWeight": 'bold'
}
}
},
"labelLine": {
"normal": {
"show": false
}
},
"data": [{
"value": 75,
"name": '1'
}, {
"value": 25,
"name": '2'
}]
}]
还有一部分就是真实数据环形
series:[{
"name": '',
"type": 'pie',
"radius": ['50%', '70%'],
"avoidLabelOverlap": false,
"startAngle": 315,
"color": ['rgba(34,34,34,.9)', "#ff7a00", "transparent"],
"hoverAnimation": false,
"legendHoverLink": false,
"clockwise": false,
"itemStyle": {
"normal": {
"borderColor": "transparent",
"borderWidth": "20"
},
"emphasis": {
"borderColor": "transparent",
"borderWidth": "20"
}
},
"z": 10,
"label": {
"normal": {
"show": false,
"position": 'center'
},
},
"labelLine": {
"normal": {
"show": false
}
},
"data": [{
"value": (100 - 50) * 270/ 360,
"label": {
normal: {
formatter: percent + '%',
position: 'center',
show: true,
textStyle: {
fontSize: '90',
fontWeight: 'normal',
color: '#fff'
}
}
},
"name": ''
}, {
"value": 1,
"name": ''
}, {
"value": 100 - (100 - 50) * 270/ 360,
"name": ''
}]
}]
这个里面需要注意的是一个算法
(100 - 50) * 270/ 360
100 - (100 - 50) * 270/ 360
我们先算出这个公式里面的270 怎么得的
75/100*360 =270
也就是在270的这个圆上进行百分比的配置
如果后台传来的是50%
(100 - 50) * 270/ 360 这样算出来的就是在3/4圆中的一半位置
还有一个地方需要注意,图中有一个颜色很亮的部分,我把这个部分设置占比为1
分为3个部分来显示
分解开是这样的

其他部分用渐变来解决
说到渐变,
"color": [{
type: 'linear',
x: 0,
y: 0,
x2: 0.4,
y2: 1,
colorStops: [{
offset: 0,
color: 'rgba(12,255,0,1)' // 0% 处的颜色
}, {
offset: 1,
color: 'rgba(12,255,0,.3)'// 100% 处的颜色
}],
globalCoord: false // 缺省为 false
}, 'none'],
我遇到一个问题,就是横轴的坐标,如果不进行设置,坐标上的宽度是页面大小和数据的值变化的,如果页面放大,横轴的坐标就会跟着自适应变大


如果页面放大就会更大,效果就不好了
所以在xAxis对象里设置,根据自己的需要设置值
min: function(value) {
return value.min - 7;
},
max: function(value) {
return value.max + 7;
},
startAngle:230
起始角度,支持范围[0, 360]。
echarts 角度渐变环形图心得的更多相关文章
- echarts白色实心环形图(空心饼图)的编写
// 数据接入机构统计let myDom = document.getElementById('myChart');let myWidth = myDom.offsetWidth - 5; // 获取 ...
- echarts实现环形图
前端框架使用的angular,使用echarts实现环形图 1. item.component.html <div id="box1" class="pie&quo ...
- 修改echarts环形图的牵引线及文字位置
修改echarts环形图的牵引线及文字位置,下面代码及效果不仅如此,也包含了其它的效果哦.有问题可以留言. 根据echarts官方示例修改效果: 官方示例图: 修改效果图: 直接上代码:其它不多说. ...
- vue 结合 Echarts 实现半开环形图
Echarts 实现半开环形图 1.先看看实现的图 2.HTML部分 创建id 是 chart 的div标签. <div class="content-item"> & ...
- .net图表之ECharts随笔09-pie环形图表
这是最后的效果图 1. 这里title属性用到了富文本标签 官方文档是用的label属性,看得我一开始格外的懵逼.后面我尝试着在text中写入格式,没想到竟然成功了. rich中定义样式,在text中 ...
- 百度推出的echarts,制表折线图柱状图饼图等的超级工具(转)
一.简介: 1.绘制数据图表,有了它,想要网页上绘制个折线图.柱状图,从此easy. 2.使用这个百度的echarts.js插件,是通过把图片绘制在canvas上在显示在页面上. 官网对echarts ...
- 数据输入——生成你需要的echart图(堆积柱状图、扇形图、嵌套环形图)
最近论文需要一些比较直观的图表, 发现echart做出来的图还是比较美观的,这里介绍如何修改数据生成你需要的echart图. 1.堆积柱状图: http://echarts.baidu.com/exa ...
- echart 折线图、柱状图、饼图、环形图颜色修改
之前在做报表的时候用过echart 用完也就完了,而这次在用的时候已经忘了,所以这里简单记录一下,好记性不如烂笔头!!! 1.折线图修改颜色: xAxis: { type: 'category', b ...
- echarts渲染一个风向图
今天给大家说一个用echarts渲染一个风向图,这里图上其实有三个要素,风向,风级和能见度,主要还是讲讲代码里面的坑 1.风向图标方向修改以及设置 var ownData = echarts.util ...
随机推荐
- Python加密保护-对可执行的exe进行保护
Python 是一种面向对象的解释型计算机程序设计语言,Python 语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序. 在计算机内部,Python解释器把源代码转换成称为字节的中间形式, ...
- css实现礼券效果2
<template> <div class="quan clear"> <div class="quanleft"> < ...
- python基础之 装饰器,内置函数
1.闭包回顾 在学习装饰器之前,可以先复习一下什么是闭包? 在嵌套函数内部的函数可以使用外部变量(非全局变量)叫做闭包! def wrapper(): money =10 def inner(num) ...
- Cocos Creater 监听程序到后台和重新到前台
cocos creator前后台切换当玩家在玩游戏时,突然接了一个电话,此时游戏会被切到后台待机,所有的声音播放都会停止,等打完电话,回到游戏,游戏又会被切回前台来,需要手动播放声音.可使用如下代码 ...
- 后台发送get请求
第一步:编写Controller,让后台去请求接口 package controller; import java.util.List; import org.springframework.bean ...
- mysql----------mysql的一些常用命令
1.查询一张表中某个字段重复值的记录 select id,cert_number from (select id,cert_number,count(*)as n from 表明 group by c ...
- egg.js异步请求数据
之前已经简单的使用egg-init初始化项目,并创建控制器controller和服务service 在实际项目中, service主要负责数据的请求,并处理(http请求) controll主要负责获 ...
- 北京大学Cousera学习笔记--6-计算导论与C语言基础--计算机的基本原理-认识程序设计语言 如何学习
1.是一门高级程序语言 低级语言-机器语言(二进制) 汇编语言-load add save mult 高级语言:有利于人们编写理解 2.C语言的规范定义非常的宽泛 1.long型数据长度不短于int型 ...
- JAVA String中文乱码
System.out.println(str); String str1 = new String(str.getBytes("ISO-8859-1"), "utf-8& ...
- Python 冒泡排序、归并排序、快速排序
冒泡排序 原理: 代码: def bubble_sort2(arr):for j in range(len(arr) - 1, 0, -1): # [n-1, n-2, ....2, 1]for i ...