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 标题组件的更多相关文章

  1. 转:ECharts图表组件入门教程之Theme:ECharts图表的皮肤是什么?如何给图表换主题(皮肤)Theme?

    一.什么是ECharts图表的皮肤(主题)? 针对这个问题我只能这样回答,ECharts图表的主题(皮肤)就犹如人的衣服一样,是用来衬托和渲染主体,使其变得更加美观好看的目的.你去过ECharts图表 ...

  2. vue-cli ——解决多次复用含有Echarts图表组件的问题

    在vue项目里,组件复用是一件很开心的事,可以节省很多时间去排版,达到事半功倍效果,但是昨晚在vue-cli项目里组件复用时发现基于Echarts图表的组件不能够复用,昨晚捯饬了很久,终于还是解决了这 ...

  3. 转:ECharts图表组件之简单关系图:如何轻松实现另类站点地图且扩展节点属性实现点击节点页面跳转

    站点地图不外乎就是罗列一个网站的层次结构,提炼地讲就是一个关系结构图.那么我们如何巧用ECharts图表组件内的简单关系结构图来实现一个站点的地图结构呢?另外如何点击某个节点的时候实现页面跳转呢? 针 ...

  4. vue echarts vue-echarts组件使用

    1.git地址 https://github.com/ecomfe/vue-echarts 2.使用 (1)安装 npm install vue-echarts --save-dev (2)引入 im ...

  5. ECharts grid组件离容器的距离

    ECharts grid组件离容器的距离 由 Carrie 创建, 最后一次修改 2017-09-04 grid.left   |   string, number [ default: '10%' ...

  6. 在Vue中echarts可视化组件的使用

    echarts组件官网地址:https://echarts.apache.org/examples/zh/index.html 1.找到脚手架项目所在地址,执行cnpm install echarts ...

  7. vue2.0 自定义 饼状图 (Echarts)组件

    1.自定义  图表  组件 Echarts.vue <!-- 自定义 echart 组件 --> <template> <div> <!-- echart表格 ...

  8. ECharts公共组件:title详解、 tooltip详解、toolbox详解、legend详解、dataZoom详解、visualMap全解

    1. Title mytextStyle={ color:"#333",                           //文字颜色 fontStyle:"norm ...

  9. 【小程序】---- 封装Echarts公共组件,遍历图表实现多个饼图

    一.问题描述: 在小程序的项目中,封装公共的饼图组件,并在需要的页面引入使用.要求一个页面中有多个饼图,动态渲染不同的数据. 二.效果实现: 1. 查看——小程序使用Echarts的方式 2. 封装饼 ...

  10. echarts标题(title)配置

    var option = {         //标题         title : {             show:true,//显示策略,默认值true,可选为:true(显示) | fa ...

随机推荐

  1. CPRFL:基于CLIP的新方案,破解长尾多标签分类难题 | ACM MM'24

    现实世界的数据通常表现为长尾分布,常跨越多个类别.这种复杂性突显了内容理解的挑战,特别是在需要长尾多标签图像分类(LTMLC)的场景中.在这些情况下,不平衡的数据分布和多物体识别构成了重大障碍.为了解 ...

  2. ASP.NET Core – Razor Class Library (RCL)

    前言 Razor Class Library 的用途是封装 Razor views, pages, controllers, page models, Razor components, View c ...

  3. [OI] 欢夏!邪龙?马拉车!

    标题来自原神 算法概述 Manacher 算法 用途:寻找回文串,最板子的情况下用于字符串的回文子串计数 给定一个字符串 \(S\),求出它全部的回文子串 容易想到一种暴力的 \(n^{2}\) 做法 ...

  4. ChatGPT论文降重Prompt

    你是一个已经阅读过大量论文的论文写作专家.我正在设计一个基于xxx系统.接下来,我将给你一个论文段落,你可以使用调整句子用词.句子结构等方法,重新描述这段话,对文章的内容进行润色,使之更加接近论文的写 ...

  5. map,unordered_map,multimap,unordered_multimap

    std::map(有序映射) std::unordered_map(无序映射) std::multimap(有序多重映射) std::unordered_multimap(无序多重映射) 它们的使用方 ...

  6. Android dtbo(3) 编译和验证

    您可以使用设备树编译器 (DTC) 编译设备树源文件.不过,在将叠加层 DT 应用于目标主 DT 之前,您还应该通过模拟 DTO 的行为来验证结果. 1. 通过DTC进行编译 构建主 DT .dts ...

  7. nextjs 类装饰器

    // 类装饰器 == 本质就是一个函数 // 在某个类的上面使用 @ // 可以等价于函数调用 doc(Zlx) // 不会破坏原有的类 可以扩展类 // "experimentalDeco ...

  8. 封装JWT - 生成 jwt 和解析 jwt

    1. ASP.NET Core 身份验证和授权验证的功能由Authentication,Authorization中间件提供 :app.UseAuthentication(),app.UseAutho ...

  9. SpringMvc请求注解@RequestBody请求体/@PathVaribale/@RequestParam【支持Ajax】

    一.@RequestBody请求体 注意请求体只有form表单才有,而对于链接来说不使用 1).在Controller中写 @RequestBody String body是基本用法 另外可以封装对象 ...

  10. 正态分布——“牛而B之”

    1 问题: 什么是正态分布,为什么这么出名和重要? 1.1 名气大 为什么叫"正态分布",也有地方叫"常态分布",这两个名字都不太直观,但如果我们各取一字变为& ...