ECharts2

饼状圆

type: 属性为"pie"

可以指定圆的半径

  • radius: 60:指定的
  •   radius: '50%'   如果radius是百分比,他是以width和height中较小的值为参照物

  • radius: [200, 300]  如果radius是一个数组时,第一个元素表示的是內圆的半径,第二个元素表示外圆的半径

一个简单的圆(指定半径和百分比)

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/echarts.min.js"></script>
    <!-- 汉化包 -->
    <script src="js/langZH.js"></script>
    <style>
        /* div {
            width: 100%;
            height: 600px;
        } */
    </style>
</head>

<body>
    <!--  -->
    <div id="main"></div>
    <script>
        var main = document.getElementById("main")
            // 初始化图表
            // 第一种情况:此种情况是已经提前给图表容器设置好了大小
            // var myEcharts = echarts.init(main)
            //第二种情况:在未指定图表容器大小时,可以在图表初始化时给容器指定大小,如下所示
        var myEcharts = echarts.init(main, null, {
                width: 800,
                height: 600
            })
            //设置数据及格式(配置)
        var option = {
            series: [{
                type: "pie",
                data: [{
                    value: 335,
                    name: "数量"
                }, {
                    value: 234,
                    name: "aaa"
                }, {
                    value: 1520,
                    name: "总访问"
                }],
                // 指定圆的半径
                // radius: 60
                // 如果radius是百分比,他是以width和height中较小的值为参照物
                radius: '50%'
                    // 如果radius是一个数组时,第一个元素表示的是內圆的半径,第二个元素表示外圆的半径
                    // radius: [200, 300]
            }]
        };
        //第四部
        myEcharts.setOption(option)
            // 实现响应式
        window.onresize = function() {
            myEcharts.resize()
        }
    </script>
</body>

</html>

效果:

 如果是数组效果

 如果value的值是0那么就要把圆隐藏

设置stillShowZeroSum的值为false

文字设置label: {show: false},

2.设置标题高亮显示

设置:emphasis属性

代码:

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/echarts.min.js"></script>
    <!-- 汉化包 -->
    <script src="js/langZH.js"></script>
    <style>
        /* div {
            width: 100%;
            height: 600px;
        } */
    </style>
</head>

<body>
    <!--  -->
    <div id="main"></div>
    <script>
        var main = document.getElementById("main")
            // 初始化图表
            // 第一种情况:此种情况是已经提前给图表容器设置好了大小
            // var myEcharts = echarts.init(main)
            //第二种情况:在未指定图表容器大小时,可以在图表初始化时给容器指定大小,如下所示
        var myEcharts = echarts.init(main, null, {
                width: 800,
                height: 600
            })
            //设置数据及格式(配置)
        var option = {
            // 标题  居中
            title: {
                text: "标题",
                left: "center",
                top: "center",
            },
            series: [{
                type: "pie",
                // 圆都是0的情况隐藏
                // stillShowZeroSum: false,
                // 文字隐藏

                label: {
                    show: false
                },
                emphasis: {
                    label: {
                        show: true,
                        color: "red",
                        fontSize: 18
                    },
                    // 线的样式
                    labelLine: {

                    }
                },
                data: [{
                    value: 200,
                    name: "数量"
                }, {
                    value: 300,
                    name: "aaa"
                }, {
                    value: 1500,
                    name: "总访问"
                }],
                // 指定圆的半径
                // radius: 60
                // 如果radius是百分比,他是以width和height中较小的值为参照物
                // radius: '50%'
                // 如果radius是一个数组时,第一个元素表示的是內圆的半径,第二个元素表示外圆的半径
                radius: [50, 100]
            }]
        };
        //第四部
        myEcharts.setOption(option)
            // 实现响应式
        window.onresize = function() {
            myEcharts.resize()
        }
    </script>
</body>

</html>

效果:

玫瑰图 

roseType: 'area'

