echarts 图例组件legend配置

legend 图例组件展示不同系列的图表类型标记、颜色、和名称。可以通过点击来控制哪个系列不展示。对于饼图来说,控制哪个数据不展示。

$> echarts@5.4.0

简单画一个饼图作为示例,设置legend:{show:true}展示图例。

const options = {legend: {show: true,},series: [{name: "销量",type: "pie",center: ["50%", "30%"],radius: "40%",data: [{value: 45,name: "衬衫",},{value: 65,name: "羊毛衫",},{value: 75,name: "雪纺衫",},{value: 95,name: "裤子",},{value: 145,name: "高跟鞋",},],},],
};

在这里插入图片描述

通过left\top\right\bottom来调整图例的位置

设置图例位置时,注意饼图的位置,不要被覆盖到。

可以设置百分占比10%,也可以设置数值20

const options = {legend: {show: true,bottom: 0,},// ...
};

而对于left还可以设置为left\center\righttop可以设置为top\middle\bottom

const options = {legend: {show: true,left: "center",top: "middle",},// ...
};

在这里插入图片描述

orient 用来设置图例的朝向

默认方向为水平horizontal。可以设置垂直方向vertical,设置left:right让它置于右侧

const options = {legend: {show: true,left: "right",top: "middle",orient: "vertical",},//...
};

在这里插入图片描述

可以看到图例在右侧了,标记图形和文本方式是默认对齐,也会由组件的位置和orient决定,即left:rightorient: vertical时,图例会在右侧

也可以通过align设置对齐方式,可选值为auto\left\right

const options = {legend: {show: true,left: "right",top: "middle",orient: "vertical",align: "left",},// ...
};

itemWidth\itemHeight设置图例图形的大小

默认的图形大小itemWidth:25,itemHeight:14,长方形。设置为正方形展示

