初学Echart

创建一个html文件

1.引入

  点击链接----快速上手网址:快速上手 - 使用手册 - Apache ECharts

复制这一串【这个是引入echart路径】

引入到这里

2.使用

我们在上一步---点击返回--往下翻---找到完整代码--复制黏贴

复制粘贴后--总体长这样

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="https://cdn.jsdelivr.net/npm/echarts@5.5.0/dist/echarts.min.js"></script>
</head><body><!-- 为 ECharts 准备一个定义了宽高的 DOM --><div id="main" style="width: 600px;height:400px;"></div><script type="text/javascript">// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('main'));// 指定图表的配置项和数据var option = {title: {text: 'ECharts 入门示例'},tooltip: {},legend: {data: ['销量']},xAxis: {data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']},yAxis: {},series: [{name: '销量',type: 'bar',data: [5, 20, 36, 10, 10, 20]}]};// 使用刚指定的配置项和数据显示图表。myChart.setOption(option);</script>
</body></html>

3.运行

咱们vscode用live server打开

4.想换个折线图

来到示例

把js全部copy

替换原有option

再运行

5.脚手架如何运行echart

先创建脚手架

下载echart:https://echarts.apache.org/handbook/zh/basics/import

copy这个命令

运行脚手架

创建一个页面---代码内容如下:

