测试开发实战[提测平台]19-Echarts图表在项目的应用
微信搜索【大奇测试开】,关注这个坚持分享测试开发干货的家伙。
Apache Echarts
VUE项目使用步骤
npm install echarts --save
执行完成后可以在 package.json 的 dependencies 配置有出现 "echarts": "^5.2.2"
<template>
<div class="app-container">
<div ref="pieChartDemo" style="width: 600px;height:400px;"></div>
</div>
</template> <script>
import * as echarts from 'echarts'
...
</script>
export default {
name: 'EchartsDemo',
// 使用mounted在页面控件加载在完成后mounted方法进行echart初始化非created
mounted() {
this.initPieChart()
},
methods: {
initPieChart() {
// 采用的是vue ref的方式获取容器
var chartDom = this.$refs['pieChartDemo']
var myChart = echarts.init(chartDom)
var option = {
title: {
text: '大奇测试开发',
subtext: '文章类型分布',
left: 'center'
},
tooltip: {
trigger: 'item'
},
legend: {
orient: 'vertical',
left: 'left'
},
series: [
{
name: 'Access From',
type: 'pie',
radius: '50%',
data: [
{ value: 20, name: '提测平台' },
{ value: 2, name: '性能测试' },
{ value: 1, name: '流量回放' },
{ value: 3, name: '好文分享' },
{ value: 5, name: '杂谈' }
]
}
]
}
option && myChart.setOption(option);
}
}
}
<div id="pieChartDemo" style="width: 600px;height:400px;"></div>
...略...
var chartDom = document.getElementById('pieChartDemo')
Echarts的示例运用
- 文档说明中的概念和应用篇,有基础解释与演示;
- 文档选项下的“配置项手册” 可以进行搜索得到更多配置说明
- 文档下还有一个是API文档,是对一些方法的使用说明,相当于之前项目使用 element ui 组件的事件,比演示代码中的 init()、setOption()。
提测数据报表实战
表SQL查询
周提测接口
# dashboard.py
@test_dashboard.route("/api/dashboard/stacked", methods=['POST'])
def get_request_stacked():
# body = json.loads(request.get_data())
connection = pool.connection() with connection.cursor() as cursor:
sql_select = 'SELECT DATE_FORMAT(request.createDate,"%Y%u") weeks, apps.note, COUNT(apps.id) counts FROM request LEFT JOIN apps ON request.appId = apps.id GROUP BY weeks, apps.note;'
cursor.execute(sql_select)
table_data = cursor.fetchall() # 第一次循环过滤生成week和notes,并生成做临时关键词储备数据,
# 用户第二次循环生成 series 需要数据
weeks = []
notes = []
key_value = {}
for row in table_data:
week = row['weeks']
note = row['note']
if not week in weeks:
weeks.append(week)
if not note in notes:
notes.append(note) key_value[week+note] = row['counts'] # 做一个排序 小到大
weeks.sort() # 做对应日期下应用数据列表生成,没有数据的week用0填充,保证顺序长度一致
series = {}
for note in notes:
series[note] = []
for week in weeks:
if week+note in key_value:
series[note].append(key_value[week+note])
else:
series[note].append(0)
resp_data = {
'weeks': weeks,
'note': notes,
'series': series
} resp = format.resp_format_success
resp['data'] = resp_data
return resp
堆叠面积图
<template>
<div class="dashboard-container">
<div ref="LineChartBoard" style="width: 95%;height:500px;"></div>
</div>
</template> <script>
import * as echarts from 'echarts'
import { requestStacked } from '@/api/board' export default {
name: 'Dashboard',
mounted() {
this.getApList()
},
methods: {
getApList() {
requestStacked().then(resp => {
this.initStackedChart(resp.data)
})
},
initStackedChart(data) {
const chartDom = this.$refs['LineChartBoard']
const myChart = echarts.init(chartDom)
const series = []
// 唯一处理需要额外逻辑处理的地方,根据接口数据动态生成series数据
for (var key in data.series) {
series.push(
{
name: key,
type: 'line',
stack: 'Total',
areaStyle: {},
emphasis: {
focus: 'series'
},
data: data.series[key]
}
)
}
var option = {
title: {
text: '周需求提测趋势'
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
label: {
backgroundColor: '#6a7985'
}
}
},
legend: {
// 数据标题展示
data: data.note
},
toolbox: {
feature: {
saveAsImage: {}
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: [
{
type: 'category',
boundaryGap: false,
data: data.weeks
}
],
yAxis: [
{
type: 'value'
}
],
series: series
}
option && myChart.setOption(option)
}
}
}
</script>
- Vue 中如何使用Echart并根据项目需要找到合适图表应用
- SQL 分组和联合表的组合查询语句实现
- 趋势查询接口数据格式化返回的逻辑处理
关于后续更多进展和分享欢迎持续关注公众号或博客。
测试开发实战[提测平台]19-Echarts图表在项目的应用的更多相关文章
- 测试开发实战[提测平台]20-图表G2Plot在项目的实践实录
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. G2Plot项目应用 上一篇<提测平台19-Echarts图表在项目的实践>讲解了Echarts的图表应用,此篇来看下开箱即用 ...
- 测试开发实战[提测平台]17-Flask&Vue文件上传实现
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 先回顾下在此系列第8次分享给出的预期实现的产品原型和需求说明,如下图整体上和前两节实现很相似,只不过一般测试报告要写的内容可能比较多,就多 ...
- Element Vue 开箱即用框架如何使用-测试开发【提测平台】阶段小结(二)
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 上一篇总结了后端服务接口的开发,这篇我们主要来总结下前后端分离开发中的前端部分,主要是开箱即用的框架介绍和之前章节组件的梳理和部分的扩展内 ...
- 测试开发【提测平台】分享13-远程搜索和路由$route使用实现新建提测需求
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 本篇继续提测平台开发,按惯例先给出学习的思维导图,以便快速了解学习知识和平台功能实现的重点. 基本知识点学习 远程搜索 显示的数据通过输入 ...
- Python Flask API实现方法-测试开发【提测平台】阶段小结(一)
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 本篇主要是对之前几次分享的阶阶段的总结,温故而知新,况且虽然看起来是一个小模块简单的增删改查操作,但其实涉及的内容点是非常的密集的,是非常 ...
- 测试开发【提测平台】分享3-正式开发产品需求&项目初始化
上两个分享主要是介绍和演示基本前后端所要使用的框架,接下来我们将正式进入到[提测平台的开发] 提要先给出依赖和内容点: 提测平台定义和产品原型需求说明 使用github创建代码仓库进行项目管理 Fla ...
- 测试开发【提测平台】分享10-Element UI抽屉和表单校验&增改接口合并实现应用管理
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 开篇说个小讨论,一个群里聊天聊到关于更新篇章的长度,是小篇幅多次,还是每次按照一个小完整的功能,我个人的是按照后种来的,主要的思考就是希望 ...
- 测试开发【提测平台】分享11-Python实现邮件发送的两种方法实践
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 按照开发安排,本篇本应该是关于提测页面的搜索和显示实现,怕相似内容疲劳,这期改下内容顺序,将邮件服务的相关的提前,在之前的产品需求和原型中 ...
- 测试开发【提测平台】分享12-掌握日期组件&列表状态格式化最终实现提测管理多条件搜索展示功能
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 本章内容思维导图如下,由于需要各种状态下的菜单操作,所以需要先实现提测信息的列表基础页面,然后再推进其他需求开发 基本知识点学习 Date ...
随机推荐
- 【LeetCode】343. Integer Break 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 数学解法 动态规划 日期 题目地址:https:// ...
- P1599 货币
背景 又是一道水题 描述 在某个神秘的星球上有一种货币,它有一种奇怪的兑换规则 你有且仅有一枚面值为n的金币,你可以去银行进行兑换,也可以不兑换 如果去银行兑换,兑换的规则是这样的:用面值为a的金币去 ...
- 破解UltraEdit64 Version 28.20.0.92 技术分享。
本文为原创作品,转载请注明出处,作者:Chris.xisaer E-mail:69920579@qq.com QQ群3244694 补丁程序下载地址:https://download.csdn.net ...
- iGPT and ViT
目录 概 主要内容 iGPT ViT 代码 Chen M., Radford A., Child R., Wu J., Jun H., Dhariwal P., Luan D., Sutskever ...
- Propensity Scores
目录 基本的概念 重要的结果 应用 Propensity Score Matching Stratification on the Propensity Score Inverse Probabili ...
- 实战!退出登录时如何借助外力使JWT令牌失效?
大家好,我是不才陈某~ 今天这篇文章介绍一下如何在修改密码.修改权限.注销等场景下使JWT失效. 文章的目录如下: 解决方案 JWT最大的一个优势在于它是无状态的,自身包含了认证鉴权所需要的所有信息, ...
- Python pyecharts绘制词云图
一.pyecharts绘制词云图WordCloud.add()方法简介 WordCloud.add()方法简介 add(name,attr,value, shape="circle" ...
- 读书笔记markdown模板
读书笔记 书名 作者 出版社 阅读日期 书籍背景 书摘/ 笔记 批注 总结& 收获 读完每一本书,把书中的知识转化为「自己的智慧」,才是最扎实的收获- 他山之石 摘录相关精彩书评-
- python自动化适应多接口的断言怎么做?
最近做的接口自动化,遇到了很多模块的接口,返回的断言不太相同,在放在unnitest单元测试框架+ddt数据驱动,做参数时,发现不能只通过一个方式进行断言,那么,要怎么做才能做到适配当前所有接口的断言 ...
- Hadoop HA(高可用) 详细安装步骤
什么是HA? HA是High Availability的简写,即高可用,指当当前工作中的机器宕机后,会自动处理这个异常,并将工作无缝地转移到其他备用机器上去,以来保证服务的高可用.(简言之,有两台机器 ...