前端数据可视化之【title、legend、tooltip、toolbox 】配置项

news2024/11/15 21:49:01

目录

  • 🌟Echarts配置项
  • 🌟Echarts配置项之 `title组件`
  • 🌟Echarts配置项之 `legend组件`
  • 🌟Echarts配置项之 `tooltip组件`
  • 🌟Echarts配置项之 `toolbox组件`
  • 🌟写在最后

在这里插入图片描述

🌟Echarts配置项

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

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

案例

<!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>
配置项描述
title标题组件,包含主标题和副标题。
legend图例组件,图例组件展现了不同系列的标记(symbol),颜色和名字。可以通过点击图例控制哪些系列不显示。
grid直角坐标系内绘图网格,可以在网格上绘制折线图,柱状图,散点图(气泡图)
xAxis直角坐标系 grid 中的 x 轴
yAxis直角坐标系 grid 中的 y 轴
polar极坐标系,可以用于散点图和折线图。每个极坐标系拥有一个角度轴和一个半径轴。
radar雷达图坐标系组件,只适用于雷达图。
tooltip提示框组件。
toolbox工具栏。内置有导出图片,数据视图,动态类型切换,数据区域缩放,重置五个工具。
axisPointer这是坐标轴指示器(axisPointer)的全局公用设置。
brush区域选择组件,用户可以选择图中一部分数据,从而便于向用户展示被选中数据
geo地理坐标系组件用于地图的绘制,支持在地理坐标系上绘制散点图,线集。
timeline提供了在多个 ECharts option 间进行切换、播放等操作的功能。
dataset数据集组件,用于单独的数据集声明,从而数据可以单独管理,被多个组件复用,并且可以自由指定数据到视觉的映射。
series系列列表。每个系列通过 type 决定自己的图表类型
color调色盘颜色列表
backgroundColor背景色,默认无背景。

🌟Echarts配置项之 title组件

title组件,包含主标题和副标题。(副标题的相关设置与主标题一样,在前面属性名前面加sub)

属性名描述
id默认不指定。指定则可用于在 options 或者 API 中引用组件。(所有的id解释都是相同的)string
show是否显示标题布尔值,默认为true
text主标题文本,支持使用 \n 换行字符串
link主标题文本超链接。字符串。比如link:'http://www.echartsjs.com'
target与a连接的target属性一样,设置打开主标题连接的方式。'self' 当前窗口打开, 'blank' 新窗口打开
textStyle设置主标题的文本样式,就是字体的颜色、字号、字体、行高、阴影等等一个对象
subtext副标题的文本字符串
itemGap主标题与副标题之间的间距,number类型,表示像素,默认为10
zlevel用于 Canvas 分层,不同zlevel值的图形会放置在不同的 Canvas 中,Canvas 分层是一种常见的优化手段。number 默认为0
z设置标题的层级,z值小的图形会被z值大的图形覆盖。number类型
left、right组件离容器左侧/右侧的距离number类型表示像素,string可以是'50%''left' 'center''right'
top、bottom组件离容器上侧/下侧的距离。number类型表示像素,string可以是'50%''top' 'middle''bottom'
backgroundColor标题背景色默认透明,支持rgba格式
borderWidth标题的边框线宽number 表示像素
borderRadius边框的圆角半径number表示统一设置四个角,array可以对四个角分别设置
borderColor边框的颜色默认'#ccc'

还可以设置标题阴影的模糊程度、偏移程度、颜色等进行设置

🌟Echarts配置项之 legend组件

legend 图例组件展现了不同系列的标记(symbol),颜色和名字。可以通过点击图例控制哪些系列不显示。

