前端数据可视化之【series、series饼图配置】配置项

news2025/2/27 3:37:06

目录

  • 🌟Echarts配置项
  • 🌟series
  • 🌟饼图 type:'pie'
  • 🌟写在最后

在这里插入图片描述

🌟Echarts配置项

ECharts开源来自百度商业前端数据可视化团队,基于html5 Canvas,是一个纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。

想让ECharts展示出我们预期的效果,就要在 myChart.setOption()方法中传入一个指定的options配置项,其类型为Objectoptions中的配置项非常之多,记住所有的并不太现实,在这里列一些重要的做介绍

🌟series

每个系列通过 type 决定自己的图表类型

series是一个数组,里面可以写很多的对象,每一个对象就是一个图表类型,每个对象上的type属性来控制图表的类型,他们有很多都一样的样式

属性描述
type设置图表的类型string
id组件 ID。指定则可用于在 option 或者 API 中引用组件 string
name系列名称,用于tooltip的显示,legend 的图例筛选,在 setOption 更新数据和配置项时用于指定对应的系列。string
legendHoverLink是否启用图例 hover 时的联动高亮。布尔值,默认为true
cursor鼠标悬浮时在图形元素上时鼠标的样式是什么string 跟css的cursor一样
label图形上的一些文本标签,可用于说明图形的一些数据信息object,主要控制文字颜色、字号、对齐方式、阴影、边框、宽高、描边颜色
itemStyle图形样式object,主要控制图形颜色、边框、阴影、透明度
emphasis高亮的图形样式和标签样式。object,里面包换两个对象昂,分别是label和itemStyle,设置同上
tooltip本系列提示框的设置object,查看tooltip组件
z和zlevel查看title组件的z和zlevelnumber
markPoint图表标注object:http://www.echartsjs.com/option.html#series-scatter.markPoint
markLine图标标线object: http://www.echartsjs.com/option.html#series-scatter.markLine
markArea图表标域,常用于标记图表中某个范围的数据,例如标出某段时间投放了广告。object: http://www.echartsjs.com/option.html#series-scatter.markArea
silent图形是否不响应和触发鼠标事件布尔值,默认为false
datasetIndex如果 series.data 没有指定,并且 dataset 存在,那么就会使用 dataset。datasetIndex 指定本系列使用那个 dataset。number,默认为0
seriesLayoutBy系列“排布”到 dataset 的行还是列上‘column’:默认,dataset 的列对应于系列,从而 dataset 中每一列是一个维度。‘row’:dataset 的行对应于系列,从而 dataset 中每一行是一个维度
animation是否开启动画布尔值,默认为true
animationThreshold是否开启动画的阈值,当单个系列显示的图形数量大于这个阈值时会关闭动画。number 默认值2000
animationDuration初始动画的时长number 默认值为1000
animationEasing初始动画的缓动效果。string 默认’cubicOut ’
animationDelay初始动画的延迟,支持函数Function、number 默认为0
animationDurationUpdate数据更新动画的时长,支持回调函数 function、number 默认值300
animationEasingUpdate数据更新动画的缓动效果string 默认值为’cubicOut’
animationDelayUpdate数据更新动画的延迟,支持回掉函数 function、number 默认值为0
data系列中的数据内容数组数组中可以包含很多对象,也可以直接写字符串数据

data是这里比较重要的,每种图表类型中都有,我在这里先总结了他们共有的部分,后面每种图表就只介绍他们特殊的部分。

data:[
  {
    name:'90-100',     //数据项名称
    value: 500,    //单个数据项的数值
    label:{},     //每种图表的解释不同
    itemStyle:{},   //折线拐点标志的样式,每种图标解释也不同
    emphasis:{itemStyle:{}},    //高亮样式,对于itemStyle
    tooltip:{},     //单个数据提示框的样式
  },
]

🌟饼图 type:‘pie’

