编程语言
首页 > 编程语言> > python测试开发django-148.ECharts 生成环状图(饼图)

python测试开发django-148.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

生成环形饼图

首先定义options作为环状图的参数,options.series:系列数据列表列表。每个系列通过 type 决定自己的图表类型

<!DOCTYPE html>
<html lang="en">

<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">
        // 初始化 echarts 实例
        var myChart = echarts.init(document.getElementById('main'));

        myChart.setOption({
            series : [{
                    name: '测试报告',
                    type: 'pie',    // 设置图表类型为饼图
                    radius: ['45%', '65%'],  // 饼图的半径,外半径为可视区尺寸(容器高宽中较小一项)的 55% 长度。
                    data:[          // 数据数组,name 为数据项名称,value 为数据项值
                        {name:'通过', value:20},
                        {name:'失败', value:4},
                    ]}
            ]
        })
    </script>
</body>
</html>

显示效果

标签优化

label 设置外标签显示内容百分比
color 设置自定义颜色

  <script type="text/javascript">
        // 初始化 echarts 实例
        var myChart = echarts.init(document.getElementById('main'));

        myChart.setOption({
            series : [{
                    name: '测试报告',
                    type: 'pie',    // 设置图表类型为饼图
                    radius: ['45%', '65%'],  // 饼图的半径,外半径为可视区尺寸(容器高宽中较小一项)的 55% 长度。
                    label: {
                        position: 'outside',
                        formatter: '{b}:{c} ({d}%)'
                    },
                    color: ['#00ff00', '#ff0000'],
                    data:[          // 数据数组,name 为数据项名称,value 为数据项值
                        {name:'通过', value:20},
                        {name:'失败', value:4},
                    ]}
            ]
        })
    </script>

显示效果

换行显示

           label: {
                        position: 'outside',
                        formatter: '用例数:{c} \n {b}率({d}%)'
                    }

显示效果

环内设置总数

在环形内,设置title属性,可以设置总数量

<script type="text/javascript">
        // 初始化 echarts 实例
        var myChart = echarts.init(document.getElementById('main'));

        myChart.setOption({
            title: {
                    text: '用例总数',
                    subtext: '24',
                    x: 'center',
                    y: 'center',
                    textStyle: {
                            fontWeight: 'normal',
                            fontSize: 25,
                            color: '#00eeff'
                        }, // 标题
                    subtextStyle: {
                            fontWeight: 'normal',
                            fontSize: 28,
                            color: '#00eeff'
                        } // 副标题
                  },
            series : [{
                name: '测试报告',
                type: 'pie',    // 设置图表类型为饼图
                radius: ['45%', '65%'],  // 饼图的半径,外半径为可视区尺寸(容器高宽中较小一项)的 55% 长度。
                label: {
                    position: 'outside',
                    formatter: '用例数:{c} \n {b}率({d}%)'
                },
                color: ['#00ff00', '#ff0000'],
                data: [          // 数据数组,name 为数据项名称,value 为数据项值
                    {name: '通过', value: 20},
                    {name: '失败', value: 4}
                ]

            }]
        })
    </script>

显示效果

tooltip 和 legend

设置tooltip 和 legend

<script type="text/javascript">
        // 初始化 echarts 实例
        var myChart = echarts.init(document.getElementById('main'));

        myChart.setOption({
            tooltip: {
                    trigger: 'item'
                  },
            legend: {
                    orient: 'vertical',
                    left: 'left'
                  },
            title: {
                    text: '用例总数',
                    subtext: '24',
                    x: 'center',
                    y: 'center',
                    textStyle: {
                            fontWeight: 'normal',
                            fontSize: 25,
                            color: '#00eeff'
                        }, // 标题
                        subtextStyle: {
                            fontWeight: 'normal',
                            fontSize: 28,
                            color: '#00eeff'
                        } // 副标题
                  },
            series : [{
                name: '测试报告',
                type: 'pie',    // 设置图表类型为饼图
                radius: ['45%', '65%'],  // 饼图的半径,外半径为可视区尺寸(容器高宽中较小一项)的 55% 长度。
                label: {
                    position: 'outside',
                    formatter: '用例数:{c} \n {b}率({d}%)'
                },
                color: ['#00ff00', '#ff0000'],
                data: [          // 数据数组,name 为数据项名称,value 为数据项值
                    {name: '通过', value: 20},
                    {name: '失败', value: 4}
                ]

            }]
        })
    </script>

标签:数据项,name,python,myChart,value,django,color,148,echarts
来源: https://www.cnblogs.com/yoyoketang/p/15387378.html