属性名描述
type图例的类型'plain':普通图例。缺省就是普通图例。'scroll':可滚动翻页的图例。当图例数量较多时可以使用。
id默认不指定。指定则可用于在 option 或者 API 中引用组件。string
show是否显示图例布尔值,默认为true
zlevel同title的zlevelnumber
z同title的znumber 默认值为2
top、left、right、bottom同title组件参看title组件
width、height图例组件的宽度、高度stringnumber,默认为auto`自适应
orient图例列表的布局朝向。'horizontal':表示横排默认'vertical':表示竖排
padding图例内边距numberarray
itemGap图例每项之间的间隔。横向布局时为水平间隔,纵向布局时为纵向间隔。number,默认为10
itemWidth、itemHeight图例标记的图形的宽度/高度number
formatter用来格式化图例文本string, Function
selectedMode控制是否可以通过点击图例改变系列的显示状态string, boolean,默认为true,可以设成 'single' 或者 'multiple' 使用单选或者多选模式。
inactiveColor图例关闭时的颜色。值为颜色
selected图例选中状态表。值为一个对象,{‘a’:true},表示a为选中
textStyle图例的公用文本样式。值为一个对象,与title组件中的一样
tooltip提示框组件值为一个对象详细介绍查看后面的tooltip组件
data图例的数据数组数组中内容可以为字符串,也可为对象,具体查看下面例子
backgroundColor图例的背景颜色title组件的,默认透明
borderColor、borderWidth、等边框和阴影的设置title组件中的一样

以下的属性需要在图例组件的type值设为scroll才能生效

属性描述
scrollDataIndex决定当前图例滚动到哪里·number·
pageButtonItemGap图例控制块中,按钮和页信息之间的间隔。number,默认值为5
pageButtonGap图例控制块和图例项之间的间隔number
pageButtonPosition图例控制块的位置'start':控制块在左或上。'end':按钮快在右或下。默认'end'
pageFormatter图例控制块中,页信息的显示格式。functionstring,默认为 ‘{current}/{total}’,其中 {current} 是当前页号(从 1 开始计数),{total} 是总页数。使用函数,须返回这两个值
pageIcons图例控制块的图标值为一个对象,分别设置横排和竖排的图标
pageIconColor翻页按钮的颜色string
pageIconInactiveColor翻页按钮不激活时(即翻页到头时)的颜色。string
pageIconSize翻页按钮的大小可以是number,也可以是array表示 [宽,高]
pageTextStyle图例页信息的文字样式一个对象,值同textStyle
animation翻页是否使用动画布尔值
animationDurationUpdate翻页是的动画时长number 毫秒

🌟Echarts配置项之 tooltip组件

tooltip 提示框组件

提示框组件设置到的地方很多:

  • 可以设置在全局,即 tooltip
  • 可以设置在坐标系中,即 grid.tooltippolar.tooltipsingle.tooltip
  • 可以设置在系列中,即 series.tooltip
  • 可以设置在系列的每个数据项中,即 series.data.tooltip
属性描述
show是否显示提示框组件布尔值,默认为true
trigger触发类型'item':数据项图形触发,主要在散点图,饼图等无类目轴的图表中使用。'axis':坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用。'none':什么都不触发。
axisPointer坐标轴指示器配置项。object,参看axisPointer组件
showContent是否显示提示框浮层,布尔值,默认显示
alwaysShowContent是否永远显示提示框内容布尔值,默认为false
triggerOn提示框触发的条件string'mousemove':鼠标移动时触发。'click':鼠标点击时触发。'mousemove、click'(默认):同时鼠标移动和点击时触发。
showDelay浮层显示的延迟,单位为 ms,number默认没有延迟 ,不建议设置,在 triggerOn'mousemove' 时有效。
hideDelay浮层隐藏的延迟,单位为 ms,number 默认100
enterable鼠标是否可进入提示框浮层中布尔值 默认为false
renderMode浮层的渲染模式默认以 'html 即额外的 DOM 节点展示 tooltip;此外还可以设置为 'richText' 表示以富文本的形式渲染
confine是否将 tooltip 框限制在图表的区域内。布尔值,默认为false
transitionDuration提示框浮层的移动动画过渡时间number,单位为s
position提示框浮层的位置,默认不设置时位置会跟随鼠标的位置。array:[20,20]绝对位置 [‘50%’,‘50%’]相对位置,只在 trigger 为’item’的时候有效。{‘inside’:鼠标所在图形的内部中心位置,‘top’:鼠标所在图形上侧,‘left’、‘right’、‘bottom’}
formatter提示框浮层内容格式器,支持字符串模板和回调函数两种形式。查看上面legendformatter
backgroundColor提示框浮层的背景颜色写一个颜色值
borderColor提示框浮层的边框颜色。写一个颜色值
borderWidth提示框浮层的边框宽number
padding提示框浮层的内边距number
textStyle提示框浮层的文本样式objecttitle组件textStyle
extraCssText额外附加到浮层的 css 样式string,就是写css样式就可以

🌟Echarts配置项之 toolbox组件

toolbox 工具栏。内置有导出图片,数据视图,动态类型切换,数据区域缩放,重置五个工具。

属性描述
id指定则可用于在 option 或者 API 中引用组件string`
show是否显示工具栏组件布尔值
orient工具栏 icon 的布局朝向。legendorient
itemSize工具栏 icon 的大小。number,默认值为15
itemGap工具栏 icon 每项之间的间隔number,默认值为10
showTitle是否在鼠标 hover 的时候显示每个工具 icon 的标题。布尔值
iconStyle公用的 icon 样式设置值为一个对象,包含icon颜色边框阴影透明度
emphasis鼠标 hover 时候的高亮样式。值为一个对象,对象中包含一个iconStyle属性,也是对象,同上面的iconStyle
zlevel、z同上number
left、right、top、bottom同上stringnumber
width、height组件容器的宽/高string/number
feature各工具配置项object 查看开篇的饼图的案例