代码:

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/echarts.min.js"></script>
    <!-- 汉化包 -->
    <script src="js/langZH.js"></script>
    <style>
        /* div {
            width: 100%;
            height: 600px;
        } */
    </style>
</head>

<body>
    <!--  -->
    <div id="main"></div>
    <script>
        var main = document.getElementById("main")
            // 初始化图表
            // 第一种情况:此种情况是已经提前给图表容器设置好了大小
            // var myEcharts = echarts.init(main)
            //第二种情况:在未指定图表容器大小时,可以在图表初始化时给容器指定大小,如下所示
        var myEcharts = echarts.init(main, null, {
                width: 800,
                height: 600
            })
            //设置数据及格式(配置)
        var option = {
            series: [{
                type: 'pie',
                data: [{
                    value: 40,
                    name: '玫瑰图 1'
                }, {
                    value: 38,
                    name: '玫瑰图 2'
                }, {
                    value: 32,
                    name: '玫瑰图 3'
                }, {
                    value: 30,
                    name: '玫瑰图 4'
                }, {
                    value: 28,
                    name: '玫瑰图 5'
                }],
                roseType: 'area'
            }]
        };
        //第四部
        myEcharts.setOption(option)
            // 实现响应式
        window.onresize = function() {
            myEcharts.resize()
        }
    </script>
</body>

</html>

效果:

散点状

 设置type 属性为scatter

  • itemStyle可以设置散点的样式
  • 设置大小symbolSize,内置的如:symbol: 'circle'
  • 可以设置不一样的大小:  symbolSize: function(val) {return val / 10 },// val就是data里面的数据
  • 引用图片:

  • 第一种:使用内置的

  • 第二种:使用图片:格式:"image://url"

  • 第三种:使用path:格式:"path://path路径"

使用图片:

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/echarts.min.js"></script>
    <!-- 汉化包 -->
    <script src="js/langZH.js"></script>
    <style>
        /* div {
            width: 100%;
            height: 600px;
        } */
    </style>
</head>

<body>
    <!--  -->
    <div id="main"></div>
    <script>
        var main = document.getElementById("main")
            // 初始化图表
            // 第一种情况:此种情况是已经提前给图表容器设置好了大小
            // var myEcharts = echarts.init(main)
            //第二种情况:在未指定图表容器大小时,可以在图表初始化时给容器指定大小,如下所示
        var myEcharts = echarts.init(main, null, {
                width: 800,
                height: 600
            })
            //设置数据及格式(配置)
        var option = {
            xAxis: {
                type: "category",
                data: ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
            },
            yAxis: {
                type: "value"
            },
            series: [{
                type: 'scatter',

                data: [220, 182, 191, 234, 290, 330, 310],
                // 颜色
                itemStyle: {
                    color: "red"
                },
                // 大小1
                // symbolSize: 20,
                // symbol: 'circle'
                // 可以设置不一样的大小
                symbolSize: function(val) {
                    // val就是data里面的数据
                    return val / 10
                },
                // 引用图片
                // 第一种:使用内置的
                // 第二种:使用图片:格式:"image://url"
                // 第三种:使用path:格式:"path://path路径"
                symbol: 'image://img/zc_03.jpg'
                    // symbol: "path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z"

            }]
        };
        //第四部
        myEcharts.setOption(option)
            // 实现响应式
        window.onresize = function() {
            myEcharts.resize()
        }
    </script>
</body>

</html>

效果:

 使用path(代码把上面的path注释放开)

效果:

3.数据转换 

如果想要排序: 更改:type: "sort", order: "asc"

代码:

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/echarts.min.js"></script>
    <!-- 汉化包 -->
    <script src="js/langZH.js"></script>
    <style>
        /* div {
            width: 100%;
            height: 600px;
        } */
    </style>
</head>

