网站首页 > 技术文章 正文
本文实例为大家分享了Vue使用echarts定制特殊仪表盘的具体代码,供大家参考,具体内容如下
实现的效果:(初始化以及浏览器resize的时候数字和弧形条均为递增动画)
HTML部分:
< !-- 为ECharts准备一个具备大小(宽高)的Dom -->
< div class="main-echarts-contianer"
ref="main">
< /div>
CSS部分:
.main-echarts-contianer {
width: 480px;
height: 320px;
display: flex;
align-items: center;
justify-content: center;
}
JS部分:
drawClockChart () {
// 指定图表的配置项和数据
let option = {
'series': [
{
'name': '个人指标',
'type': 'gauge',
'radius': '65%',
'startAngle': '240',
'endAngle': '-60',
// 图表的刻度分隔段数
'splitNumber': 5,
// 图表的轴线相关
'axisLine': {
'show': true,
'lineStyle': {
'color': [
[
0.9,
new this.$echarts.graphic.LinearGradient(0, 0, 1, 0, [{
offset: 0,
color: '#FFD900'
},
{
offset: 1,
color: '#FF8000'
}
])
],
[1, '#56606E']
],
'width': 15
}
},
// 图表的刻度及样式
'axisTick': {
'lineStyle': {
'color': '#0F1318',
'width': 2
},
'length': 15,
'splitNumber': 1
},
// 图表的刻度标签(20、40、60等等)
'axisLabel': {
'distance': -8,
'textStyle': {
'color': '#9E9E9E'
}
},
// 图表的分割线
'splitLine': {
'show': false
},
// 图表的指针
'pointer': {
'show': false
},
// 图表的数据详情
'detail': {
'formatter': function (params) {
return '{title|' + '总体得分}' + '\n' + '{score|' + params + '}'
},
'offsetCenter': [0, 0],
'rich': {
'title': {
'fontSize': 12,
'color': '#9E9E9E',
'lineHeight': 30
},
'score': {
'fontSize': 27,
'color': '#fff'
}
}
},
// 图表的标题
'title': {
'offsetCenter': [0, '90%'],
'color': '#fff',
'fontSize': 14
},
'data': [{
'name': '完成',
'value': 31
}]
},
{
'name': '外层线',
'type': 'gauge',
'radius': '72%',
'startAngle': '240',
'endAngle': '-60',
'center': ['50%', '50%'],
'axisLine': {
'lineStyle': {
'width': 1,
'color': [[1, '#56606E']]
}
},
'splitLine': {
'length': -6,
'lineStyle': {
'opacity': 0
}
},
'axisLabel': {
'show': false
},
'axisTick': {
'splitNumber': 1,
'lineStyle': {
'opacity': 0
}
},
'detail': {
'show': false
},
'pointer': {
'show': false
}
}
]
}
let tempVal = 0
clearInterval(this.clockChartTimer)
this.clockChartTimer = setInterval(() => {
if (tempVal > this.myIvstrAbility) {
clearInterval(this.clockChartTimer)
// 最后转到最终数据的地方
option.series[0].data[0].value = this.myIvstrAbility
option.series[0].axisLine.lineStyle.color[0][0] = this.myIvstrAbility / 100
// 使用刚指定的配置项和数据显示图表
this.myChart.setOption(option)
// 初始化渲染完成
this.renderCompleted = true
return
}
option.series[0].data[0].value = tempVal
option.series[0].axisLine.lineStyle.color[0][0] = tempVal / 100
// 使用刚指定的配置项和数据显示图表。
this.myChart.setOption(option)
tempVal++
}, 20)
// 此处监听浏览器的resize,重新渲染图表
let that = this
window.addEventListener("resize", function () {
clearTimeout(that.resizeTimer)
that.resizeTimer = setTimeout(() => {
myChart.resize()
}, 500)
})
}
以上就是本文的全部内容,希望对大家的学习有所帮助。
简单介绍Vue使用echarts定制特殊的仪表盘 | 《Linux就该这么学》 (linuxprobe.com)
- 上一篇: 「重磅」Xilinx下载文件破解及LUT在线可编程研究
- 下一篇: vue+echarts使用
猜你喜欢
- 2024-11-27 echarts图形报表的入门案例
- 2024-11-27 Echarts仿电梯运行图
- 2024-11-27 微信小程序开发之wepy 引入echarts统计图方法 亲测可用
- 2024-11-27 yarn安装echarts教程
- 2024-11-27 微信小程序使用 ECharts
- 2024-11-27 4、echarts 如何画图?(必会)
- 2024-11-27 JavaScript 前端数据可视化——ECharts.js
- 2024-11-27 vue+echarts使用
- 1507℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 505℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 484℃MySQL service启动脚本浅析(r12笔记第59天)
- 465℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 462℃启用MySQL查询缓存(mysql8.0查询缓存)
- 442℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 422℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 418℃MySQL server PID file could not be found!失败
- 最近发表
-
- netty系列之:搭建HTTP上传文件服务器
- 让deepseek教我将deepseek接入word
- 前端大文件分片上传断点续传(前端大文件分片上传断点续传怎么操作)
- POST 为什么会发送两次请求?(post+为什么会发送两次请求?怎么回答)
- Jmeter之HTTP请求与响应(jmeter运行http请求没反应)
- WAF-Bypass之SQL注入绕过思路总结
- 用户疯狂点击上传按钮,如何确保只有一个上传任务在执行?
- 二 计算机网络 前端学习 物理层 链路层 网络层 传输层 应用层 HTTP
- HTTP请求的完全过程(http请求的基本过程)
- dart系列之:浏览器中的舞者,用dart发送HTTP请求
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)