<template><div class="about"><!-- 设置一个容器 --><div id="main" style="width: 600px;height:600px"></div></div>
</template><script>
//局部引入
import * as echarts from 'echarts';
export default {created() {},mounted() {//初始化容器this.initCharts()},methods: {initCharts() {let mycharts = echarts.init(document.querySelector('#main'))//绘制图标mycharts.setOption({title: {text: 'ECharts 入门示例'},tooltip: {},xAxis: {data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']},yAxis: {},series: [{name: '销量',type: 'bar',data: [5, 20, 36, 10, 10, 20]}]})}}
}
</script>

效果

其余配置自己需要学习看文档

Documentation - Apache ECharts

如何看文档?

比如

5.1可以有多图【比如折线和柱状图】

5.2resize()*响应容器大小变化,通常需要伴随防抖使用。

举个例子--图的容器是600px

我给容器增加宽度--但是发现图标没有变化!

那么我们可以这么做

但是我点击了按钮---echart图没有发生改变!!【因为你的宽度修改要先传入data--然后流向标签中,这个过程还没完成就已经先调用了resize,相当于自适应宽度还是为600px对于resize】

这样写就可以啦!!

5.2.1监听window窗口实现自适应

当我缩小窗口时--他也自适应窗口了!!

5.3dispose()* 容器节点被销毁时,应当调用dispose销毁实例

https://echarts.apache.org/zh/api.html#echartsInstance.dispose

6.进阶

6.1.异步数据加载

<template><div class="home"><div id="main" style="width: 600px;height:600px"></div></div>
</template><script>
// @ is an alias to /src
import * as echarts from 'echarts';export default {name: 'HomeView',data() {return {lineCharts: null}},mounted() {this.initCharts()this.draw()this.getData()},methods: {//初始化echarts实例initCharts() {this.lineCharts = echarts.init(document.querySelector('#main'))},//绘制图标draw() {this.lineCharts.setOption({title: {text: 'ECharts '},tooltip: {},xAxis: {data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']},yAxis: {},series: [{name: '销量',type: 'bar',data: [],},]})},//模拟axios获取数据getData() {setTimeout(() => {const res = {msg: '操作成功',code: 200,data: [5, 20, 36, 10, 10, 20]}// this.draw(res)//echart内部有缓存机制,只需要传入更新的配置项就可以了this.lineCharts.setOption({series: [{data: res.data,},]})}, 1500)}}}
</script>

6.2echart支持一些交互事件

1.如何绑定click

如:click、mousemove、mouseover等。使用click

点击袜子

如何销毁click?--我们先看this指向什么?

指向事件源

2.如何解绑

this指向事件源--我们只能这么操作区获取lineCharts--然后进行解绑

效果:点击一次有数据--再次点击就不会触发click!!

7.geo地图

地址:简数科技

我们选择一个福建省--发现一个json路径--我们打开它

一定要选择!!GeoJSON

上一步错误

都是该省份的数据信息--我们可以导入这个json

我们存到静态资源当中去!

代码如下

<template><div><div id="main" style="width:400px;height:400px;border:1px solid #000"></div></div>
</template><script>
import * as echarts from 'echarts';
// 引入离线geoJson数据
import fujian from '@/assets/js/350000.json'
export default {name: 'MapEcharts',data() {return {mychart: null};},mounted() {this.initCharts()this.setMap()},methods: {initCharts() {//注册地图数据echarts.registerMap('FujianMap', fujian)//创建实例this.mychart = echarts.init(document.querySelector('#main'))},//绘制地图setMap() {// 设置配置this.mychart.setOption({series: {name: '中国地图',type: 'map',// map值为registerMap()注册的地图名称map: 'FujianMap',roam: true,zoom: 1.2,scaleLimit: {min: 1,max: 10},// 默认状态下的样式label: {show: true,color: 'black'},itemStyle: {areaColor: '#4E90E6'},// 高亮状态下emphasis: {label: {show: true,color: '#ffffff'},itemStyle: {areaColor: '#ff0000'}},// 选中状态下select: {label: {show: true,color: 'pink'},itemStyle: {areaColor: 'green'}}}})}}
};
</script><style scoped></style>

效果

如果想修改一下地图的配置--来这里

2.进阶

“点击中国地图的福建省--下转到福建省的地图--点击福建省的泉州市--下转到泉州市的地图”--以上这个地图我们应该如何去实现呢?

首先下载axios

然后引入axios

使用axios:先复制这个链接

去请求这个链接

整体代码

<template><div><div id="main" style="width:600px;height:600px;border:1px solid #000"></div></div>
</template><script>
import * as echarts from 'echarts';
// 引入离线geoJson数据
import fujian from '@/assets/js/350000.json'
import axios from 'axios'
export default {name: 'MapEcharts',data() {return {mychart: null};},mounted() {this.initCharts()},methods: {initCharts() {//创建实例this.mychart = echarts.init(document.querySelector('#main'))//加载数据axios.get('https://geojson.cn/api/data/china.json').then(({ data }) => {console.log(data, 'res');//注册地图数据echarts.registerMap(data.propertity.name, data)this.setMap(data.propertity.name)})},//绘制地图setMap(MapName) {// 设置配置this.mychart.setOption({series: {name: '中国地图',type: 'map',// map值为registerMap()注册的地图名称map: MapName,roam: true,zoom: 1.2,scaleLimit: {min: 1,max: 10},// 默认状态下的样式label: {show: true,color: 'black'},itemStyle: {areaColor: '#4E90E6'},// 高亮状态下emphasis: {label: {show: true,color: '#ffffff'},itemStyle: {areaColor: '#ff0000'}},// 选中状态下select: {label: {show: true,color: 'pink'},itemStyle: {areaColor: 'green'}}}})}}
};
</script><style scoped></style>

效果

其次我们看看axios中的data的数据包含什么?

是每个省份数据

那么我们给这个地图添加点击事件--看看拿到什么?

点击新疆--观察dataIndex:30

和axios获取的data的数据下标对应!、

所以:点击省份--获取到下标数据--去axios的data找对应下标的数据

而且观察路径哪里有变化?【也就只是json面有变化--因此我们可以做字符串凭借发送请求】

我们到底要做什么呢?【1:明确请求路径只有中国数据有!2.你点击省份--获取下标--在中国数据获取对应下标的路径编码(如350000) 3.获取的编码进行再次路径拼接  4.发送请求,进行渲染】

代码

<template><div><div id="main" style="width:600px;height:600px;border:1px solid #000"></div></div>
</template><script>
import * as echarts from 'echarts';
// 引入离线geoJson数据
import fujian from '@/assets/js/350000.json'
import axios from 'axios'
export default {name: 'MapEcharts',data() {return {mychart: null};},mounted() {this.initCharts()},methods: {initCharts() {//创建实例this.mychart = echarts.init(document.querySelector('#main'))//加载数据axios.get('https://geojson.cn/api/data/china.json').then(({ data }) => {console.log(data, 'res');//注册地图数据echarts.registerMap(data.propertity.name, data)this.setMap(data.propertity.name)const that = this//点击this.mychart.on('click', function (e) {console.log(e, 'ee');console.log(data.features[e.dataIndex]);//加载数据axios.get(`https://geojson.cn/api/data/${data.features[e.dataIndex].properties.filename}.json`).then(({ data }) => {console.log(data, 'res');//注册地图数据echarts.registerMap(data.propertity.name, data)that.setMap(data.propertity.name)//我们只切换到省份--所以解绑that.mychart.off('click')})})})},//绘制地图setMap(MapName) {// 设置配置this.mychart.setOption({series: {name: '中国地图',type: 'map',// map值为registerMap()注册的地图名称map: MapName,roam: true,zoom: 1.2,scaleLimit: {min: 1,max: 10},// 默认状态下的样式label: {show: true,color: 'black'},itemStyle: {areaColor: '#4E90E6'},// 高亮状态下emphasis: {label: {show: true,color: '#ffffff'},itemStyle: {areaColor: '#ff0000'}},// 选中状态下select: {label: {show: true,color: 'pink'},itemStyle: {areaColor: 'green'}}}})}}
};
</script><style scoped></style>

补充!还想点击福建省的某个市--进行下一步注册地图--拼接规律如下

效果

结束!

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

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

相关文章

【大模型部署】在C# Winform中使用文生图Stable Diffusion XL 模型

【大模型部署】在C# Winform中使用文生图Stable Diffusion XL 模型 前言 整了一个在C# Winform中调用文生图Stable Diffusion XL的小程序&#xff0c;基于百度智能云千帆平台 步骤 如何注册百度智能云和创建应用&#xff0c;获取API 密钥等和在之前的博客中基本相同&#…

[C++]debug介绍+debug时如何查看指针指向内存处的值

一、简介 预备工具和知识&#xff1a;使用使用VSCode使用Debug。 本文简介&#xff1a;本文将简要介绍debug中Continue&#xff0c;Step Over&#xff0c;Step Into和Restart的功能。并介绍如何在debug时查看动态内存地址&#xff08;指针&#xff09;的值&#xff1b; 二、D…

连公司WiFi后,无法访问外网,怎么回事,如何解决?

文章目录 封面问题描述问题探究什么是DNS&#xff1f;分布式&#xff0c;层次数据库如何理解分布式&#xff1f;如何理解层次&#xff1f; 本地DNS服务器迭代查询&#xff0c;递归查询DNS缓存参考资料 封面 问题描述 从甲方项目组返回公司后&#xff0c;我习惯性连上公司WiFi&…

视频号小店去哪里找货源?最全货源渠道分享!

大家好&#xff0c;我是电商糖果 视频号小店因为是这两年电商行业新出来的黑马&#xff0c;吸引着不少商家入驻。 入驻了商家中很多都没有自己的货源渠道。 他们基本都是从无货源开始起步&#xff0c;后期通过积累资源&#xff0c;慢慢搭建属于自己的货源渠道。 可是渐渐的…

算法的时间与空间复杂度

算法是指用来操作数据、解决程序问题的一种方法。对于同一问题&#xff0c;使用不同的算法&#xff0c;也许最终结果是一样的&#xff0c;但在过程中消耗的资源和时间却会有很大的区别。 那我们该如何去衡量不同算法之间的优劣呢&#xff1f;主要还是从算法所占用的【时间】和…

5.26机器人基础-空间描述和变换-总结

非目录 方便我找 重点 逆解 位姿矩阵的几何意义 实际坐标需要除以比例因子才能得到 比例因子的好处&#xff1a;在计算机的储存更加简单方便&#xff0c;例如x,y,x原先很大时&#xff0c;等比例改变 位姿坐标的齐次变换&#xff1a;左乘齐次坐标 从端点到末端&#xff0c…

集合竞价选股策略实战测试

2.3.2版本发布的集合竞价选股策略是网友吴PSYP提供的&#xff0c;团队按照策略实现的选股算法&#xff0c;最近半个月对策略进行的实战测试&#xff0c;从集合竞价选股开始&#xff0c;到股票收盘&#xff0c;收盘价格大于集合竞价价格&#xff0c;算作盈利&#xff0c;测试结果…

Vision Mamba论文阅读(主干网络)

这几天被Mamba刷屏了&#xff0c;又由于本人是做视觉方面任务的&#xff0c;固来看看mamba在视觉上的应用。 今天分享的是Vision Mamba: Vision Mamba: Efficient Visual Representation Learning with Bidirectional State Space Model 论文网址&#xff1a;https://arxiv.or…

火山引擎“奇袭”阿里云

图片&#xff5c;电影《美国队长3》剧照 ©自象限原创 作者丨程心 编辑丨罗辑 大模型价格战&#xff0c;已经不是什么新闻。 从OpenAI发布GPT-4o&#xff0c;将API价格下调50%&#xff0c;并宣布面向普通用户免费开始&#xff0c;就标志着大模型的竞争从性能进入到了成本…

【机器学习】期望最大化(EM)算法

文章目录 一、极大似然估计1.1 基本原理1.2 举例说明 二、Jensen不等式三、EM算法3.1 隐变量 与 观测变量3.2 为什么要用EM3.3 引入Jensen不等式3.4 EM算法步骤3.5 EM算法总结 参考资料 EM是一种解决 存在隐含变量优化问题 的有效方法。EM的意思是“期望最大化&#xff08;Exp…

Aloha机械臂的mujoco仿真问题记录

今天在测试ACT代码时&#xff0c;遇到了仿真中的机械臂无法摆放正确的姿势来抓去红色方块。 后来经过测试&#xff0c;发现应该是python包的版本问题有误&#xff0c;下面记录下正确的包版本&#xff1a; 官方给出的包&#xff1a; conda create -n aloha python3.8.10 conda…

vue3 ts问题 找不到模块“@/views/home/index.vue”或其相应的类型声明。

1. 找不到模块“/views/HomeView.vue”或其相应的类型声明 今天帮同事看了一个问题&#xff0c;他尝试用vitevue3tspinia创建项目&#xff0c;结果刚上来就遇到这么一个问题 2. 解决办法 出现这个问题的原因就是&#xff1a;ts只支持导出导入模块&#xff0c;但是vue不是模块…

leetcode 1631. 最小体力消耗路径 二分+BFS、并查集、Dijkstra算法

最小体力消耗路径 题目与水位上升的泳池中游泳类似 二分查找BFS 首先&#xff0c;采用二分查找&#xff0c;确定一个体力值&#xff0c;再从左上角&#xff0c;进行BFS&#xff0c;查看能否到达右下角&#xff0c;如果不行&#xff0c;二分查找就往大的数字进行查找&#xff…

web及网络基础图文详解

目录 1.1TCP/IP 协议族 1.2TCP/IP 的分层管理 1.3TCP/IP通信传输流 1.4 与 HTTP 关系密切的协议 : IP、TCP 和 DNS &#xff08;1&#xff09;负责传输的 IP协议&#xff08;网络层&#xff09; &#xff08;2&#xff09;确保可靠的 TCP协议&#xff08;传输层&#xff…

一行代码实现UI拖拽的效果

演示 先来看效果吧&#xff01; 实现方式 1.首先创建一个你想拖动的UI图片 2.创建一个C#的脚本 3.编写控制脚本&#xff08;代码按我的敲就行&#xff09; 付上代码片段 public void OnDrag(PointerEventData eventData){transform.position eventData.position;} 4.添加脚…

产品经理-需求分析(三)

1. 需求分析 从业务的需要出发&#xff0c;确定业务目的和目标&#xff0c;将业务需求转为产品需求 1.1 业务需求 业务需求 业务动机 业务目标 就是最根本的动机和目标成果&#xff0c;通过这个需求解决特定的问题 1.2 产品需求 产品需求 解决方案 产品结构 产品流程…

等了10年,终于迎来RTX5/RTX4全家桶开源,开源,开源! 且免费商用

我们的V4, V5, V6 ,V7开发板都配套了大量的RTX4, RTX5教程和案例&#xff0c;从2015年发布首版RTX4内核教程以来&#xff0c;已经整整10年了。 1、制作这个RTX教程和案例&#xff0c;其实也承受了很大的压力&#xff0c;因为只有RTX内核是免费商用的&#xff0c;中间件并不免费…

AUTOMATIC1111/stable-diffusion-webui/stable-diffusion-webui-v1.9.3

配置环境介绍 目前平台集成了 Stable Diffusion WebUI 的官方镜像&#xff0c;该镜像中整合如下资源&#xff1a; GpuMall智算云 | 省钱、好用、弹性。租GPU就上GpuMall,面向AI开发者的GPU云平台 Stable Diffusion WebUI版本&#xff1a;v1.9.3 Python版本&#xff1a;3.10.…

数据结构(四)串

2024年5月26日一稿(王道P127) 定义和实现

【计算机毕业设计】基于SSM+Vue的新能源汽车在线租赁管理系统【源码+lw+部署文档】

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;新能源汽车在线租赁当然也不能排除在外。新能源汽车在线租赁是以实际运用为开发背景&#xff0c;运用软件工程开发方法&…