<body>
    <!--  -->
    <div id="main"></div>
    <script>
        var main = document.getElementById("main")
            // 初始化图表
            // 第一种情况:此种情况是已经提前给图表容器设置好了大小
            // var myEcharts = echarts.init(main)
            //第二种情况:在未指定图表容器大小时,可以在图表初始化时给容器指定大小,如下所示
        var myEcharts = echarts.init(main, null, {
                width: 800,
                height: 600
            })
            //设置数据及格式(配置)
        var option = {
            dataset: [{
                // 这个 dataset 的 index 是 `0`。
                source: [
                    ['年份', '2011', '2012', '2013'],
                    ['蛋糕', 123, 32, 2011],
                    ['饼干', 231, 14, 2011],
                    ['咖啡', 235, 5, 2011],
                    ['面包', 341, 25, 2011],
                    ['饮料', 122, 29, 2011],
                    ['蛋糕', 143, 30, 2012],
                    ['饼干', 201, 19, 2012],
                    ['咖啡', 255, 7, 2012],
                    ['面包', 241, 27, 2012],
                    ['饮料', 102, 34, 2012],
                    ['蛋糕', 153, 28, 2013],
                    ['饼干', 181, 21, 2013],
                    ['咖啡', 395, 4, 2013],
                    ['面包', 281, 31, 2013],
                    ['饮料', 92, 39, 2013],
                    ['蛋糕', 223, 29, 2014],
                    ['饼干', 211, 17, 2014],
                    ['咖啡', 345, 3, 2014],
                    ['面包', 211, 35, 2014],
                    ['饮料', 72, 24, 2014]
                ]
            }, {
                transform: {
                    type: 'filter',
                    config: {
                        dimension: '2013',
                        value: "2011"
                    }
                }
            }, {
                transform: {
                    type: 'filter',

                    config: {
                        dimension: '2013',
                        value: 2012
                    }
                }
            }, {
                // 这个 dataset 的 index 是 `3`。
                transform: {
                    type: 'filter',
                    config: {
                        dimension: '2013',
                        value: 2013
                    }
                }
            }],
            series: [{
                type: 'pie',
                radius: 50,
                center: ['25%', '50%'],
                datasetIndex: 1
            }, {
                type: 'pie',
                radius: 50,
                center: ['50%', '50%'],
                datasetIndex: 2
            }, {
                type: 'pie',
                radius: 50,
                center: ['75%', '50%'],
                datasetIndex: 3
            }]
        };

        //第四部
        myEcharts.setOption(option)
            // 实现响应式
        window.onresize = function() {
            myEcharts.resize()
        }
    </script>
</body>

</html>

效果:

 4.跳转

实现点击跳转首先要给他一个点击事件

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

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/echarts.min.js"></script>
    <!-- 汉化包 -->
    <script src="js/langZH.js"></script>
    <style>
        /* div {
            width: 100%;
            height: 600px;
        } */
    </style>
</head>

<body>
    <!--  -->
    <div id="main"></div>
    <script>
        var main = document.getElementById("main")
            // 初始化图表
            // 第一种情况:此种情况是已经提前给图表容器设置好了大小
            // var myEcharts = echarts.init(main)
            //第二种情况:在未指定图表容器大小时,可以在图表初始化时给容器指定大小,如下所示
        var myEcharts = echarts.init(main, null, {
                width: "auto",
                height: 600
            })
            //设置数据及格式(配置)
        var option = {
            legend: {
                show: true
            },
            xAxis: {
                type: 'category',
                data: ['羊毛衫', '雪绒衫', '衬衫', '裤子', '高跟鞋', '袜子', '半袖']
            },
            yAxis: {},
            series: [{
                name: "销量",
                data: [120, 200, 150, 80, 70, 110, 130],
                type: 'bar',
            }, {
                name: "总结",
                data: [100, 300, 100, 180, 30, 130, 120],
                type: 'bar',
            }]
        };
        //第四部
        myEcharts.setOption(option)
            // 实现响应式
        window.onresize = function() {
            myEcharts.resize()
        }
        myEcharts.on('click', function(params) {
            // console.log(params)
            // 点击跳转
            window.open('https://www.baidu.com/s?wd=' + params.name)

        })
    </script>
</body>

</html>

效果:

 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值