echarts学习文档

echarts学习文档

  • 基础概念
    • 初始化
    • 样式(颜色)
    • 数据集(dataset)
    • 数据转换(
    • 数据转换(transform)

基础概念

项目里使用npm安装echarts依赖包

npm install echarts

在要使用的地方引入

import * as echarts from 'echarts'

初始化

echrats提供的初始化接口是echarts.init
初始化方法里面要绑定容器 ,容器的概念其实就是一个又固定宽高的html节点。初始化的时候传入该节点(doucument.getElementById(‘xxx’));

 const chart = echarts.init(document.getElementById('bingchart'))

1.如果绑定的节点没有宽度高度,没办法渲染出图表。图表的宽高默认是绑定节点的宽高。没有指定宽高的报错如下
在这里插入图片描述
[ECharts] Can’t get DOM width or height. Please check dom.clientWidth and dom.clientHeight. They should not be 0.For example, you may need to call this in the callback of window.onload.

2.如果想要图表响应页面进行变化图表也有提供方法 给页面添加resize事件并调用echarts实例的方法

 window.addEventListener('resize', function() {chart.resize();//什么都不传默认图表大小 也可以传宽高/*chart.resize({width: 800,height: 400});*/});

3.假设页面中存在多个标签页,每个标签页都包含一些图表。当选中一个标签页的时候,其他标签页1的内容在dom中被移除,当用户再选中这些标签页的时候,就会发现图表不见了。
在容器节点被销毁时。勇敢页销毁图表

chart.dispose ()

样式(颜色)

1.颜色可以用一个数组写在配置项外边 然后再配置的时候引入这个数组。(可以定义一个,也可以定义多个)
2.颜色也可以写在数据集里[{value:xxx,color:‘red’}]
3.可以通过配置项设置一些别的颜色如高亮颜色之类的

option = {series: {type: 'scatter',// 普通样式。itemStyle: {// 点的颜色。color: 'red'},label: {show: true,// 标签的文字。formatter: 'This is a normal label.'},// 高亮样式。emphasis: {itemStyle: {// 高亮时点的颜色。color: 'blue'},label: {show: true,// 高亮时标签的文字。formatter: 'This is a emphasis label.'}}}
};

数据集(dataset)

数据集和xAxis平级
数据集是专门用来管理数据的组件。虽然每个系列都可以在series.data中设置数据。但是数据集可以被多个组件复用。
数据集的source可以是数组形式也可以是对象数组格式
1.数组形式下0位置会被忽略渲染 它作为渲染的一个参照 不作为数值渲染
2.对象数组形式下都会渲染,需要配置一个dimensions 完成映射

 dataset: {// 用 dimensions 指定了维度的顺序。直角坐标系中,如果 X 轴 type 为 category,// 默认把第一个维度映射到 X 轴上,后面维度映射到 Y 轴上。// 如果不指定 dimensions,也可以通过指定 series.encode// 完成映射,参见后文。dimensions: ['product', '2015', '2016', '2017'], //可以是数组也可以是对象形式的/*dimensions: [{ name: 'score' },// 可以简写为 string ,表示 dimension name 。'amount',// 可以在 type 中指定维度类型。{ name: 'product', type: 'ordinal' }],}*/source: [{ product: 'Matcha Latte', '2015': 43.3, '2016': 85.8, '2017': 93.7 },{ product: 'Milk Tea', '2015': 83.1, '2016': 73.4, '2017': 55.1 },{ product: 'Cheese Cocoa', '2015': 86.4, '2016': 65.2, '2017': 82.5 },{ product: 'Walnut Brownie', '2015': 72.4, '2016': 53.9, '2017': 39.1 }]},

3.使用encode完成映射

// 在任何坐标系和系列中,都支持:
encode: {// 使用 “名为 product 的维度” 和 “名为 score 的维度” 的值在 tooltip 中显示tooltip: ['product', 'score']// 使用 “维度 1” 和 “维度 3” 的维度名连起来作为系列名。(有时候名字比较长,这可以避免在 series.name 重复输入这些名字)seriesName: [1, 3],// 表示使用 “维度2” 中的值作为 id。这在使用 setOption 动态更新数据时有用处,可以使新老数据用 id 对应起来,从而能够产生合适的数据更新动画。itemId: 2,// 指定数据项的名称使用 “维度3” 在饼图等图表中有用,可以使这个名字显示在图例(legend)中。itemName: 3
}// 直角坐标系(grid/cartesian)特有的属性:
encode: {// 把 “维度1”、“维度5”、“名为 score 的维度” 映射到 X 轴:x: [1, 5, 'score'],// 把“维度0”映射到 Y 轴。y: 0
}// 单轴(singleAxis)特有的属性:
encode: {single: 3
}// 极坐标系(polar)特有的属性:
encode: {radius: 3,angle: 2
}// 地理坐标系(geo)特有的属性:
encode: {lng: 3,lat: 2
}// 对于一些没有坐标系的图表,例如饼图、漏斗图等,可以是:
encode: {value: 3
}

数据转换(

var option = {dataset: [{// 这个 dataset 的 index 是 `0`。source: [['Product', 'Sales', 'Price', 'Year'],['Cake', 123, 32, 2011],['Cereal', 231, 14, 2011],['Tofu', 235, 5, 2011],['Dumpling', 341, 25, 2011],['Biscuit', 122, 29, 2011],['Cake', 143, 30, 2012],['Cereal', 201, 19, 2012],['Tofu', 255, 7, 2012],['Dumpling', 241, 27, 2012],['Biscuit', 102, 34, 2012],['Cake', 153, 28, 2013],['Cereal', 181, 21, 2013],['Tofu', 395, 4, 2013],['Dumpling', 281, 31, 2013],['Biscuit', 92, 39, 2013],['Cake', 223, 29, 2014],['Cereal', 211, 17, 2014],['Tofu', 345, 3, 2014],['Dumpling', 211, 35, 2014],['Biscuit', 72, 24, 2014]]// id: 'a'},{// 这个 dataset 的 index 是 `1`。// 这个 `transform` 配置,表示,此 dataset 的数据,来自于此 transform 的结果。transform: {type: 'filter',config: { dimension: 'Year', value: 2011 }}// 我们还可以设置这些可选的属性: `fromDatasetIndex` 或 `fromDatasetId`。// 这些属性,指定了,transform 的输入,来自于哪个 dataset。例如,// `fromDatasetIndex: 0` 表示输入来自于 index 为 `0` 的 dataset 。又例如,// `fromDatasetId: 'a'` 表示输入来自于 `id: 'a'` 的 dataset。// 当这些属性都不指定时,默认认为,输入来自于 index 为 `0` 的 dataset 。},{// 这个 dataset 的 index 是 `2`。// 同样,这里因为 `fromDatasetIndex` 和 `fromDatasetId` 都没有被指定,// 那么输入默认来自于 index 为 `0` 的 dataset 。transform: {// 这个类型为 "filter" 的 transform 能够遍历并筛选出满足条件的数据项。type: 'filter',// 每个 transform 如果需要有配置参数的话,都须配置在 `config` 里。// 在这个 "filter" transform 中,`config` 用于指定筛选条件。// 下面这个筛选条件是:选出维度( dimension )'Year' 中值为 2012 的所有// 数据项。config: { dimension: 'Year', value: 2012 }}},{// 这个 dataset 的 index 是 `3`。transform: {type: 'filter',config: { dimension: 'Year', value: 2013 }}}],series: [{type: 'pie',radius: 50,center: ['25%', '50%'],// 这个饼图系列,引用了 index 为 `1` 的 dataset 。也就是,引用了上述// 2011 年那个 "filter" transform 的结果。datasetIndex: 1},{type: 'pie',radius: 50,center: ['50%', '50%'],datasetIndex: 2},{type: 'pie',radius: 50,center: ['75%', '50%'],datasetIndex: 3}]
};

数据转换(transform)

版本5点多开始支持这个 ,通过已有的数据集生成新的数据集 特点有很多
1.把数据分成多份用不同的饼图展现
2.进行一些数据统计运算,并展示结果
3.用某学数据可视化算法处理数据,并展示结果
4.数据排序
5.去除或直选择数据项
基础使用的代码如下

var option = {dataset: [{// 这个 dataset 的 index 是 `0`。source: [['Product', 'Sales', 'Price', 'Year'],['Cake', 123, 32, 2011],['Cereal', 231, 14, 2011],['Tofu', 235, 5, 2011],['Dumpling', 341, 25, 2011],['Biscuit', 122, 29, 2011],['Cake', 143, 30, 2012],['Cereal', 201, 19, 2012],['Tofu', 255, 7, 2012],['Dumpling', 241, 27, 2012],['Biscuit', 102, 34, 2012],['Cake', 153, 28, 2013],['Cereal', 181, 21, 2013],['Tofu', 395, 4, 2013],['Dumpling', 281, 31, 2013],['Biscuit', 92, 39, 2013],['Cake', 223, 29, 2014],['Cereal', 211, 17, 2014],['Tofu', 345, 3, 2014],['Dumpling', 211, 35, 2014],['Biscuit', 72, 24, 2014]]// id: 'a'},{// 这个 dataset 的 index 是 `1`。// 这个 `transform` 配置,表示,此 dataset 的数据,来自于此 transform 的结果。transform: {type: 'filter',config: { dimension: 'Year', value: 2011 }}// 我们还可以设置这些可选的属性: `fromDatasetIndex` 或 `fromDatasetId`。// 这些属性,指定了,transform 的输入,来自于哪个 dataset。例如,// `fromDatasetIndex: 0` 表示输入来自于 index 为 `0` 的 dataset 。又例如,// `fromDatasetId: 'a'` 表示输入来自于 `id: 'a'` 的 dataset。// 当这些属性都不指定时,默认认为,输入来自于 index 为 `0` 的 dataset 。},{// 这个 dataset 的 index 是 `2`。// 同样,这里因为 `fromDatasetIndex` 和 `fromDatasetId` 都没有被指定,// 那么输入默认来自于 index 为 `0` 的 dataset 。transform: {// 这个类型为 "filter" 的 transform 能够遍历并筛选出满足条件的数据项。type: 'filter',// 每个 transform 如果需要有配置参数的话,都须配置在 `config` 里。// 在这个 "filter" transform 中,`config` 用于指定筛选条件。// 下面这个筛选条件是:选出维度( dimension )'Year' 中值为 2012 的所有// 数据项。config: { dimension: 'Year', value: 2012 }}},{// 这个 dataset 的 index 是 `3`。transform: {type: 'filter',config: { dimension: 'Year', value: 2013 }}}],series: [{type: 'pie',radius: 50,center: ['25%', '50%'],// 这个饼图系列,引用了 index 为 `1` 的 dataset 。也就是,引用了上述// 2011 年那个 "filter" transform 的结果。datasetIndex: 1},{type: 'pie',radius: 50,center: ['50%', '50%'],datasetIndex: 2},{type: 'pie',radius: 50,center: ['75%', '50%'],datasetIndex: 3}]
};

–未完待续–

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

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

相关文章

建模:3dmax

3Dmax 制作模型和动画(橘肉); RizomUV 对模型进行展UV(橘皮); Substance Painter 纹理手绘(给橘皮制定想要的皮肤); 1.基础 1.1可编辑多边形、可编辑样条线 体、面都需要…

2024最新Kali Linux安装教程(非常详细)从零基础入门到精通(附安装包)!

什么是Kali Linux? Kali Linux是一个高级渗透测试和安全审计Linux发行版,其功能非常强大,能够进行信息取证、渗透测试、攻击WPA / WPA2保护的无线网络、离线破解哈希密码、将android、Java、C编写的程序反编译成代码等等,是黑客的…

解锁Spring Boot数据映射新利器:深度探索MapperStruct

解锁Spring Boot数据映射新利器:深度探索MapperStruct MapperStruct 是一个强大的 Java 映射工具,它的主要作用是简化对象之间的映射操作。在 Spring Boot 应用程序中,MapperStruct 通常用于将领域模型对象(Domain Model&#xff…

Go Gin使用JWT实现认证机制

什么是JWT JWT是JSON Web Token的缩写,是一种跨域认证的解决方案。 使用JWT解决什么问题 传统的登录认证的实现,依赖客户端浏览器的cookie和服务器的session,这种实现登录的方式有很大的局限性。 对于部署在单台服务器的应用来说,使用cookie+session登录认证的方案尚…

strcpy函数详解

strcpy函数详解 1.函数简介2.strcpy函数的使用2.1使用方法一2.1使用方法二 3.strcpy在使用过程中的注意事项3.1被复制字符必须以\0结尾3.2目标空间必须能够大于源字符串长度3.3目标空间必须可变 1.函数简介 strcpy函数包含在<string.h>库函数中&#xff0c;是将一个字符…

【C语言】strcmp函数讲解

文章目录 strcmp函数&#xff1a;例1&#xff1a;str2前6个元素和str1一样&#xff0c;多了一个G。例2&#xff1a;第3个字母不同&#xff0c;str2元素也比str1多个G。例3&#xff1a;第3个字母不同&#xff0c;str2元素也比str1少个f。例4&#xff1a;第3个字母不同&#xff0…

Spring 各版本发布时间与区别

版本版本特性Spring Framework 1.01. 所有代码都在一个项目中 2. 支持核心功能IoC、AOP 3. 内置支持Hibernate、iBatis等第三方框架 4. 对第三方技术简单封装。如&#xff1a;JDBC、Mail、事务等 5. 只支持XML配置方式。6.主要通过 XML 配置文件来管理对象和依赖关系&#xff0…

Linux 第三十三章

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C&#xff0c;linux &#x1f525;座右铭&#xff1a;“不要等到什么都没有了…

HCIP【VLAN综合实验】

目录 一、实验拓扑图&#xff1a; 二、实验要求&#xff1a; 三、实验思路&#xff1a; 四、实验步骤&#xff1a; 1、在交换机SW1,SW2,SW3配置VLAN和各个接口对应类型的配置 2、在路由器上面配置DHCP服务 一、实验拓扑图&#xff1a; 二、实验要求&#xff1a; 1、PC1 …

linux Docker在线/离线服务安装并支持centos7和centos8系统

注&#xff1a;以下内容都是经过测试;能在生产环境使用. 一、centos7版本的docker在线安装 1&#xff1a;运行以下命令&#xff0c;下载docker-ce的yum源。 sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo…

做软件测试如何突破月薪20K?

IT行业从事技术岗位&#xff0c;尤其对于测试来说&#xff0c;月薪20K&#xff0c;即便在北上广深这类一线城市薪水也不算低了&#xff0c;可以说对于大部分测试岗位从业者来说&#xff0c;20K都是一个坎儿。 那么&#xff0c;问题来了&#xff0c;做软件测试如何可以达到月薪…

山东大学计算机考研数据分析,初复试占比6:4,复试内容不少得花精力准备!

山东大学&#xff08;ShandongUniversity&#xff09;&#xff0c;简称山大&#xff0c;位于中国山东&#xff0c;是中华人民共和国教育部直属的综合性全国重点大学&#xff0c;是国家“211工程”、“985工程”重点建设院校&#xff0c;入选“111计划”、“珠峰计划”、“卓越工…