ECharts 标题组件
1.标题组件的基本使用
图标组件使用title节点进行配置。
标题分为主标题和副标题,
主标题的文本内容使用 'text' 属性进行设置
副标题使用 'subtext' 属性进行设置
var option = {
title:{
text:"我是标题",
subtext:"我是副标题"
}
}

2.标题组件的位置
标题组件默认在左上角,可以像css一样为其设置位置
left/right/top/bottom:分别设置标题组件位于4个方向的距离,值可以是数字(代表具体的像素),百分比,关键字(水平居中使用center,垂直居中使用middle)
水平垂直居中
var option = {
title: {
text: "我是标题",
subtext: "我是副标题",
top:'middle',
left:'center'
}
}

使用百分比
var option = {
title: {
text: "我是标题",
subtext: "我是副标题",
top:'50%',
left:'50%'
}
}

使用数字(容器宽高600*300)
var option = {
title: {
text: "我是标题",
subtext: "我是副标题",
left:300,//按照当前容器宽高 相当于 50%
top:150
}
}

3.多个标题组件
一个图表可以有一个或多个标题组件,每个标题组件对应一个配置对象,当有多个标题组件时,使用数组将其包裹起来,例如:
配置多个标题组件
var option = {
title: [//含有多个标题组件时,使用数组进行包裹
{//每个组件就是一个对象
text: "我是标题1",
subtext: "我是副标题1",
left: 150,
top: 100
},
{//每个组件就是一个对象
text: "我是标题2",
subtext: "我是副标题2",
left: 300,
top: 150
}
]
}

4.显示/隐藏标题组件
如果没有配置标题组件,则该组件没有显示/隐藏的说法(都不存在,何来隐藏/显示)
如果配置了标题组件,则该组件默认显示。
如果配置了组件,但是某些情况下需要动态切换显示/隐藏,就需要用到 'show' 属性。
'show' 属性的值是布尔值,通过他来切换标题的组件的显示/隐藏
var option = {
title: [//含有多个标题组件时,使用数组进行包裹
{//每个组件就是一个对象
text: "我是标题1",
subtext: "我是副标题1",
left: 150,
top: 100,
show:true,//默认展示
},
{//每个组件就是一个对象
text: "我是标题2",
subtext: "我是副标题2",
left: 300,
top: 150,
show:false,//默认隐藏
}
]
}

使用js动态切换标题组件的显示/隐藏
<div class="btn_box">
<button type="button" class="btn btn-primary" onclick="showTitle(0)">标题1切换显示/隐藏</button>
<button type="button" class="btn btn-primary" onclick="showTitle(1)">标题2切换显示/隐藏</button>
</div>
function showTitle(index){
//取反
option.title[index].show = !option.title[index].show
//更新图表
charts.setOption(option)
}

5.标题组件的盒模型?
标题组件和html的元素一样,有背景色,内边距,边框,阴影等样式可以设置,具体如下:
(1)背景色
backgroundColor:'red'
(2)内边距
padding:10
(3)边框系列
边框大小:borderWidth
边框颜色:borderColor
边框圆角:borderRadius
(4)阴影系列
阴影的模糊大小:shadowBlur
阴影颜色:shadowColor
阴影偏移:shadowOffsetX/shadowOffsetY
var option = {
title: [//含有多个标题组件时,使用数组进行包裹
{//每个组件就是一个对象
text: "我是标题1",
subtext: "我是副标题1",
left: 150,
top: 100,
show:true,//默认展示
backgroundColor:'red',//红色背景
padding:5,//内边距
borderWidth:5,//边框宽度
borderColor:'yellow',//边框颜色
borderRadius:1,//边框圆角
shadowBlur:1,//阴影大小
shadowColor:'#666',//阴影颜色
shadowOffsetX:1,//阴影偏移
shadowOffsetY:1,//阴影偏移
},
{//每个组件就是一个对象
text: "我是标题2",
subtext: "我是副标题2",
left: 300,
top: 150,
show:true,
backgroundColor:'lightblue',//浅蓝背景
padding:20,//内边距
borderWidth:20,//边框宽度
borderColor:'orange',//边框颜色
borderRadius:5,//边框圆角
shadowBlur:20,//阴影大小
shadowBlur:10,//阴影大小
shadowColor:'#666',//阴影颜色
shadowOffsetX:5,//阴影偏移
shadowOffsetY:5,//阴影偏移
}
]
}

