python测试开发django-149.ECharts 生成柱状图

前言

ECharts 是一个使用 JavaScript 实现的开源可视化库,涵盖各行业图表,满足各种需求。

ECharts下载与使用

可以在直接下载 echarts.min.js 并用 <script>标签引入。下载地址https://cdn.staticfile.org/echarts/4.7.0/echarts.min.js
开发环境下可以使用源代码版本 echarts.js 并用 <script> 标签引入,源码版本包含了常见的错误提示和警告。下载地址https://cdn.staticfile.org/echarts/4.7.0/echarts.js

使用在线 CDN 方法:
Staticfile CDN(国内) : https://cdn.staticfile.org/echarts/4.3.0/echarts.min.js
cdnjs : https://cdnjs.cloudflare.com/ajax/libs/echarts/4.3.0/echarts.min.js

生成柱状图

统计测试报告情况,生成柱状图,先看只有一组数据的情况

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>生成柱状图</title>
<!-- 引入 echarts.js -->
<script src="https://cdn.staticfile.org/echarts/4.3.0/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 = {
legend: {},
tooltip: {},
dataset: {
// 提供一份数据。
source: [
['report', 'pass', 'failed', 'error'],
['10/10', 20, 5, 1]
]
},
// 声明一个 X 轴,类目轴(category)。默认情况下,类目轴对应到 dataset 第一列。
xAxis: {type: 'category'},
// 声明一个 Y 轴,数值轴。
yAxis: {},
// 声明多个 bar 系列,默认情况下,每个系列会自动对应到 dataset 的每一列。
series: [
{type: 'bar'},
{type: 'bar'},
{type: 'bar'}
]
};

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
</body>
</html>

生成效果

当测试报告数据有多组的情况,统计最近 5 天的报告情况,dataset 图标数据

dataset: {
// 提供一份数据。
source: [
['report', 'pass', 'failed', 'error'],
['10/6', 20, 5, 1],
['10/7', 23, 2, 1],
['10/8', 25, 1, 0],
['10/9', 18, 5, 3],
['10/10', 26, 0, 0]
]
}

完整的html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>生成柱状图</title>
<!-- 引入 echarts.js -->
<script src="https://cdn.staticfile.org/echarts/4.3.0/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 = {
legend: {},
tooltip: {},
dataset: {
// 提供一份数据。
source: [
['report', 'pass', 'failed', 'error'],
['10/6', 20, 5, 1],
['10/7', 23, 2, 1],
['10/8', 25, 1, 0],
['10/9', 18, 5, 3],
['10/10', 26, 0, 0]
]
},
// 声明一个 X 轴,类目轴(category)。默认情况下,类目轴对应到 dataset 第一列。
xAxis: {type: 'category'},
// 声明一个 Y 轴,数值轴。
yAxis: {},
// 声明多个 bar 系列,默认情况下,每个系列会自动对应到 dataset 的每一列。
series: [
{type: 'bar'},
{type: 'bar'},
{type: 'bar'}
]
};

// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
</body>
</html>

生成效果

图标数据 dataset 也可以是键值对的形式

dataset: {
// 提供一份数据。
source: [
{'report': '10/6', 'pass':20, 'failed':5, 'error':1},
{'report': '10/7', 'pass':23, 'failed':2, 'error':1},
{'report': '10/8', 'pass':25, 'failed':1, 'error':0},
{'report': '10/9', 'pass':18, 'failed':5, 'error':3},
{'report': '10/10', 'pass':26, 'failed':0, 'error':0},
]
}

series.seriesLayoutBy 属性

我们可以使用 series.seriesLayoutBy 属性来配置 dataset 是列(column)还是行(row)映射为图形系列(series),默认是按照列(column)来映射。

// 指定图表的配置项和数据
var option = {
legend: {},
tooltip: {},
dataset: {
// 提供一份数据。
source: [
['report', 'pass', 'failed', 'error'],
['10/6', 20, 5, 1],
['10/7', 23, 2, 1],
['10/8', 25, 1, 0],
['10/9', 18, 5, 3],
['10/10', 26, 0, 0]
]
},
// 声明一个 X 轴,类目轴(category)。默认情况下,类目轴对应到 dataset 第一列。
xAxis: {type: 'category'},
// 声明一个 Y 轴,数值轴。
yAxis: {},
// 声明多个 bar 系列,默认情况下,每个系列会自动对应到 dataset 的每一列。
series: [
{type: 'bar', seriesLayoutBy: 'row'},
{type: 'bar', seriesLayoutBy: 'row'},
{type: 'bar', seriesLayoutBy: 'row'}
]
};