属性描述
hoverAnimation是否开启 hover 在扇区上的放大动画效果。布尔值,默认为true
hoverOffset高亮扇区的偏移距离number 默认为10
selectedMode选中模式,表示是否支持多个选中默认关闭,支持布尔值和字符串,字符串取值可选’single’,‘multiple’,分别表示单选还是多选
selectedOffset选中扇区的偏移距离number 默认值为10
clockwise饼图的扇区是否是顺时针排布布尔值,默认为true
startAngle起始角度number 默认为90,支持范围[0, 360]
minAngle最小扇区角度,用于防止过小影响交互number,默认为0支持范围[0, 360]
roseType是否展示成南丁格尔图,通过半径区分数据大小string;‘radius’ 扇区圆心角展现数据的百分比,半径展现数据的大小。‘area’ 所有扇区圆心角相同,仅通过半径展现数据大小。
avoidLabelOverlap是否启用防止标签重叠策略布尔值,默认true
stillShowZeroSum是否在数据和为0(一般情况下所有数据为0) 的时候不显示扇区。布尔值,默认为true
labelLine标签的视觉引导线样式object 下面例子详细介绍
center饼图的中心(圆心)坐标,数组的第一项是横坐标,第二项是纵坐标。array [400, 300];[‘50%’, ‘50%’]
radius饼图的半径number:直接指定外半径值。string:‘20%’,表示外半径为可视区尺寸(容器高宽中较小一项)的 20% 长度。Array:[‘内半径’,‘外半径’],内半径设大显示为圆环图
data系列中的数据内容数组。数组项可以为单个数值Object 结合饼图案例

饼图简单案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ECharts展示</title>
    <script src="echarts.js"></script>
</head>
<body>
    <div id="chart" style="width: 800px;height:400px;"></div>
