• echarts柱状图轮播


    第一种:通过TimeLine实现

    var areaList = [
                    "北京市昌平区", "北京石景万达","北京海淀区苏宁",  " 北京朝阳区望京街", " 北京朝阳区太阳宫", " 北京东城王府井", " 北京丰台区蒲方路", " 上海市虹口区", " 上海市普陀区",
                    "上海市静安区", " 上海市徐汇区", " 上海市黄浦区", " 上海市闵行区", " 上海市闸北区", " 南京市中山北路", " 南京秦淮长乐路", " 南京江宁东山",
                    "杭州市下城区", " 杭州市萧山区", " 苏州市吴中区",
                    "青岛市李沧区", " 青岛市市南区", " 无锡市北塘区", " 无锡市梁溪区", " 无锡市南长区", " 扬州市邗江区", " 武汉市汉阳区", " 厦门市思明区", " 常州市新北区",
                    "广州市越秀区", " 成都市锦江区", " 深圳市南山区", " 深圳市福田区", " 苏州市姑苏区", " 四川省简阳市", " 西安雁塔区", " 西安莲湖区",
                    "西安经开区", "郑州市金水区", " 沈阳市和平区",
                    "天津市河西区", " 合肥市庐阳区", " 合肥市蜀山区", " 宁波市江东区", " 济南市历下区", " 重庆南坪", " 河北廊坊", " 河北石家庄", " 河南洛阳",
                    "云南昆明", " 辽宁沈阳", " 沈阳奥体", " 辽宁抚顺", " 湖南湘潭", " 湖南长沙", " 安徽马鞍山", " 安徽芜湖",
                    "安徽亳州", " 苏州工业园区", " 南京建邺区",
                    "绍兴河桥", " 杭州拱墅", " 内蒙古包头", " 南昌红谷滩", " 湖北宜昌", " 甘肃兰州", " 福建莆田", " 福建龙岩", " 广州白云区",
                    "宁夏银川", " 山东潍坊", " 山东泰安", " 山东烟台", " 山东德州", " 广西南宁", " 四川绵阳", " 广东佛山",
                    "广东东莞", " 厦门集美", " 福州金融街",
                    "长春红旗街", " 太原龙湖", " 武汉荆门", " 陕西渭南", " 内蒙古通辽", " 浙江金华", " 宁波余姚", " 常州武进", " 江苏镇江",
                    "无锡滨湖区"
                    ];
                            
    var arr = [ 1, 1, 1, 2, 1, 1, 2, 0, 1, 2, 0, 1, 2, 1, 2,
                1, 1, 2, 1, 1, 2, 0, 1, 2, 0, 2, 0, 1, 2, 0,
                2, 1, 1, 2, 0, 1, 1, 1, 2, 1, 1, 2, 0, 1, 1,
                1, 2, 1, 1, 2, 0, 1, 2, 0, 2, 0, 2, 0, 1, 1,  
                1, 1, 2, 1, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 1,
                1, 1, 2, 1, 1, 2, 0, 1, 2, 0, 1, 2, 0 ,1, 1
          ]; var displayNum = screen.width > 1500 ? 25 : 15;//每次显示数据条数 var groupNum = Math.ceil(arr.length / displayNum); var arrGroup = []; for (var i = 0; i < arr.length; i += displayNum) {//数据按个数分组存储 arrGroup.push(arr.slice(i, i + displayNum)); } var areaGroup = []; for (var i = 0; i < areaList.length; i += displayNum) {//区域名称按个数分组存储 areaGroup.push(areaList.slice(i, i + displayNum)); } var groupOption = []; for (var i = 0; i < groupNum; i++) { var temp = { xAxis: [ { type: 'category', axisLabel: { show: true, textStyle: { color: '#7e878e', fontSize: 12 }, interval: 0, rotate: displayNum > 13 ? 25 : 0,//数据超过13条时,横坐标标签斜置 }, data: areaGroup[i], splitLine: { show: false }, } ], series: [ { data: arrGroup[i] }, ] }; groupOption.push(temp); } option = { baseOption: { timeline: { // y: 0, axisType: 'category', // realtime: false, // loop: false, autoPlay: true, // currentIndex: 2, playInterval: 2000, // controlStyle: { // position: 'left' // }, data: areaGroup, label: { formatter : function(s) { return ''; } } }, title: { subtext: '' }, tooltip: {}, calculable : true, grid: { top: 80, bottom: 100 }, xAxis: [ { type:'category', axisLabel:{'interval':0}, data:areaList, splitLine: {show: false} } ], yAxis: [ { minInterval: 1,//纵坐标为整数 type: 'value', name: '处', // max: 53500 max: 3 } ], series: [ { name: '异常总数', type: 'bar', barWidth: 15, label: { normal: { show: true, position: 'top', color: '#D0D8E2', formatter: function (params) {//总数为0时显示数字 if (params.value === 0) { return params.value; } else { return ''; } } } }, data: arr, itemStyle: { normal: { color: new echarts.graphic.LinearGradient( 0, 0, 0, 1, [{ offset: 0, color: '#75c0ea' }, { offset: 1, color: '#3b85dc' } ] ) } }, } ] }, options: groupOption, };

    第二种:通过DataZoom实现

    var zoomstart = 0;
    var zoomend = 100;
    
    var restart = setInterval(function () {
        var areaList = [
                    "北京市昌平区", "北京石景万达","北京海淀区苏宁",  " 北京朝阳区望京街", " 北京朝阳区太阳宫", " 北京东城王府井", " 北京丰台区蒲方路", " 上海市虹口区", " 上海市普陀区",
                    "上海市静安区", " 上海市徐汇区", " 上海市黄浦区", " 上海市闵行区", " 上海市闸北区", " 南京市中山北路", " 南京秦淮长乐路", " 南京江宁东山",
                    "杭州市下城区", " 杭州市萧山区", " 苏州市吴中区",
                    "青岛市李沧区", " 青岛市市南区", " 无锡市北塘区", " 无锡市梁溪区", " 无锡市南长区", " 扬州市邗江区", " 武汉市汉阳区", " 厦门市思明区", " 常州市新北区",
                    "广州市越秀区", " 成都市锦江区", " 深圳市南山区", " 深圳市福田区", " 苏州市姑苏区", " 四川省简阳市", " 西安雁塔区", " 西安莲湖区",
                    "西安经开区", "郑州市金水区", " 沈阳市和平区",
                    "天津市河西区", " 合肥市庐阳区", " 合肥市蜀山区", " 宁波市江东区", " 济南市历下区", " 重庆南坪", " 河北廊坊", " 河北石家庄", " 河南洛阳",
                    "云南昆明", " 辽宁沈阳", " 沈阳奥体", " 辽宁抚顺", " 湖南湘潭", " 湖南长沙", " 安徽马鞍山", " 安徽芜湖",
                    "安徽亳州", " 苏州工业园区", " 南京建邺区",
                    "绍兴河桥", " 杭州拱墅", " 内蒙古包头", " 南昌红谷滩", " 湖北宜昌", " 甘肃兰州", " 福建莆田", " 福建龙岩", " 广州白云区",
                    "宁夏银川", " 山东潍坊", " 山东泰安", " 山东烟台", " 山东德州", " 广西南宁", " 四川绵阳", " 广东佛山",
                    "广东东莞", " 厦门集美", " 福州金融街",
                    "长春红旗街", " 太原龙湖", " 武汉荆门", " 陕西渭南", " 内蒙古通辽", " 浙江金华", " 宁波余姚", " 常州武进", " 江苏镇江",
                    "无锡滨湖区"
                    ];
                            
        var arr = [ 1, 1, 1, 2, 1, 1, 2, 0, 1, 2, 0, 1, 2, 1, 2,
                    1, 1, 2, 1, 1, 2, 0, 1, 2, 0, 2, 0, 1, 2, 0,
                    2, 1, 1, 2, 0, 1, 1, 1, 2, 1, 1, 2, 0, 1, 1,
                    1, 2, 1, 1, 2, 0, 1, 2, 0, 2, 0, 2, 0, 1, 1,  
                    1, 1, 2, 1, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 1,
                    1, 1, 2, 1, 1, 2, 0, 1, 2, 0, 1, 2, 0 ,1, 1
                  ];
                  
        option = {
                                grid: {
                                    top: "40",
                                    bottom: "25%",
                                    right: "25",
                                    left: "40",
                                },
                                tooltip: {
                                    trigger: 'axis',
                                },
    
                                xAxis: [
                                    {
                                        type: 'category',
                                        axisLine: {
                                            show: true,
                                            lineStyle: {
                                                color: "#cfd4d8",
                                                 "2"
                                            }
                                        },
                                        axisLabel: {
                                            show: true,
                                            textStyle: {
                                                color: '#7e878e',
                                                fontSize: 12
                                            },
                                            interval: 0,
                                            rotate: arr.length > 13 ? 25 : 0 ,//数据超过13条时,横坐标标签斜置
                                        },
                                        axisTick: {
                                            show: false,
                                        },
                                        data: areaList
                                    }
                                ],
                                dataZoom: [
                                    {
                                        type: 'slider',
                                        show: true,
                                        start: zoomStart(),
                                        end: zoomEnd(arr.length),//默认显示条柱数
    
                                    }
                                ],
                                yAxis: [
                                    {
                                        minInterval: 1,
                                        type: 'value',
                                        name: '(处)',
                                        position: 'left',
                                        axisLabel: {
                                            formatter: '{value}'
                                        },
                                        splitArea: {
                                            "show": true
                                        },
                                        axisLine: {
                                            show: true,
                                            lineStyle: {
                                                color: "#cfd4d8",
                                                 "2"
                                            }
                                        },
                                        axisTick: {
                                            show: false,
                                        },
                                        splitLine: {
                                            show: true,
                                            lineStyle: {
                                                color: '#d9d8d8',
                                                 1,
                                                type: 'dashed'
                                            }
                                        },
                                        nameTextStyle: {
                                            color: '#7e878e',
                                        },
    
                                    }
                                ],
                                series: [
                                    {
                                        name: '异常总数',
                                        type: 'bar',
                                        barWidth: 15,
                                        label: {
                                            normal: {
                                                show: true,
                                                position: 'top',
                                                color: '#D0D8E2',
                                                formatter: function (params) {//总数为0时显示数字
                                                    if (params.value === 0) {
                                                        return params.value;
                                                    } else {
                                                        return '';
                                                    }
                                                }
                                            }
                                        },
                                        data: arr,
                                        itemStyle: {
                                            normal: {
                                                color: new echarts.graphic.LinearGradient(
                                                    0, 0, 0, 1, [{
                                                        offset: 0,
                                                        color: '#75c0ea'
                                                    },
                                                    {
                                                        offset: 1,
                                                        color: '#3b85dc'
                                                    }
                                                    ]
                                                )
                                            }
                                        },
                                    }
    
    
                                ]
                            };
        }, 3000);
                            
                //dataZoom的自动播放
                function zoomStart() {
                    if (zoomend >= 100) 
                        zoomstart = 0;
                    else {
                        zoomstart += 20;
                    }
                    return zoomstart;
                }
                
                function zoomEnd(length) {
                    var displayNum = screen.width > 1500 ? 25 : 15;//根据屏幕分辨率,定默认显示条柱数
                    if (length > displayNum && zoomstart === 0) {
                        zoomend = (displayNum / length) * 100;
                    } else if (length > displayNum) {
                        zoomend += 20;
                    }
                    else {
                        zoomend = 100;
                        clearInterval(restart);
                    }
                    return zoomend;
                }
  • 相关阅读:
    [ARM] Cortex-M Startup.s启动文件相关代码解释
    [OpenCVsharp]利用指针实现高速访问像素RGB值
    Ubuntu环境下安装TinyOS系统
    win8.1环境下安装arduino驱动问题解决方案
    VMware-Transport(VMDB) error -44:Message.The VMware Authorization Service is not running解决方案
    1.Python 简单输入输出
    HTML速查列表
    Linux安装svn
    CentOS7系统操作httpd服务
    CentOS 7 防火墙端口配置
  • 原文地址:https://www.cnblogs.com/daiyayi/p/11892858.html
Copyright © 2020-2023  润新知