🌟写在最后

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

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

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

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

相关文章

如何解决香港服务器使用的常见问题

​  站长们在选择香港服务器租用时会考虑到它的各种性能以及稳定性&#xff0c;这是必须的。但是使用过程中还有些问题也不容忽视&#xff0c;比如&#xff1a;带宽资源是否短缺&#xff0c;是否存在安全漏洞&#xff0c;连接是否正常等这些问题也要考虑到。 香港服务器使用中…

百度地图API:JavaScript开源库几何运算判断点是否在多边形内(电子围栏)

百度地图JavaScript开源库&#xff0c;是一套基于百度地图API二次开发的开源的代码库。目前提供多个lib库&#xff0c;帮助开发者快速实现在地图上添加Marker、自定义信息窗口、标注相关开发、区域限制设置、几何运算、实时交通、检索与公交驾车查询、鼠标绘制工具等功能。 判…

搭建一个windows的DevOps环境记录

边搭建边记录&#xff0c;整个DevOps环境的搭建可能会很久。。。 一、安装Jenkins&#xff1a; 参考&#xff1a;Jenkins基础篇--windows安装Jenkins-CSDN博客 注意上面选择JDK的路径&#xff0c;选择到安装目录&#xff0c;该目录并不一定要在path中配置了&#xff08;就是…

Qt基础 QScatterSeries

QScatterSeries类是Qt Charts模块的一部分&#xff0c;用于表示散点图。 QScatterSeries* series new QScatterSeries(); // 创建离散点数据series->setName("圆点样式");series->setMarkerShape(QScatterSeries::MarkerShapeCircle); //设置位圆形series-&…

SpringBoot + MyBatis 在 jar 中可以启动但是 Idea中无法启动的原因

现象 在idea中启动始终卡住&#xff0c;查看线程堆栈发现一直在mybatis的处理过程中&#xff0c;细究了一下堆栈发现mybatis有使用远程方式加载类的情况&#xff0c;并且此时cpu会飙升&#xff0c; 在命令行中使用java -jar 的形式可以正常启动&#xff0c;但是在idea中启动始…

论文阅读 | RAFT: Recurrent All-Pairs Field Transforms for Optical Flow

RAFT: Recurrent All-Pairs Field Transforms for Optical Flow ECCV2020光流任务best paper 论文地址&#xff1a;【here】 代码地址&#xff1a;【here】 介绍 光流是对两张相邻图像中的逐像素运动的一种估计。目前碰到的一些困难包括&#xff1a;物体的快速运动&#xff…

UE4 UltraDynamicSky 天气与水体交互

最上面的Lerp的A通道为之前的水面效果&#xff0c;B是做的冰面效果 用Dynamic_Landscape_Weather_Effects的BaseColor的R通道四舍五入作为Lerp的Alpha值 使用一张贴图&#xff0c;乘以RadialGradientExponential对材质边缘做弱化&#xff0c;RadialGradientExponential的Raid…

4.7 IP多播

思维导图&#xff1a; **4.7.1 IP多播的基本概念** --- **1. 定义和背景** - IP多播&#xff1a;从一个源点发送信息至多个终点的技术。 - 1988年&#xff1a;Steve Deering首次提及IP多播。 - 1992年&#xff1a;IETF进行了首次IP多播试验&#xff0c;当时有20个网点参与。 …