</body>
<script>
    var myChart = echarts.init(document.getElementById('chart'));
    var options={
        title:{
            text:'学生成绩饼图',
            textStyle:{
                color:'red',
                fontSize:20
            },
            link:'http://www.echartsjs.com/option.html#title.backgroundColor',
            subtext:'这是期末成绩分布图',
            left:'left',
            itemGap:5,
            backgroundColor:'blue',
            borderWidth:5,
        },
        legend:{
            type:'scroll',
            data:['90-100','80-90','70-80','60-70',{name:'60分以下',icon:'triangle',textStyle:{color:'green'}}],  //ECharts 提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'    也可以设置通过 'image://url' 设置为图片,其中 URL 为图片的链接,
            orient:'horizontal',
            itemWidth:20,
            inactiveColor:'red',
            width:200,
            scrollDataIndex:2,
            pageButtonPosition:'start',
            animationDurationUpdate:1000,
        },
        tooltip:{
            enterable:true,    //鼠标是否可进入提示框浮层中默认为false
            confine:true,   //是否将提示框限制在图表内 ,在用与移动端或者响应式的时候比较有用
            //position:'bottom',    //提示框的位置
            backgroundColor:'#ccc',   //提示框的背景颜色
            borderWidth:20,     //边框的大小   number
            borderColor:'red',   //边框的颜色
            extraCssText:'color:#000',   //写提示框加css样式
        },
        toolbox:{
            feature:{
                saveAsImage:{        //保存为图片。
                    type:'png',      //保存图片的格式,支持 'png' 和 'jpeg'。
                    name:'测试',        //保存文件的名字,默认使用主标题
                    // backgroundColor:'auto'   保存的图片背景色,默认使用 backgroundColor,如果backgroundColor不存在的话会取白色。
                    excludeComponents:['toolbox'] , //保存为图片时忽略的组件列表,默认忽略工具栏。
                    show:true,     //是否显示该工具。
                    // icon:'image://http://xxx.xxx.xxx/a/b.png',   设置图标
                    iconStyle:{color:'red'},      //保存为图片 icon 样式设置。   
                    emphasis:{},      //移入设置样式,同toolbox的emphasis
                    pixelRatio:1,    //保存图片的分辨率比例,默认跟容器相同大小   number
                },
                restore:{          //还原
                    show:true,      //是否显示该组件
                    title:'这是还原',    //名称
                    // icon:'',      图标设置
                    iconStyle:{color:'blue'},    //图标样式
                    emphasis:{iconStyle:{color:'red'}},     //移入显示样式,同上
                },
                dataView:{         //数据视图工具,可以展现当前图表所用的数据,编辑后可以动态更新。
                    show:true,    //是否显示该工具      布尔值
                    title:'数据视图',    //移入显示的名字   string
                    iconStyle:{color:'yellow'},    //icon emphasis同上
                    readOnly:false,      //是否不可编辑(只读)。
                    //optionToContent:fun,    //自定义函数展示数据
                    //contentToOption:fun,   //如果支持数据编辑后的刷新,需要自行通过该函数实现组装 option 的逻辑
                    lang:['数据视图的', '关闭了啊', '刷新一哈'],   //数据视图上有三个话术,默认是['数据视图', '关闭', '刷新']。
                },
                dataZoom:{        //数据区域缩放。目前只支持直角坐标系的缩放。

                },
                magicType:{      //动态类型切换
                    show:true,    //是否显示
                    type:['line', 'bar', 'stack', 'tiled'],   //启用的动态类型
                    title:{
                        line:'切换为折线图',
                        bar:'切换为柱状图',
                        stack:'切换为堆叠',
                        tiled:'切换为平铺',
                    },
                    icon:{
                        // line:'image://http://xxx.xxx.xxx/a/b.png',   配置各个icon
                    },
                    iconStyle:{color:'pink'},     //配置icon的样式
                    emphasis:{iconStyle:{}},     //移入样式
                    option:{line:{}},      //配置每一个的样式
                    seriesIndex:{line:[]},    //各个类型对应的系列的列表   
                },
                brush:{
                        type:['rect','polygon'],
                        icon:{},     //没个按钮的icon
                        title:{     //标题文本。
                            rect:'矩形选择',
                        }
                }
            }
        },
        series : [
            {
            name: '学生成绩区间',       //数据项名称
            type: 'pie',      //饼图
            radius: '60%',   //设置半径, ['30%','70%']表示内圆30%,外圆70%也就是环图,只写一个值就是饼图
            itemStyle:{},     //图形样式
            emphasis:{},    //高亮的扇区和标签样式
            hoverOffset:15,   //高亮扇区的偏移距离
            roseType:false,   //是否设置为南丁格尔图
            labelLine:{
                show:true,   //是否显示引导线
                length:10,   //引导线第一段的长度
                length2:50,   //引导线第二段的长度
                smooth:0.5,    //0-1 平滑程度
                lineStyle:{    //引导线的样式
                    color:'red',   //引导线的颜色,支持rgba,还可以设置渐变和纹理
                    width:2,     // number   线宽
                    type:'dashed',  // 线的类型 'solid'\'dashed'\'dotted'
                    //还支持阴影的设置
                    opacity:0.5,      //t透明度。同css的opacity
                },
                emphasis:{     //高亮状态下引导线的样式
                    lineStyle:{color:'blue'}      //同上面的lineStyle
                },     
            },
            data:[
                {
                    value:235,
                    name:'90-100',
                    label:{show:true,position:'inside',color:'#000'},//position设置name值得位置,默认值为outside通过视觉引导线连到相应的扇区。
                    labelLine:{},    // 同series.lineStyle  单独设置这一项数据的引导线样式
                    emphasis:{lineStyle:{}},    // 同series.emphasis  单独设置这一项数据的高亮引导线样式
                    tooltip:{}    //单独设置这一项数据的提示框
                },   
                {value:274, name:'80-90'},
                {value:310, name:'70-80'},
                {value:335, name:'60-70'},
                {value:400, name:'60分以下',selected:true}    //selected设置默认选中
                ],
            center:['50%', '50%']     //圆心的位置,可以设置为绝对值和像素两种方式
            }
        ]
    }
    myChart.setOption(options);
</script>
</html>

🌟写在最后

更多前端知识请大家持续关注,尽请期待。各位小伙伴让我们 let’s be prepared at all times!

