网站首页 > 技术文章 正文
1.安装echarts包
npm i echarts
2.放置图表的div,并给定高宽,代码位置(**src/views/dashboard/index.vue**)
<div class="chart">
<!-- 图表 -->
<div ref="social" style=" width: 100%; height:100% " />
</div>
<div class="chart">
<!-- 图表 -->
<div ref="provident" style=" width: 100%; height:100% " />
</div>
3.在mounted中才能初始化图表
mounted() {
// 获取展示的数据 设置给图表
// 监听homeData的变化
this.social = echarts.init(this.$refs.social) // 初始化echart
// data中没有声明 不是响应式
this.provident = echarts.init(this.$refs.provident)
},
4.引入echarts
// import * as echarts from 'echarts' // 引入所有的echarts
import * as echarts from 'echarts/core' // 引入核心包
import { LineChart } from 'echarts/charts' // 引入折线图
import { GridComponent } from 'echarts/components' // 引入组件
import { CanvasRenderer } from 'echarts/renderers'
5.使用watch监听homedata
> 这里为什么要用watch,因为获取数据在created,初始化图表在mounted,
执行mouted时,数据并不能保证能够获取到,所以采用获取watch监听数据变化,
只要数据变化,就设置图表的options
> 为什么 this.social和this.provident 并没有在data中声明,注意,
在data中声明的表示它是响应式数据,即它的变化要引起template模板的刷新,
但是这里我们只是记录一下当前图表的实例,实例本身会有setOption来影响图表的动态渲染,
所以这里并没有必要在data中声明这两个变量
watch: {
homeData() {
console.log(this.homeData)
// 设置图表
this.social.setOption({
xAxis: {
type: 'category',
boundaryGap: false,
data: this.homeData.socialInsurance?.xAxis
},
yAxis: {
type: 'value'
},
series: [
{
data: this.homeData.socialInsurance?.yAxis,
type: 'line',
areaStyle: {
color: '#04c9be' // 填充颜色
},
lineStyle: {
color: '#04c9be' // 线的颜色
}
}
]
})
this.provident.setOption({
xAxis: {
type: 'category',
boundaryGap: false,
data: this.homeData.providentFund?.xAxis
},
yAxis: {
type: 'value'
},
series: [
{
data: this.homeData.providentFund?.yAxis,
type: 'line',
areaStyle: {
color: '#04c9be' // 填充颜色
},
lineStyle: {
color: '#04c9be' // 线的颜色
}
}
]
})
}
},
6.图表的按需引入
import * as echarts from 'echarts/core' // 引入核心包
import { LineChart } from 'echarts/charts' // 引入折线图
import { GridComponent } from 'echarts/components' // 引入组件
import { CanvasRenderer } from 'echarts/renderers'
echarts.use([
LineChart,
GridComponent,
CanvasRenderer
])
猜你喜欢
- 2024-10-26 使用 Vue 两年后 用了vue还需要jquery吗
- 2024-10-26 java + vue 的前后端分离的考试系统源码 源代码程序免费分享
- 2024-10-26 Vue3 教程:Vue 3 + Element Plus + Vite 2 的后台管理系统开源啦
- 2024-10-26 饿了么团队开源新轮子:v-charts让你开心的使用echarts
- 2024-10-26 如何用Vue3打造一个交互式数据统计仪表盘
- 2024-10-26 超棒 Vue Github可视化分析系统GitDataV
- 2024-10-26 腾讯web前端面试题及解答(vue)202006
- 2024-10-26 Web前端开发推荐 6 个实用的 Vue 组件库
- 2024-10-26 Django实战017:django+vue+redis项目
- 2024-10-26 vue开启web项目之旅-3 vue项目如何打开
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)