显示效果

如果图表数据 dataset 是键值对的形式,是不能按行显示的。

自定义 yAxis

可以自定义Y轴显示内容

// 声明一个 Y 轴,数值轴。
yAxis: [
{
type: 'value',
name: '个数',
axisLabel: {
formatter: ' {value}'
}
}
]

显示效果

设置最小值最大值和间距

// 声明一个 Y 轴,数值轴。
yAxis: [
{
type: 'value',
name: '个数',
min: 0,
max: 100,
interval: 10,
axisLabel: {
formatter: ' {value}'
}
}
]

写死最大值会有个弊端,当数量大于100的时候,就超出了图表范围了

(0)

相关推荐

  • bar库 pyecharts

    Pyecharts V1全新版本使用教程--Bar(柱状图的使用) 以下内容均来自Pyecharts官方使用文档(可自行阅读)和自己的理解: 官方链接:https://pyecharts.org/#/ ...

  • pyecharts生成各种图表

    pyecharts的使用 pyecharts 是一个用于生成 Echarts 图表的类库. echarts 是百度开源的一个数据可视化 JS 库,主要用于数据可视化.pyecharts 是一个用于生成 ...

  • Flask

    Flask 本指南介绍了如何在 Flask 中使用 pyecharts. Flask 模板渲染 Step 0: 新建一个 Flask 项目 $ mkdir pyecharts-flask-demo$ ...

  • 基于Pyecharts可视化大屏案例一(3)

    上两篇文章<基于Pyecharts可视化大屏案例一(1)><基于Pyecharts可视化大屏案例一(2)>已经为大家详细展示了大屏大致的制作过程以及可视化大屏的布局,接下来继续 ...

  • 盘点 Django 展示可视化图表的多种方式(建议收藏)

    盘点 Django 展示可视化图表的多种方式(建议收藏)

  • Python Flask 数据可视化

    数据可视化是数据处理中的重要部分,前面我们了解了 Flask 的开发和部署,如何用 Flask 做数据可视化呢?今天我们来了解一下. Python 语言极富表达力,并且拥有众多的数据分析库和框架,是数 ...

  • python测试开发django -140.Bootstrap 缩略图

    前言 网格中布局图像.视频.文本等.Bootstrap 通过缩略图为此提供了一种简便的方式.使用 Bootstrap 创建缩略图的步骤如下: 在图像周围添加带有 class .thumbnail 的& ...

  • python测试开发django -143.Bootstrap 表单控件校验状态

    前言 Bootstrap 对表单控件的校验状态,如 error.warning 和 success 状态,都定义了样式.使用时,添加 .has-warning..has-error 或 .has-su ...

  • python测试开发django -142.Bootstrap 表单(form)

    前言 HTML 表单用于收集不同类型的用户输入.boostrap中表单有几种样式 基本垂直表单 内联表单 form-inline 水平排列表单 form-horizontal 基本表单实例 单独的表单 ...

  • python测试开发django -141.Bootstrap 面板(Panels)

    # 前言 面板组件用于把 DOM 组件插入到一个盒子中.创建一个基本的面板,只需要向 元素添加 class .panel 和 class .panel-default 即可 基础面板 不带标题的基本面 ...

  • python测试开发django -144.Ace Editor 在线编辑python代码

    前言 网页上想在线编辑代码,可以使用Ace Editor 在线编辑实现.比如我们想实现一个功能,在网页版上写python代码,能有python的语法自动补齐功能. Ace Editor 在线编辑 AC ...

  • python测试开发django-147.ECharts 生成饼图

    前言 ECharts 是一个使用 JavaScript 实现的开源可视化库,涵盖各行业图表,满足各种需求. ECharts下载与使用 可以在直接下载 echarts.min.js 并用 <scr ...

  • python测试开发django-150.ECharts 生成折线图

    前言 ECharts 是一个使用 JavaScript 实现的开源可视化库,涵盖各行业图表,满足各种需求. ECharts下载与使用 可以在直接下载 echarts.min.js 并用 <scr ...

  • python测试开发django-10.django连接mysql

    前言 Django 对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle.本篇以mysql为例简单介绍django连接mysql进行数据操作 Django连 ...

  • python测试开发django-73.django视图 CBV 和 FBV

    前言 FBV(function base views) 就是在视图里使用函数处理请求,这一般是学django入门的时候开始使用的方式. CBV(class base views) 就是在视图里使用类处 ...