✨原创不易,还希望各位大佬支持一下!
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1126501.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python装饰器(包装函数、拦截函数)

无参装饰器 decorate: f decorate(f1) f wrapper 有参装饰器 多层装饰器 装饰器带参数 装饰器带参数&#xff0c;3层 案例 import timeisLogin Falsedef login():username input("请输入用户名&#xff1a;")passward input("请输入密码&#xff1a;&q…

HNSW-分层可导航小世界 算法学习

一、knn的缺陷 1. K-NN方法的工作机制 K-Nearest Neighbors (K-NN) 是一种基于实例的分类方法。它通过逐一比较新样本与已有样本的相似度&#xff0c;挑选出与新样本最接近的k个已有样本&#xff0c;然后根据这些样本的类别&#xff0c;通过投票或加权的方式来决定新样本的类…

如何设计实时聊天系统的架构

1. 系统的要求和目标 1.1 功能要求 对话&#xff1a;系统应支持用户之间的一对一和群组对话。确认消息&#xff1a;系统应支持消息传递确认&#xff0c;如已发送、已送达、已读。共享&#xff1a;系统应支持媒体文件的共享&#xff0c;例如图像、视频和音频。聊天存储&#x…

第3章 指令级并行及其利用

3.1 指令级并行&#xff1a;概念和挑战 1985年之后几乎所有处理器都使用流水线来使指令能重叠执行。由于指令可以并行执行&#xff0c;所有指令之间的这种可能得重叠称为指令级并行ILP。 ILP大体有两种实现方法&#xff1a; 1. 依靠硬件来动态发现并实现并行&#xf…

【解决】设置pip安装依赖包路径默认路径在conda路径下,而不是C盘路径下

【解决】设置pip安装依赖包路径默认路径在conda路径下&#xff0c;而不是C盘路径下 问题描述 在win11下安装miniconda&#xff0c;在conda环境里使用pip安装&#xff0c;依赖包总是安装到C盘路径&#xff0c;如 C:\Users\Jimmy\AppData\Local\Programs\Python\Python311\Lib\…

基于.Net CEF 实现 Vue 等前端技术栈构建 Windows 窗体应用

零、参考资料 1、https://github.com/cefsharp/CefSharp/wiki/Quick-Start-For-MS-.Net-5.0-or-greater 2、https://github.com/cefsharp/CefSharp/wiki/Quick-Start 3、https://github.com/cefsharp/CefSharp/wiki/General-Usage#javascript-integration 一、安装 Nuget 包…

计算机网络文章荟萃

脑残式网络编程入门(二)&#xff1a;我们在读写Socket时&#xff0c;究竟在读写什么&#xff1f;-网络编程/专项技术区 - 即时通讯开发者社区! 1.什么是 socket - 掘金2.socket 的实现原理 - 掘金本文讲述了 socket 在 linux 操作系统下的数据结构&#xff0c;以及阻塞 IO 利用…

RHCE---作业3

一.判断磁盘空间 1、判断当前磁盘剩余空间是否有20G&#xff0c;如果小于20G&#xff0c;则将报警邮件发送给管理员&#xff0c;每天检查一次磁盘剩余空间。 # 为了方便测式使用每分钟发送一封邮件&#xff0c;若想要每天定时检查则需要将前两个*改为0 0 [roottimeserver ~]…

Unity protobuf中repeated转C#文件List只读问题

Unity protobuf中repeated转C#文件List只读问题 介绍问题解决方案总结 介绍 工具这里我就不多介绍了&#xff0c;如果有用到ProtoGen工具的可以继续看一下我后面的方法。 问题 如下图所示&#xff0c;我这里随便用了一个.proto文件&#xff0c;看下我这里面的repeated标记的…

el-form动态增减数据的问题,编辑时候input输入不了

新增的时候可以展示&#xff0c;但是编辑在点新增就没有效果 原因&#xff1a;改变了数组内的值&#xff0c;但是页面没有重新渲染 <el-form-item label"信息:" required><div style"display: flex; align-items: flex-end"><div><e…

Spring MVC常用十大注解