const options = {legend: {show: true,// ...itemWidth: 10,itemHeight: 10,},// ...
};

通过itemGap设置图例之间的间距,默认为10

const options = {legend: {show: true,// ...itemWidth: 10,itemHeight: 10,itemGap: 20,},// ...
};

在这里插入图片描述

通过icon设置图形的类型,默认为roundRect,可选值

  • circle\rect\roundRect\triangle\diamond\pin\arrow\none - 圆、矩形、圆角矩形、三角形、菱形、水滴形、箭头
  • image://${url}设置为图片,可以是图片路径,也可以是 dataURIbase64
  • path://设置任意矢量路径
const options = {legend: {show: true,// ...itemWidth: 20,itemHeight: 20,itemGap: 20,icon: "path://M 200 100 L 300 100 L 200 400 L 300 500 z",},// ...
};

在这里插入图片描述

可以通过itemStyle设置图形样式,一般不会设置,默认继承系列里的样式。

可以设置颜色color、边框border、阴影shandow等。

const options = {legend: {show: true,// ...itemWidth: 20,itemHeight: 20,itemGap: 20,icon: "path://M 200 100 L 300 100 L 200 400 L 300 500 z",itemStyle: {color: "red",},},// ...
};

当自定义图例图形时,一些图形的样式设置不会影响到自定义图形。

formatter来格式化图例文本

格式化图例文本,可以通过字符串模板和回调函数处理。都只有一个变量name可供使用

不支持 html 渲染,所以有很多限制。

const options = {legend: {show: true,// ...formatter: "hello {name}",},// ...
};

回调函数可以通过查找name的方式,找到数据项,渲染数值或其他内容.

const options = {legend: {show: true,// ...formatter(name) {let info = $this.data.find((item) => item.name == name);return `${name}\r${info.value}`;},},// ...
};

通过textStyle文本样式,包括颜色、字体、文本块边框、文本块阴影、文字块背景色、文本描边、文本阴影。

const options = {legend: {show: true,// ...formatter(name) {let info = $this.data.find((item) => item.name == name);return `${name}\r${info.value}`;},textStyle: {color: "green",borderWidth: 1,borderColor: "#000",textBorderWidth: 2,textBorderColor: "red",},},// ...
};

在这里插入图片描述

通过rich属性,自定义富文本样式,可以设置分割文字块设置不同的样式。

const options = {legend: {show: true,// ...formatter(name) {let info = $this.data.find((item) => item.name == name);return `{name|${name}}\r {value|${info.value}}`;},textStyle: {width: 300,rich: {name: {color: "red",},value: {color: "green",fontSize: 18,},},},},// ...
};

在这里插入图片描述

对于 rich 富文本,可以设置每一块文字的宽度,不生效时注意版本,可以设置textStyle.width尝试。

const options = {legend: {show: true,// ...formatter(name) {let info = $this.data.find((item) => item.name == name);return `{name|${name}}\r {value|${info.value}}`;},textStyle: {width: 300,rich: {name: {color: "red",width: 50,},value: {color: "green",fontSize: 18,},},},},// ...
};

在这里插入图片描述

data定义图例数据

默认的图例数据会从系列中获取,如果需要设置不同的图例样式或者不需要展示某个系列图例则可设置数据。

图例的数据字段name必须是系列中的系列名称或数据名,测试不展示最后一项高跟鞋.并设置数据名为雪纺衫的图例图形为pin

const options = {legend: {show: true,// ...data: [{name: "衬衫",},{name: "羊毛衫",},{name: "雪纺衫",icon: "pin",},{name: "裤子",},],},// ...
};

在这里插入图片描述

type:scroll设置滚动翻页的图例

图例比较多时,可能就放不下了,除了控制展示图例数。可以设置滚动图例,增加数据超过图表高度。

const options = {legend: {type: "scroll",show: true,left: "right",top: 50,height: "60%",orient: "vertical",// ...},
};

在这里插入图片描述

通过设置属性top: 50, height: "60%",调整图例的位置。

通过以下属性控制图例的样式,包括翻页按钮位置、翻页信息数据格式、翻页图标、翻页信息文字样式

  • pageFormatter 翻页信息显示格式,可用变量current/total当前页、总数
  • pageTextStyle 翻页信息中文本的样式设置
  • ...

配置tooltip显示图例文本

tooltip配置同全局的 tooltip 配置项。设置属性show: true,展示图例文本的 tooltip 提示。

const options = {legend: {show: true,// ...tooltip: {show: true,},},tooltip: {show: true,},
};

受全局tooltip配置属性影响,全局 tooltip 必须配置为show:true。图例中的 tooltip 才会生效。
在这里插入图片描述

针对图例文本过长时,做配置截断处理。然后通过tooltip展示所有内容,设置 textStylewidth文本宽度,超出后样式overflow: "truncate"

const options = {legend: {show: true,// ...tooltip: {show: true,},textStyle: {width: 80,overflow: "truncate",},},tooltip: {show: true,confine: true,},
};

为了防止 tooltip 超出图表被遮挡,可以设置confine:true将 tooltip 限制在图表内。

在这里插入图片描述

也可以通过formatter格式化文本,手动截断文本。echarts.format.truncateText()方法可以裁剪文本,参数:包括文本、内容宽度、字体样式、省略符内容、文本样式配置

这是方法的源代码贴在这

function truncateText(text, containerWidth, font, ellipsis, options) {if (!containerWidth) {return "";}var textLines = (text + "").split("\n");options = prepareTruncateOptions(containerWidth, font, ellipsis, options);for (var i = 0, len = textLines.length; i < len; i++) {textLines[i] = truncateSingleLine(textLines[i], options);}return textLines.join("\n");
}

多个图例legend配置

支持传入数组对象展示多个图例。

const options = {legend: [{ show: true },{show: true,// ...},],
};

在这里插入图片描述

这样当图例很多时,又不想要滚动,就可以使用多个图例方式,放置不同的位置。通过legend.data分配每一个图例要展示的数据

const options = {legend: [{show: true,left: "left",top: 50,height: "60%",orient: "vertical",align: "right",// ...},{show: true,left: "right",top: 50,height: "60%",orient: "vertical",align: "left",// ...},],
};

在这里插入图片描述

主要是为了做一个引导说明,通过legend可以实现哪些功能,详细查看文档配置。
Echarts - legend

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

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

相关文章

Java List(列表)

List 是一个有序、可重复的集合&#xff0c;集合中每个元素都有其对应的顺序索引。List 集合允许使用重复元素&#xff0c;可以通过索引来访问指定位置的集合元素。List 集合默认按元素的添加顺序设置元素的索引&#xff0c;第一个添加到 List 集合中的元素的索引为 0&#xff…

ELK 企业级日志分析系统(ElasticSearch、Logstash 和 Kiabana 详解)

目录 一.ELK简介 1.1ELK的概述 1.2ELK的组成 1.2.1 ElasticSearch 1.2.2 Logstash 1.2.3 Kibana 1.2.4 小总结 1.3可以添加其他组件 1.4filebeat 结合 logstash 带来好处 1.5日志处理的步骤 二.Elasticsearch 2.1Elasticsearch概述 2.2Elasticsearch核心概念 2.2.1接近…

使用可视化docker浏览器,轻松实现分布式web自动化

01、前言 顺着docker的发展&#xff0c;很多测试的同学也已经在测试工作上使用docker作为环境基础去进行一些自动化测试&#xff0c;这篇文章主要讲述我们在docker中使用浏览器进行自动化测试如果可以实现可视化&#xff0c;同时可以对浏览器进行相关的操作。 02、开篇 首先…

【云原生】Docker中容器管理常用所有命令

1.docker 容器创建流程 2.容器运行本质 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 创建容器基本选项&#xff1a;--name&#xff1a;为容器命名 -i&#xff1a;交互式创建容器 -d&#xff1a;后台创建容器 -t&#xff1a;为容器分配伪终端 Docker 容器存在的意义就是为…

机器学习笔记之优化算法(六)线搜索方法(步长角度;非精确搜索;Glodstein Condition)

机器学习笔记之优化算法——线搜索方法[步长角度&#xff0c;非精确搜索&#xff0c;Glodstein Condition] 引言回顾&#xff1a; Armijo Condition \text{Armijo Condition} Armijo Condition关于 Armijo Condition \text{Armijo Condition} Armijo Condition的弊端 Glodstein…

jenkins准备

回到目录 jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具&#xff0c;主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。Jenkins用Java语言编写&#xff0c;可在Tomcat等流行的servlet容器中运行&#xff0c;也可独立运行。通常与版本管理工具(SCM)、构…

【设计模式】单例模式

什么是单例模式&#xff1f; 保证一个类仅有一个实例&#xff0c;并提供一个访问它的全局访问点 单例模式的应用场景 1.整个程序的运行中只允许有一个类的实例&#xff1b; 2.需要频繁实例化然后销毁的对象。 3.创建对象时耗时过多或者耗资源过多&#xff0c;但又经常用到…

如何在 Rust 中运行 Lua 程序

在Rust中&#xff0c;你可以使用rust-lua这个库来运行Lua程序。下面是一个简单的例子&#xff1a; 首先&#xff0c;将 rust-lua 添加到你的 Cargo.toml 文件中&#xff1a; [dependencies] rust-lua "0.36"然后&#xff0c;在你的Rust代码中&#xff0c;你可以使…

Framework入门02-应用进程

2-1 你知道应用进程是怎么启动的吗? (1) Linux下进程启动的方式 pidfork(),这个方法会返回2次。pid为0时在子进程执行&#xff0c;pid为子进程的进程id时&#xff0c;在父进程执行。若在子进程中&#xff0c;没有execve(path, argv, env)函数&#xff0c;则子进程共享父进程…

阿里云容器服务助力极氪荣获 FinOps 先锋实践者

作者&#xff1a;海迩 可信云评估是中国信息通信研究院下属的云计算服务和软件的专业评估体系&#xff0c;自 2013 年起历经十年发展&#xff0c;可信云服务评估体系已日臻成熟&#xff0c;成为政府支撑、行业规范、用户选型的重要参考。 2022 年 5 月国务院国资委制定印发《…

linux中校验文件的sha256sum值

用途 下载源文件和校验文件进行校验&#xff0c;防止被中间人篡改文件内容。 同理的还有yum仓库&#xff0c;加载第三方库时&#xff0c;要先导入一个key密钥。 sha256校验 这里用helm软件包示例 curl -LO https://get.helm.sh/helm-v3.12.0-linux-amd64.tar.gzcurl -LO ht…

【云原生】K8S二进制搭建一

目录 一、环境部署1.1操作系统初始化 二、部署etcd集群2.1 准备签发证书环境在 master01 节点上操作在 node01与02 节点上操作 三、部署docker引擎四、部署 Master 组件4.1在 master01 节点上操 五、部署Worker Node组件 一、环境部署 集群IP组件k8s集群master01192.168.243.1…

EventBus 开源库学习(二)

整体流程阅读 EventBus在使用的时候基本分为以下几步&#xff1a; 1、注册订阅者 EventBus.getDefault().register(this);2、订阅者解注册&#xff0c;否者会导致内存泄漏 EventBus.getDefault().unregister(this);3、在订阅者中编写注解为Subscribe的事件处理函数 Subscri…

ceil(),floor(),round()函数C++详解

ceil&#xff08;&#xff09; ceil()函数是这样的&#xff1a; double ceil(double x) ceil函数可以把x上取整。 例子&#xff1a; #include <bits/stdc.h> using namespace std; int main() {double a, b;cin >> a >> b;printf("ceil(%.2f) %.2…

TensorFlow搭建神经网络

TensorFlow版本&#xff1a;2.13.0TensorFlow官方文档TensorFlow官方文档中文版 TensorFlow中搭建并训练一个神经网络分为以下几步&#xff1a; 定义神经网络配置损失函数以及优化器训练&#xff1a;反向传播、梯度下降 下面以LeNet-5为例&#xff0c;搭建一个卷积神经网络用…

消息队列项目(2)

我们使用 SQLite 来进行对 Exchange, Queue, Binding 的硬盘保存 对 Message 就保存在硬盘的文本中 SQLite 封装 这里是在 application.yaml 中来引进对 SQLite 的封装 spring:datasource:url: jdbc:sqlite:./data/meta.dbusername:password:driver-class-name: org.sqlite.…

自定义elementui的主题

通常情况下&#xff0c;我们使用elementui框架的时候默认组件的主题都是白色的&#xff0c;比如&#xff1a; 但是如果想自定义主题&#xff0c;改变主题颜色&#xff0c;以及各种默认颜色&#xff0c;其实也不难&#xff1a; 配置默认主题&#xff0c;选好后点击下载 在vu…

【云计算 | Docker】Docker容器后台运行不了?entrypoint在作妖?

1. 问题 使用镜像alpine起个容器&#xff0c;使其保持后台运行&#xff0c;正常情况有如下的效果&#xff0c;可以发现容器保持运行状态。 [rootk8s-master helloWorld]# docker run -dit docker.io/alpine /bin/sh 8d39d7579d5e4f1a560aef16ba57ab5cae2506ea9105e21cbc0634…

python + seaborn绘制条形图

文章目录 条形图countplotpointplot条形图 条形图是我们熟悉的一种绘图方式,它可以实现这一目标。在 seaborn 中,barplot() 函数对一个完整的数据集进行操作,并应用一个函数来获取估计值(默认情况下取平均值)。当每个类别中有多个观测值时,它还会使用引导法计算估计值的…

墨觉Run Plus耳机真的很好嘛?南卡、韶音、墨觉哪个好

随着近年来蓝牙耳机市场的快速变化&#xff0c;耳机的样式也在不断演变&#xff0c;从入耳式发展到无需入耳的骨传导耳机。骨传导耳机因其可以通过骨传导技术进行声音传输&#xff0c;无需贴合耳道即可实现耳机功能&#xff0c;因此备受市场欢迎。尤其是近两年&#xff0c;骨传…