6.文字样式
主标题的文字样式(颜色,斜体,加粗,字体大小)都统一配置到textStyle这个对象中。
而副标题的文字样式(颜色,斜体,加粗,字体大小)则统一配置到subtextStyle这个对象中。
PS:其实textStyle是一个通用的配置项,只要有文本的地方就可以对他进行配置,不仅仅局限在某个组件或者某个节点中。
var option = {
title: [//含有多个标题组件时,使用数组进行包裹
{//每个组件就是一个对象
text: "我是标题1",
subtext: "我是副标题1",
left: 150,
top: 100,
textStyle:{//主标题文字样式
color:'red',//字体颜色
fontSize:20,//字体大小
fontStyle:'italic',//斜体
fontWeight:500,//加粗
},
subtextStyle:{//副标题文字样式
color:'blue',//字体颜色
fontSize:20,//字体大小
fontStyle:'italic',//斜体
fontWeight:500,//加粗
}
},
]
}

7.组件层级
当多个标题叠加在一起时,默认情况下后面的组件会覆盖前面的组件,如果想改变这种设置,可以配置 'z' 属性(相当于css里面的z-index),来改变图形的前后顺序
定位的位置一致时,默认的效果(蓝色在后面,所以蓝色盖住了红色)
var option = {
title: [//含有多个标题组件时,使用数组进行包裹
{//每个组件就是一个对象
text: "我是标题1",
left: 150,//定位一致
top: 100,//定位一致
subtext: '我是副标题1',
backgroundColor:'red',//红
},
{//每个组件就是一个对象
text: "我是标题2",
left: 150,//定位一致
top: 100,//定位一致
subtext: '我是副标题2',
backgroundColor:'blue',//蓝
},
]
}

改变 'z' 属性(默认是2 建议设置时10起步)
var option = {
title: [//含有多个标题组件时,使用数组进行包裹
{//每个组件就是一个对象
text: "我是标题1",
left: 150,//定位一致
top: 100,//定位一致
subtext: '我是副标题1',
backgroundColor:'red',
z:10,//设置层级
},
{//每个组件就是一个对象
text: "我是标题2",
left: 150,//定位一致
top: 100,//定位一致
subtext: '我是副标题2',
backgroundColor:'blue',
},
]
}

8.文本的排列顺序
这里主要是两个属性:textAlign / textVerticalAlign 可选值:'left'、'right'、'center'。
但是他们并不是指文本的对齐方式,因为本身组件大小就是由内容撑开的,所以没有文本对齐一说。他们值的是文本的排序方向
默认情况下,文字从定位原点从左往右依次排列,例如:
var option = {
title: [//含有多个标题组件时,使用数组进行包裹
{//每个组件就是一个对象
text: "我是标题1",
left: '50%',
top: '50%',
subtext: '我是副标题1',
},
]
}

对比:
var option = {
title: [//含有多个标题组件时,使用数组进行包裹
{//每个组件就是一个对象
text: "默认",
left: '50%',
top: '20%',
},
{//每个组件就是一个对象
text: "center",
left: '50%',
top: '50%',
textAlign:'center'
},
{//每个组件就是一个对象
text: "right",
left: '50%',
top: '70%',
textAlign:'right'
},
]
}

