VUE笔记(十)Echarts

news/2024/10/18 8:22:52/

一、Echarts简介

1、什么是echarts

ECharts是一款基个基于 JavaScript 的开源可视化图表库

官网地址:Apache ECharts

国内镜像:ISQQW.COM x ECharts 文档(国内同步镜像) - 配置项

示例:echarts图表集

2、第一个Echarts

  • 安装echarts依赖包

npm i echarts
  • 引入Echarts

<template><div><div id="chart" class="box" ref="main"></div></div>
</template>
​
<script>
import * as echarts from 'echarts'
export default {mounted(){let options={title:{text:'在读学生学历统计'},xAxis:{//X轴的设置data:['初中','高中','大专','本科','硕士','博士']},yAxis:{},//Y轴的设置series:[//数据的设置{name:'销量',type:'bar',//设置为柱状图data:[10,10,35,30,10,5]}]}let mychart=echarts.init(this.$refs.main)mychart.setOption(options)}
}
</script>
​
<style>.box{width: 600px;height: 400px;background-color: #ffc;}
</style>

二、柱状图

1、常见效果设置

  • 最大值、最小值、平均值标记设置

series: [{name: seriesName,type: 'bar',data: [10,10,35,30,10,5],markPoint:{data:[{type:'max',name:'最大值'},{type:'min',name:'最小值'}]},markLine:{data:[{type:'average',name:'平均值'}]}}]
  • 图形上文字标签的设置

 series: [{name: seriesName,type: 'bar',data: [10,10,35,30,10,5],label:{show:true,color:'#ff0000',backgroundColor:'springgreen',width:20,height:20}}]
  • 图形样式的设置

 series: [{name: seriesName,type: 'bar',data: [10,10,35,30,10,5],itemStyle:{color:'#0cc',shadowBlur:15,opacity:.8,shadowOffsetX:15}}]
  • 设置图形的宽度

 series: [{name: seriesName,type: 'bar',data: [10,10,35,30,10,5],barWidth:15}]
  • 更改x轴和y轴的角色

const options={xAxis: {},yAxis: { data:[10,10,35,30,10,5] },
}

2、title相关设置

属性类型含义
textstring主标题文本
linkstring主标题超链接
textStyleobjectcolor:主标题文字的颜色。 fontStyle:主标题的风格 fontWeight:主标题字体的粗细
backgroundColorColor背景色
borderColorColor边框颜色
borderRadiusnumber|Array圆角半径
let options={title:{text:'在读学生学历统计',link:'http://www.zhaijizhe.cn/studentSys',textStyle:{color:'#2ff',fontStyle:'italic',fontWeight:'bold'},backgroundColor:'#ccc',borderWidth:1,borderColor:'#bbb',borderRadius:5,padding:10    }
}

3、tooltip的相关配置

tooltip:提示框组件,用于配置鼠标滑过或点击图标时的显示框

  • 触发类型:trigger

  • 触发时机:triggerOn

  • 格式化:formatter

const options={tooltip:{show:true,triggerOn:'click',formatter:`{b}的人数是{c}人`}  
}

4、toolbox的相关配置

toolbox:ECharts提供的工具栏:内置有导出图片,数据视图,动态类型切换,数据区域缩放,重置五个工具

const options={toolbox:{show:true,feature:{saveAsImage:{//导出图片show:true},restore:{//重置,配置项还原show:true},dataView:{//数据视图show:true},magicType: {//动态类型切换type: ['line', 'bar']},dataZoom:{//数据区域缩放show:true}}
}

5、legend的相关配置

legend:图例,用于筛选系列,需要和series配置使用

  • legend中的data是一个数组

  • legend中的data的值需要和series数组中某组数据的name值一致。

let options = {tooltip: {show: true,triggerOn: "click",formatter: `{b}的人数是{c}人`,},toolbox: {show: true,feature: {saveAsImage: {show: true,},restore: {show: true,},dataView: {show: true,},magicType: {type: ["line", "bar"],},dataZoom: {show: true,},},},xAxis: {data: ["可口可乐", "百事可乐", "芬达", "红牛", "加多宝", "哇哈哈"],},yAxis: {},legend:{show:true,data:["1月份销量","2月份销量","3月份销量"]},series: [{name: "1月份销量",type: "bar",data: [10, 10, 35, 30, 10, 5],itemStyle: {color: "#0cc",shadowBlur: 15,opacity: 0.8,shadowOffsetX: 15,},barWidth: 15,},{name: "2月份销量",type: "bar",data: [20, 5, 65, 20, 15, 25],itemStyle: {color: "#cfc",shadowBlur: 15,opacity: 0.8,shadowOffsetX: 15,},barWidth: 15,},{name: "3月份销量",type: "bar",data: [25, 15, 95, 20, 25, 35],itemStyle: {color: "#0a8",shadowBlur: 15,opacity: 0.8,shadowOffsetX: 15,},barWidth: 15,},],};

三、折线图

1、基本配置

import * as echarts from 'echarts'
export default {mounted(){let options={title:{text:'最近1小时访问情况'},xAxis:{data:['16:00','16:05','16:10','16:15','16:20','16:25','16:30','16:35','16:40','16:45','16:50','16:55']},yAxis:{},series:[{name:'访问量',type:'line',data:[40,39,30,40,50,40,30,20,80,20,15,32]}]}let chart=echarts.init(this.$refs.box)chart.setOption(options)}
}

2、常见效果设置

<template><div ref="box" class="chart"></div>
</template><script>
import * as echarts from 'echarts'
export default {mounted(){let options={title:{text:'最近1小时访问情况'},xAxis:{data:['16:00','16:05','16:10','16:15','16:20','16:25','16:30','16:35','16:40','16:45','16:50','16:55']},yAxis:{},legend:{data:['浏览量','访问量']},tooltip:{show:true,trigger:'axis'},series:[{name:'浏览量',type:'line',data:[40,39,30,40,50,40,30,20,50,20,15,32],smooth:true,//开启平滑曲线areaStyle:{color:'rgba(159,216,255,.9)' //填充区域颜色},lineStyle:{ //线条样式设置color:'rgba(159,216,255)', width:2},symbol:'none' //去掉线条小圆点},{name:'访问量',type:'line',data:[20,19,10,20,25,20,15,10,22,10,9,16],smooth:true,areaStyle:{color:'rgba(120,215,190,.9)'},symbol:'none'}]}let chart=echarts.init(this.$refs.box)chart.setOption(options)}
}
</script><style>.chart{width: 1000px;height: 400px;}
</style>

四、饼状图

1、基本设置

<template><div><div ref="box" class="chart"></div></div>
</template><script>
import * as echarts from 'echarts' 
export default {mounted(){let options={series:[{type:'pie',data:[{name:'口碑',value:815},{name:'知乎',value:515},{name:'百度',value:115},{name:'美团',value:45},{name:'地图',value:15},]}]}let chart=echarts.init(this.$refs.box)chart.setOption(options)}
}
</script>

2、常见效果设置

<script>
import * as echarts from "echarts";
export default {mounted() {let options = {series: [{type: "pie",data: [{ name: "口碑", value: 815 },{ name: "知乎", value: 515 },{ name: "百度", value: 115 },{ name: "美团", value: 45 },{ name: "地图", value: 15 },],label: {show: true,formatter: function (arg) {return (arg.name + "部分消费了" + arg.value + "元\n" + arg.percent + "%");},},radius:['60%','80%'],//内外径占比roseType: "radius",//以扇形圆心角比例展现selectedMode: "single",//选中的模式},],};let chart = echarts.init(this.$refs.box);chart.setOption(options);},
};
</script>

五、地图

1、基本设置

地图数据的下载地址:DataV.GeoAtlas地理小工具系列

打开网址,通过右下角JSON API下载数据

在src/assets/data/chinaMap.js中存储数据

export const mapData=数据

在组件中

<template><div class="chart" ref="box" style="width:1000px;height:800px"></div>
</template><script>
import * as echarts from "echarts";
import { mapData } from "../assets/data/chinaMap.js";
export default {mounted() {//地图注册echarts.registerMap("chinaMap", mapData);let options = {geo: {//地理坐标系属性type: "map",map: "chinaMap",itemStyle:{areaColor:'#ddf',opacity:.7}zoom: 5,roam:true,label:{show:true,fontSize: 10},},visualMap: {//是视觉映射组件,用于进行视觉编码,也就是将数据映射到视觉元素(视觉通道)min: 100,max: 3000,text: ["高", "低"],realtime: false,calculable: true,inRange: {//颜色过渡color: ["lightskyblue", "yellow", "orangered"],},},series: [{name: "最小风险指数",type: "map",geoIndex: 0,data: [{ name: "北京市", value: 15477.48 },{ name: "天津市", value: 31686.1  },{ name: "上海市", value: 21686.1  },{ name: "重庆市", value: 61686.1  },{ name: "河北省", value: 81686.1  },{ name: "陕西省", value: 800  },{ name: "河南省", value: 100  },],},],};let chart = echarts.init(this.$refs.box);chart.setOption(options);},
};
</script><style>
.chart {width: 800px;height: 800px;
}
</style>

2、显示南海诸岛

如果要让南海诸岛显示出来,可以在注册地图的时候,把registerMap()的第一个参数必须设置为china就可以显示了

 echarts.registerMap("china", mapData);

http://www.ppmy.cn/news/1063045.html

相关文章

自动驾驶——最优控制算法(LQR)工程化总结

1. Summary 时隔一年&#xff0c;从写下第一篇博文自动驾驶-LQR工程实现&#xff08;调研&#xff09;&#xff0c;到近段时间&#xff0c;真正在我们的控制器上运行最优控制算法&#xff08;LQR&#xff09;&#xff0c;一步一个脚印&#xff0c;从开始只是知道其“控制理论”…

package.json相关知识记录

一、相关字段 npm官方字段介绍 &#x1f367; bin   >   简单理解&#xff1a;指定命令的名称及路径   &#x1f349; 相当于想path中添加路径&#xff0c;局部安装是在./node_modules/.bin/&#xff0c;全局安装是在全局的bin目录   &#x1f349; bin指定的文件必须…

【附安装包】EViews 13.0安装教程|计量经济学|数据处理|建模分析

软件下载 软件&#xff1a;EViews版本&#xff1a;13.0语言&#xff1a;英文大小&#xff1a;369.46M安装环境&#xff1a;Win11/Win10/Win8/Win7硬件要求&#xff1a;CPU2.0GHz 内存4G(或更高&#xff09;下载通道①百度网盘丨64位下载链接&#xff1a;https://pan.baidu.com…

一维数组传参

在C语言中&#xff0c;可以通过指针来传递一维数组。一维数组实际上是指向数组首元素的指针&#xff0c;在函数中传递数组参数时&#xff0c;可以将数组名作为指针传递给函数。以下是一个示例&#xff1a; #include <stdio.h>void myFunction(int arr[], int size) {for…

分布式 - 服务器Nginx:一小时入门系列之 rewrite 指令

文章目录 1. rewrite 指令语法2. rewrite 指令示例3. 不使用 last 和 break 重写规则4. 使用 break 重写规则5. 使用 last 重写规则 1. rewrite 指令语法 nginx的rewrite指令用于重写URL&#xff0c;可以将一个URL重写为另一个URL。它的语法如下&#xff1a; rewrite regex r…

课程项目设计--spring security--认证管理功能--宿舍管理系统--springboot后端

写在前面&#xff1a; 还要实习&#xff0c;每次时间好少呀&#xff0c;进度会比较慢一点 本文主要实现是用户管理相关功能。 前文项目建立 文章目录 验证码功能验证码配置验证码生成工具类添加依赖功能测试编写controller接口启动项目 security配置拦截器配置验证码拦截器 …

vue3学习源码笔记(小白入门系列)------ 组件是如何渲染成dom挂载到指定位置的?

文章目录 os准备组件如何被挂载到页面上第一步 createApp 做了哪些工作&#xff1f;ensureRendererbaseCreateRenderercreateAppAPImountrenderpatchprocessComponentprocessElement 总结 os 学习一下vue3 源码&#xff0c;顺便记录分享下 使用vitest 插件调试源码 辅助阅读 …

Vue学习之Vue组件的核心概念

组件是什么 vue组件就是一个个独立的小型的ui模块&#xff0c;整个大型的系统就是由一个个小型的UI模块拼接而成的 vue组件就是vue实例&#xff0c;通过new Vue函数来创建的一个vue实例&#xff0c;不同的组件只不过是options的不同&#xff0c;我们基本百分之90的开发工作都…