Spring MVC常用十大注解 一&#xff0c;什么要使用注解 使用注解可以简化配置&#xff0c;提高代码的可读性和可维护性。通过注解可以实现依赖注入&#xff0c;减少手动管理对象的代码量。注解还支持面向切面编程&#xff0c;实现切面、切入点和通知等。此外&#xff0c;注解提…

maven仓库改国内源

今天准备复现漏洞环境&#xff0c;发现太慢&#xff0c;需要配置国内源 file -> settings 搜索maven 修改settings.xml&#xff0c;这里的需要修改两个文件 1.上图的settings.xml文件 2.idea的maven模块 settings.xml文件将原来的注释掉&#xff0c;然后把阿里的添加上&…

【机器学习合集】激活函数合集 ->(个人学习记录笔记)

文章目录 1. S激活函数(sigmoid&Tanh)2. ReLU激活函数3. ReLU激活函数的改进4. 近似ReLU激活函数5. Maxout激活函数6. 自动搜索的激活函数Swish 1. S激活函数(sigmoid&Tanh) Sigmoid函数在机器学习中经常用作激活函数&#xff0c;但它在某些情况下容易出现梯度消失问题…

QWidget快速美化-蓝色边框圆角按钮

将代码复制进QPushButton的样式表 效果: 代码: QPushButton{ color:#52DCFE;border:2px solid #52DCFE;border-radius:5px; }QPushButton::hover{background-color:#52DCFE;color:#ffffff; }QPushButton::pressed,QPushButton::checked{background-color:#52DCFE;color:#ffff…

学习vue3

一、入门 1.引入外部库 ①直接将所有的js都通过script标签引入到html文件中&#xff0c;所有的js资源在web页面中都能通用。 ②使用js引用js&#xff08;ES6&#xff09;&#xff0c;模块导入与导出 2.模块是只读引用 这段话是在解释 Vue.js 中的概念和用法。在 Vue.js 中&a…

​​​​​​​Python---练习:使用while嵌套循环打印 9 x 9乘法表

案例 使用while嵌套循环打印 9 x 9乘法表 思考 之前做过打印出三角形&#xff0c;那个三角形是5行的&#xff0c;这次打印9行的三角形。可以先使用while嵌套循环打印9行的直角三角形 相关链接Python---练习&#xff1a;打印直角三角形&#xff08;利用wihle循环嵌套&#xf…

Ubuntu下载、安装QGIS软件的方法

本文介绍在Linux操作系统Ubuntu版本中&#xff0c;通过命令行的方式&#xff0c;配置QGIS软件的方法。 在Ubuntu等Linux系统中&#xff0c;可以对空间信息加以可视化的遥感、GIS软件很少&#xff0c;比如ArcGIS下属的ArcMap就没有对应的Linux版本&#xff08;虽然有ArcGIS Serv…

Kafka简单入门02——ISR机制

目录 ISR机制 ISR 关键概念 HW和LEO Java使用Kafka通信 Kafka 生产者示例 Kafka 消费者示例 ISR机制 Kafka 中的 ISR&#xff08;In-Sync Replicas&#xff09;机制是一种用于确保数据可靠性和一致性的重要机制。ISR 是一组副本&#xff0c;它包括分区的领导者&#xff…

CCF CSP认证历年题目自练Day38

题目 试题编号&#xff1a; 201409-3 试题名称&#xff1a; 字符串匹配 时间限制&#xff1a; 1.0s 内存限制&#xff1a; 256.0MB 问题描述&#xff1a; 问题描述   给出一个字符串和多行文字&#xff0c;在这些文字中找到字符串出现的那些行。你的程序还需支持大小写敏感…

进程之操作系统的概念

再小的努力&#xff0c;乘以365都很明显。文章目录 操作系统操作系统的概念设计操作系统的目的 管理 ps:如何理解管理如何进行管理 操作系统管理软硬件资源小总结系统调用和库函数的概念小总结 操作系统 在讲述进程的时候我们先讲述一下操作系统&#xff08;os&#xff09;,因…