这种模式下,排序方式一般使用left即可
除非定位时使用50%,又想居中,可以尝试使用center
9.标题的点击事件
默认情况下,title组件不支持点击事件,需要在option中开启
title:{
triggerEvent: true
}
通过图表实例调用on方法来进行事件监听
some_chart.on('click', 'title', function (e) {
console.log(e)
})
PS:成功的话,鼠标移动到title上面时指针会变成pointer形状,表示已经可以点击
ECharts 标题组件的更多相关文章
- 转:ECharts图表组件入门教程之Theme:ECharts图表的皮肤是什么?如何给图表换主题(皮肤)Theme?
一.什么是ECharts图表的皮肤(主题)? 针对这个问题我只能这样回答,ECharts图表的主题(皮肤)就犹如人的衣服一样,是用来衬托和渲染主体,使其变得更加美观好看的目的.你去过ECharts图表 ...
- vue-cli ——解决多次复用含有Echarts图表组件的问题
在vue项目里,组件复用是一件很开心的事,可以节省很多时间去排版,达到事半功倍效果,但是昨晚在vue-cli项目里组件复用时发现基于Echarts图表的组件不能够复用,昨晚捯饬了很久,终于还是解决了这 ...
- 转:ECharts图表组件之简单关系图:如何轻松实现另类站点地图且扩展节点属性实现点击节点页面跳转
站点地图不外乎就是罗列一个网站的层次结构,提炼地讲就是一个关系结构图.那么我们如何巧用ECharts图表组件内的简单关系结构图来实现一个站点的地图结构呢?另外如何点击某个节点的时候实现页面跳转呢? 针 ...
- vue echarts vue-echarts组件使用
1.git地址 https://github.com/ecomfe/vue-echarts 2.使用 (1)安装 npm install vue-echarts --save-dev (2)引入 im ...
- ECharts grid组件离容器的距离
ECharts grid组件离容器的距离 由 Carrie 创建, 最后一次修改 2017-09-04 grid.left | string, number [ default: '10%' ...
- 在Vue中echarts可视化组件的使用
echarts组件官网地址:https://echarts.apache.org/examples/zh/index.html 1.找到脚手架项目所在地址,执行cnpm install echarts ...
- vue2.0 自定义 饼状图 (Echarts)组件
1.自定义 图表 组件 Echarts.vue <!-- 自定义 echart 组件 --> <template> <div> <!-- echart表格 ...
- ECharts公共组件:title详解、 tooltip详解、toolbox详解、legend详解、dataZoom详解、visualMap全解
1. Title mytextStyle={ color:"#333", //文字颜色 fontStyle:"norm ...
- 【小程序】---- 封装Echarts公共组件,遍历图表实现多个饼图
一.问题描述: 在小程序的项目中,封装公共的饼图组件,并在需要的页面引入使用.要求一个页面中有多个饼图,动态渲染不同的数据. 二.效果实现: 1. 查看——小程序使用Echarts的方式 2. 封装饼 ...
- echarts标题(title)配置
var option = { //标题 title : { show:true,//显示策略,默认值true,可选为:true(显示) | fa ...
随机推荐
- CPRFL:基于CLIP的新方案,破解长尾多标签分类难题 | ACM MM'24
现实世界的数据通常表现为长尾分布,常跨越多个类别.这种复杂性突显了内容理解的挑战,特别是在需要长尾多标签图像分类(LTMLC)的场景中.在这些情况下,不平衡的数据分布和多物体识别构成了重大障碍.为了解 ...
- ASP.NET Core – Razor Class Library (RCL)
前言 Razor Class Library 的用途是封装 Razor views, pages, controllers, page models, Razor components, View c ...
- [OI] 欢夏!邪龙?马拉车!
标题来自原神 算法概述 Manacher 算法 用途:寻找回文串,最板子的情况下用于字符串的回文子串计数 给定一个字符串 \(S\),求出它全部的回文子串 容易想到一种暴力的 \(n^{2}\) 做法 ...
- ChatGPT论文降重Prompt
你是一个已经阅读过大量论文的论文写作专家.我正在设计一个基于xxx系统.接下来,我将给你一个论文段落,你可以使用调整句子用词.句子结构等方法,重新描述这段话,对文章的内容进行润色,使之更加接近论文的写 ...
- map,unordered_map,multimap,unordered_multimap
std::map(有序映射) std::unordered_map(无序映射) std::multimap(有序多重映射) std::unordered_multimap(无序多重映射) 它们的使用方 ...
- Android dtbo(3) 编译和验证
您可以使用设备树编译器 (DTC) 编译设备树源文件.不过,在将叠加层 DT 应用于目标主 DT 之前,您还应该通过模拟 DTO 的行为来验证结果. 1. 通过DTC进行编译 构建主 DT .dts ...
- nextjs 类装饰器
// 类装饰器 == 本质就是一个函数 // 在某个类的上面使用 @ // 可以等价于函数调用 doc(Zlx) // 不会破坏原有的类 可以扩展类 // "experimentalDeco ...
- 封装JWT - 生成 jwt 和解析 jwt
1. ASP.NET Core 身份验证和授权验证的功能由Authentication,Authorization中间件提供 :app.UseAuthentication(),app.UseAutho ...
- SpringMvc请求注解@RequestBody请求体/@PathVaribale/@RequestParam【支持Ajax】
一.@RequestBody请求体 注意请求体只有form表单才有,而对于链接来说不使用 1).在Controller中写 @RequestBody String body是基本用法 另外可以封装对象 ...
- 正态分布——“牛而B之”
1 问题: 什么是正态分布,为什么这么出名和重要? 1.1 名气大 为什么叫"正态分布",也有地方叫"常态分布",这两个名字都不太直观,但如果我们各取一字变为& ...