Python算法:八大排序算法以及速度比较

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ &#x1f434;作者&#xff1a;秋无之地 &#x1f434;简介&#xff1a;CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作&#xff0c;主要擅长领域有&#xff1a;爬虫、后端、大数据…

大数据测试用例分析

基于大数据分析&#xff0c;对业务系统产生的日志进行智能分析&#xff0c;能够识别日志中的接口、参数、业务流&#xff0c;并依据分析的结果生成测试用例。 问题与背景 业务复杂 业务系统的复杂性&#xff0c;对测试人员的业务能力提出严格要求&#xff0c;加重测试成本。 …

【深度学习-第4篇】使用MATLAB快速实现CNN多变量回归预测

上一篇我们讲了使用CNN进行分类的MATLAB代码。 这一篇我们讲CNN的多变量回归预测。 是的&#xff0c;同样是傻瓜式的快速实现。 一、什么是多变量回归预测 多变量回归预测则是指同时考虑多个输入特征进行回归预测。举几个例子&#xff1a; 房价预测&#xff1a;给定一组房…

苹果开发者 Xcode发布TestFlight全流程

打包前注意事项 使用Xcode导出安装包之前&#xff0c;必须先确认账户的所有合约是否全部同意&#xff0c;如果有不同意的&#xff0c;在出包的时候会弹出报错 点击前往苹果开发者官网https://appstoreconnect.apple.com/agreements/ 登录自己的开发者账户后&#xff0c;可以看…

【LeetCode】61. 旋转链表

1 问题 给你一个链表的头节点 head &#xff0c;旋转链表&#xff0c;将链表每个节点向右移动 k 个位置。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], k 2 输出&#xff1a;[4,5,1,2,3] 示例 2&#xff1a; 输入&#xff1a;head [0,1,2], k 4 输出&…

用Nginx搭建一个具备缓存功能的反向代理服务

在同一台服务器上&#xff0c;使用nginx提供服务&#xff0c;然后使用openresty提供反向代理服务。 参考《Ubuntu 20.04使用源码安装nginx 1.14.0》安装nginx。 参考《用Nginx搭建一个可用的静态资源Web服务器》搭建静态资源Web服务器&#xff0c;但是/nginx/conf/nginx.conf里…

点云cloudpoint生成octomap的OcTree的两种方法以及rviz可视化

第一种&#xff1a;在自己的项目中将点云通过ros的topic发布&#xff0c;用octomap_server订阅点云消息&#xff0c;在octomap_server中生成ocTree 再用rviz进行可视化。 创建工作空间&#xff0c;记得source mkdir temp_ocotmap_test/src cd temp_ocotmap_test catkin_make…

系列一、文件

一、概述 文件对我们并不陌生&#xff0c;简单的讲文件就是保存数据的地方&#xff0c;比如大家经常使用的word文档&#xff0c;txt文件&#xff0c;excel文件&#xff0c;mp3音乐文件&#xff0c;mp4视频文件...等等&#xff0c;它既可以是一张图片&#xff0c;也可以是一段视…

C++之继承<2>【详解】

C之继承&#xff1c;2&#xff1e;【详解】 1. 派生类的默认成员函数1.1 1. 构造成员函数1.2 拷贝复制1.3 构造函数和析构函数的执行顺序 2. 继承和友元3. 继承与静态成员 1. 派生类的默认成员函数 1.1 1. 构造成员函数 派生类的构造函数必须调用基类的构造函数初始化基类的那…

力扣刷题 day50:10-20

1.存在重复元素 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 &#xff0c;返回 true &#xff1b;如果数组中每个元素互不相同&#xff0c;返回 false 。 方法一&#xff1a;集合去重 #方法一&#xff1a;集合去重 def containsDuplicate(nums):return len(n…

八股总结(招聘)

线程创建方法&#xff1a; 继承 Thread 类实现 Runnable 接口通过 ExecutorService 和 Callable\ 实现有返回值的线程基于线程池的execute()&#xff0c;创建临时线程

嵌入式面试常见问题(二)

1.malloc如何分配内存&#xff1f; 进行虚拟地址空间的分布&#xff1a;程序地址空间-》程序虚拟地址空间-》进程虚拟地址空间 内存布局&#xff1a; ​ 进程虚拟地址空间和PCB&#xff08;Process Control Block&#xff0c;进程控制块&#xff09;进行串联 &#xff1a; ​…