ECharts 环形饼图配置
官网文档:https://echarts.apache.org/zh/option.html#series-pie.type
我的环形图表效果图:

配置:
1 //常用颜色列表
2 colors: string[] = ['#FF767C', '#FFA262', '#9FE11F', '#3ED389', '#71C8FF', '#9EA2FF'];
3 //获取数据及渲染样式
4 getOption = () => {
5 let assembledDatas = this.getAssembledDataList();
6 let option = {
7 //数据加载时间为0,规避初始化时加载动画偏移的问题
8 animationDurationUpdate: 0,
9 title: {
10 text: this.props.commentCount,
11 textStyle: {
12 color: '#333333',
13 fontFamily: 'Microsoft YaHei',
14 fontSize: 24,
15 lineHeight: 26,
16 fontWeight: 'normal',
17 },
18 x: 'center',
19 y: 'center',
20 },
21 //hover提示
22 tooltip: {
23 formatter: '{b}({d}%)',
24 },
25 //标签文本
26 label: {
27 color: '#666666',
28 fontFamily: 'Microsoft YaHei',
29 fontSize: 14,
30 lineHeight: 16,
31 formatter: '{b} {c}',
32 },
33 //标签线条
34 labelLine: {
35 lineStyle: {
36 color: '#666666',
37 },
38 },
39 //定义全局颜色盘
40 color: this.colors,
41 series: [
42 {
43 name: '系列名',
44 type: 'pie',
45 center: ['50%', '50%'], // 饼图的圆心坐标
46 radius: ['24%', '34%'], //内外圆圈
47 data: assembledDatas,
48 hoverOffset: 4,
49 },
50 ],
51 };
52 return option;
53 }
数据:
1 //获取标签数据列表(如果需要在指定data项中添加定制样式,可以往这里加)
2 getAssembledDataList() {
3 let datas: any[] = [];
4 const sourceDatas = this.props.datas;
5 if (sourceDatas) {
6 for (let index = 0; index < sourceDatas.length; index++) {
7 const dataItem = sourceDatas[index];
8 datas.push({
9 value: dataItem.cupCount,
10 name: dataItem.typeName,
11 });
12 }
13 }
14 return datas;
15 }
添加图表:
1 render() {
2 return (
3 <div className="pieChart">
4 <ReactEcharts option={this.getOption()} />
5 </div>
6 );
7 }
一些引用:
1 import React, { Component } from 'react';
2 //导入饼图
3 import 'echarts/lib/chart/pie';
4 import 'echarts/lib/component/tooltip';
5 import 'echarts/lib/component/title';
6 import 'echarts/lib/component/legend';
7 import 'echarts/lib/component/markPoint';
8 import ReactEcharts from 'echarts-for-react';
遇到的几个问题:
1. 数据初始加载时,有一个更新动画,但是是从显示区域的左侧弹出来的。
原因:默认是从左侧出来的。暂时未找到直接设置初始动画位置的属性。如果直接关闭Animation=false,Hover动画也会被禁用(即使设置hoverAnimation也加不回来)
规避:设置数据加载耗时为0,即数据加载时,不设置动画。
2. 图表有个最小高宽,如果小于这个最小高亮,图表会加载不出来。
原因:他们的设计如此,说是需要一个加载的空间。
规避:可以等数据加载完成后,resize图表。或者调整图表的margin,隐藏冗余的空白部分。
ECharts 环形饼图配置的更多相关文章
- ECharts 环形饼图 动态获取json数据
ECharts 环形饼图 动态获取json数据 效果图如下: 一.html部分 <div id="secondPieChart" style="width:100 ...
- echarts配置环形饼图的参数,以及牵引线显示百分比,中间数据
最近项目有多处是用echarts的,有环形图,折线图,饼图,总结了一下. 本次主要讲环形图,折线图在下期. 这个是最终的效果图.下面附上代码 //三种占比 var myChartType = echa ...
- echarts标准饼图(一)——基本配置demo
echarts标准饼图解读共分为四部分, 一.基本配置demo 二.标题(title)配置 三.提示框(tooltip)配置 四.图例(legend)配置 五.系列列表(series )配置 下面是一 ...
- Echarts环形进度使用 【1 简单的使用示例】
使用中说明几点属性: hoverAnimation:false,//此处查了好久属性//控制鼠标放置在环上时候的交互//这里一个简单的示例使用Echarts 环形图使用方式//常用于统计完成进度等等 ...
- echarts中饼图显示百分比
通过echarts制作饼图,需要通过鼠标移动到对应的扇形才能才看数值和百分比. 解决这个问题参考的是将鼠标移动到扇形上的显示方法: tooltip : { trigger: ' ...
- 修改echarts环形图的牵引线及文字位置
修改echarts环形图的牵引线及文字位置,下面代码及效果不仅如此,也包含了其它的效果哦.有问题可以留言. 根据echarts官方示例修改效果: 官方示例图: 修改效果图: 直接上代码:其它不多说. ...
- echarts legend文字配置多个颜色(转)
困扰很久的问题终于解决了 oh yea! echarts legend文字配置多个颜色legend: {data: [{name:‘直接访问’,icon : ‘circle’,textStyle: { ...
- echarts饼图配置
js引用和配置div <div id="container" style="height: 100%"></div> <scrip ...
- echarts标准饼图解读(一)——提示框(tooltip)配置
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- C# 图片 等 文件 读取操作 的一点提示
源于:在读取图片时,总喜欢首先采用:Image img=Image.FromFile("");操作,这种方式由于 调用图片的程序与图片文件是通过 绝对地址关联的,会造成 当前进程或 ...
- PHP程序的“Missing argument 3”的错误提示解决方法
是在定义函数时为三个参数,但实际调用时只调了两个参数 解决办法: 一种:在调用函数地方补全调用的参数 二种:修改函数传入参数值,设置带有默认值, Missing argument 3 fo ...
- git提交的时候,报错yarn run v1.21.1 ,SyntaxError: Cannot use import statement outside a module 解决
原因是 lint-staged这个依赖中,需要的node的版本是, 而我使用的node版本是12.13.1 ,切换成14.17.0就可以了
- 实验九 团队作业6:团队项目编码与Alpha冲刺
项目 内容 课程班级博客链接 2018级卓越班 这个作业要求链接 实验九-团队作业6 团队名称 零基础619 团队成员分工描述 任务1:荣娟,鑫任务2:亚楠,桂婷任务3:亚楠,桂婷任务4:荣娟,鑫任务 ...
- luffy前端配置and跨域
1. 安装axios 命令:npm install axios main.js内配置并使用 import axios from 'axios'app.config.globalProperties.$ ...
- Neo4j学习(1)--安装
1.访问官网,下载Community版本,注意在下载页面已经提示了登录时的默认用户名和密码neo4j/neo4j.我使用的版本为3.4.10,jdk要求为java8 2.安装Windows版本,最好参 ...
- 生产环境Java应用服务内存泄漏分析与解决
有个生产环境CRM业务应用服务,情况有些奇怪,监控数据显示内存异常.内存使用率99.%多.通过生产监控看板发现,CRM内存超配或内存泄漏的现象,下面分析一下这个问题过程记录. 服务器配置情况: 生产服 ...
- Linux & 标准C语言学习 <DAY4>
一.数据类型 为什么要对数据进行分类 1.现实中的数据就是自带类别属性的 2.对数据进行分类可以节约内存存储空间.提高运行速度 C语言中数据分为两大类别 ...
- 声网 MetaKTV 技术揭秘之“声临其境”:3D 空间音效+空气衰减+人声模糊
声网近期发布了"MetaChat 元语聊"."MetaKTV"解决方案,致力于提供一种全新的元宇宙互动社交.K 歌方式,其中都提到了"3D 空间音频& ...
- 为什么wait()需要在同步代码块内使用
我们还是通过源代码和代码注释来学习这个问题 我们先来看看wait方法的注释,这里截取最根源的native方法给的注释 Causes the current thread to wait until e ...