锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

疫情数据可视化-湖北省疫情可视化软件设计大赛作品

时间:2022-09-09 13:30:00 厚膜无感功率电阻zmp50油位传感器xgyw310低浓度甲烷传感器gjc4电子台秤传感器yzogwk40温度传感器bk6电阻器

湖北省疫情监测中心(疫情数据可视化)目录

  • 前言
  • 一、数据可视化
  • 二、疫情可视化
    • 湖北疫情监测中心
      • ① 主要框架
      • ② 数据爬取
      • ③ 疫情可视化模块(疫情监测模块)
      • ④ 便利信息可视化模块(检测信息模块)
      • ⑤ 学生信息可视化模块(信息服务模块)
      • ⑥ 总结

前言

这是参加软件设计大赛的可视化作品,已获省级一等奖,仅供参考。


一、数据可视化

① 疫情仍在蔓延。如何利用全面有效、及时的数据和可视化技术准确感知疫情形势,为决策者和管理者提供宏观数据依据,节省决策时间,使数据可视化成为管理者和时间赛跑的助手,是快速打赢这场战疫的关键。 ② 大数据屏幕的设计需要掌握、分析和呈现动态数据的能力,以宏观的视野和细致的工匠的心,使冷数据产生温度。它包括图表的科学运用、色彩的运用、数据层次的控制和视觉层次与功能需求的完美融合。 ③ 我们运用专业知识可视化疫情。对于疫情决策者和监管者来说,通过大数据可视化屏幕掌握疫情发展,可以更直观地了解全局信息,有效节省决策时间。

二、疫情可视化

湖北疫情监测中心

在这里插入图片描述

① 主要框架

整体是基础 Python Flask Echarts 湖北省疫情监测系统建设。使用的技术包括但不限于:
Python网络爬虫
Python 与 MySQL 数据库交互
使用 Flask 框架构建Web端
基于 Echarts 数据可视化显示

② 数据爬取


③ 疫情可视化模块(疫情监测模块)


采用相关图表 Echart 官网 option
Ⅰ. 全国累计趋势折线图

相关js的option代码:

var ec_left1_Option = { 
           tooltip: { 
             trigger: 'axis',        axisPointer: { 
            type: 'line',    lineStyle: { 
             color: '#01ecee'    }   },     position: function (pt) { 
               return [pt[0], '10%'];     }   },   title: { 
             text: "全国累计趋势",     textStyle: { 
               color: '#ffffff',     },     left: 'left'   },   toolbox: { 
             feature: { 
               dataZoom: { 
                 yAxisIndex: 'none'       },       restore: { 
        },       saveAsImage: { 
        }     }   },   xAxis: { 
             type: 'category',     boundaryGap: false,     axisLabel: { 
            show: true,    color: 'rgba(255,255,255,0.65)',     },     data: []   },   yAxis: { 
             type: 'value',     boundaryGap: [0, '100%'],     axisLabel: { 
            show: true,    color: 'rgba(255,255,255,0.65)',     },   },
  dataZoom: [
    { 
        
      type: 'inside',
      start: 0,
      end: 10
    },
    { 
        
      start: 0,
      end: 10
    }
  ],
  series: [
    { 
        
      name: '全国累计确诊(当日)',
      type: 'line',
      symbol: 'none',
      sampling: 'lttb',
      itemStyle: { 
        
        color: 'rgb(1,236,238)'
      },
      areaStyle: { 
        
        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
          { 
        
            offset: 0,
            color: 'rgba(69,221,162,0.7)'
          },
          { 
        
            offset: 1,
            color: 'rgba(255,255,255,0.6)'
          }
        ])
      },
      data: []
    }
  ]
};

Ⅱ. 湖北省累积趋势折线图

相关js的option代码:

var ec_right1_Option = { 
        
	tooltip: { 
        
		trigger: 'axis',
		//指示器
		axisPointer: { 
        
			type: 'line',
			lineStyle: { 
        
				color: '#01ecee'
			}
		},
	},
	legend: { 
        
		data: ['累计确诊', '现有确诊', '累计治愈','累计死亡'],
		right: "5%",
		top: "10%",
		textStyle: { 
        
			color: '#ffffff',
		},
	},
	//标题样式
	title: { 
        
		text: "湖北累计趋势",
		textStyle: { 
        
			color: '#ffffff',
		},
		left: 'left'
	},
	//图形位置
	grid: { 
        
		left: '4%',
		right: '6%',
		bottom: '4%',
		top: 100,
		containLabel: true
	},
	xAxis: [{ 
        
		type: 'category',
		//x轴坐标点开始与结束点位置都不在最边缘
		// boundaryGap : true,
		axisLabel: { 
        
			show: true,
			color: 'rgba(255,255,255,0.65)',
    },
		data: []
	}],
	yAxis: [{ 
        
		type: 'value',
		//y轴字体设置

		//y轴线设置显示
		axisLine: { 
        
			show: true
		},
		axisLabel: { 
        
			show: true,
			color: 'rgba(255,255,255,0.65)',
			fontSize: 12,
			formatter: function(value) { 
        
				if (value >= 1000) { 
        
					value = value / 1000 + 'k';
				}
				return value;
			}
		},
		//与x轴平行的线样式
		splitLine: { 
        
			show: true,
			lineStyle: { 
        
				//color: '#01ecee',指示器颜色
				width: 1,//指示器线条宽度
				// type: 'solid',
			}
		}
	}],
	series: [{ 
        
		name: "累计确诊",
		type: 'line',
		smooth: true,
		data: []
	}, { 
        
		name: "现有疑似",
		type: 'line',
		smooth: true,
		data: []
	},{ 
        
		name: "累计治愈",
		type: 'line',
		smooth: true,
		data: []
	},{ 
        
		name: "累计死亡",
		type: 'line',
		smooth: true,
		data: []
	}]
};

Ⅲ. 湖北累计确诊(地图展示)
该模块用了 Echarts 的 hubei.js

相关js的option代码:

var ec_center_Option = { 
        
    title: { 
        
        text: '湖北累计确诊',
        textStyle: { 
        
            color: '#01ecee',
        },
        subtext: '',
        x: 'left',
        fontcolor:'#01ecee',
    },

    tooltip: { 
        
        trigger: 'item'
    },
    //左侧小导航图标
    visualMap: { 
        
        show: true,
        x: 'left',
        y: 'bottom',
        textStyle: { 
        
            fontSize: 16,

        },
        splitList: [{ 
         start: 1,end: 9, label: '确诊1-9人', color: '#4df8f2'},
            { 
        start: 10, end: 99, label: '确诊10-99人', color: '#54c9c9'},
			{ 
        start: 100, end: 999, label: '确诊100-499人', color: '#3db9b6'},
            { 
        start: 1000, end: 9999, label:'确诊500-9999人', color: '#1f8684'},
            { 
        start: 10000, label: '大于等于1000人', color: '#30867a'}],
    },
    //配置属性
    series: [{ 
        
        name: '现有确诊人数',
        type: 'map',
        mapType: '湖北',
        roam: true, //拖动和缩放
        itemStyle: { 
        
            normal: { 
        
                borderWidth: 1.5, //区域边框宽度
                borderColor: 'rgb(2,9,30)', //区域边框颜色
                areaColor: "rgba(100,215,250,0.6)", //区域颜色
            },
            emphasis: { 
         //鼠标滑过地图高亮的相关设置
                borderWidth: 1.5,
                borderColor: '#ffffff',
                areaColor: "#01ecee",
            }
        },
        label: { 
        
            normal: { 
        
                show: true, //省份名称
                fontSize: 13,
                color: "rgb(1,236,238)",
            },
            emphasis: { 
        
                show: true,
                fontSize: 20,
                color: "rgb(255,255,255)",
            }
        },
        data: [] //mydata //数据
    }]
};

Ⅳ. 湖北省各市累计确诊柱状图

相关js的option代码

let dataAxis = [];
// prettier-ignore
let data = [];
let yMax = 500;
let dataShadow = [];
for (let i = 0; i < data.length; i++) { 
        
  dataShadow.push(yMax);
}
var ec_right2_Option = { 
        
	//标题样式
  title: { 
        
    text: '湖北各市累计确诊',
    textStyle: { 
        
      color: '#ffffff',
    },
  },
  grid:{ 
        
    left : '16%',
    top : '17%',
    bottom : '10%',
  },

  xAxis: { 
        
    data: dataAxis,
    axisLabel: { 
        
      inside: true,
      color: '#fff'
    },
    axisTick: { 
        
      show: false
    },
    axisLine: { 
        
      show: false
    },
    z: 10
  },
  yAxis: { 
        
    axisLine: { 
        
      show: false
    },
    axisTick: { 
        
      show: false
    },
    axisLabel: { 
        
      color: 'rgba(1,236,238,0.65)'
    }
  },
  dataZoom: [
    { 
        
      type: 'inside'
    }
  ],
  series: [
    { 
        
      type: 'bar',
      showBackground: true,
      itemStyle: { 
        
        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
          { 
         offset: 0, color: '#83bff6' },
          { 
         offset: 0.5, color: '#188df0' },
          { 
         offset: 1, color: '#188df0' }
        ])
      },
      emphasis: { 
        
        itemStyle: { 
        
          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
            { 
         offset: 0, color: '#2378f7' },
            { 
         offset: 0.7, color: '#2378f7' },
            { 
         offset: 1, color: 'rgba(1,236,238,0.65)' }
          ])
        }
      },
      data: data
    }
  ]
};
// Enable data zoom when user click bar.
const zoomSize = 6;
ec_right2.on('click', function (params) { 
        
  console.log(dataAxis[Math.max(params.dataIndex - zoomSize / 2, 0)]);
  ec_right2.dispatchAction({ 
        
    type: 'dataZoom',
    startValue: dataAxis[Math.max(params.dataIndex - zoomSize / 2, 0)],
    endValue:
      dataAxis[Math.min(params.dataIndex + zoomSize / 2, data.length - 1)]
  });
});

该模块展示完毕。

④ 便民信息可视化模块(检测信息模块)


Ⅰ. 地图模块

相关js代码:

var map = new AMap.Map('container', { 
        
    resizeEnable: true,
    center: [114.338783, 30.348732],
    zoom: 15,
    viewMode: '3D' //使用3D视图
});
AMap.plugin('AMap.ToolBar', function() { 
        
    var toolbar = new AMap.ToolBar();
    map.addControl(toolbar)
});

var marker = new AMap.Marker({ 
        
    position: map.getCenter(), //标记的位置坐标
    offset: new AMap.Pixel(-5, -5), //标记相对位置的偏移,对应style的left和top
    icon: ico, //创建好的icon,也可以在后面使用setIcon()方法添加
    zoom: 13
});

marker.setTitle("坐标点");
marker.setLabel({ 
        
    offset: new AMap.Pixel(10, 30),// 图标尺寸
    content: "您的位置"
});

var ico = new AMap.Icon({ 
        
    size: new AMap.Size(24, 30), // 图标尺寸
    image: 'static/333.jpeg', // Icon的图像
    imageOffset: new AMap.Pixel(0, 0), // 图像相对展示区域的偏移量,适于雪碧图等
    imageSize: new AMap.Size(24, 30) // 根据所设置的大小拉伸或压缩图片,对应style的width和height
});
map.add(marker); //将创建好的marker放到地图上面

Ⅱ. 疫苗接种率圆环图及每百人疫苗接种率

相关js的option代码:

#疫苗接种率圆环图
var bo_cav_1_Option = { 
        
  	title: { 
        
		text: "疫苗接种率",
		textStyle: { 
        
			color: '#ffffff',
		},
		left: 'center',
	},
  tooltip: { 
        
    trigger: 'item'
  },
  legend: { 
        
      orient: 'horizontal',
      bottom: '3%',
      left: 'center',
      textStyle:{ 
        
        color: "rgba(153,225,241,0.6)"
      }
   },
  series: [
    { 
        
      name: '疫苗接种率',
      type: 'pie',
      radius: ['40%', '70%'],
      avoidLabelOverlap: false,
      itemStyle: { 
        
        borderRadius: 10,
        borderColor: 'rgb(255,255,255)',
        borderWidth: 1.5,
      },
      label: { 
        
        show: false,
        position: 'center',
      },
      emphasis: { 
        
        label: { 
        
          show: true,
          fontSize: '40',
          fontWeight: 'bold'

        }
      },
      labelLine: { 
        
        show: false
      },
      data: [
        { 
         value: /填入数据/, name: '已接种人数', itemStyle: { 
         color: '#2fc7b4' }},
        { 
         value: /填入数据/, name: '未接种人数', itemStyle: { 
         color: '#ced350' }},
      ]
    }
  ]
};



#每百人疫苗接种率
var spirit = 'image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHUAAACUCAYAAACtHGabAAAACXBIWXMAABcSAAAXEgFnn9JSAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAABvgSURBVHja7J17dBPXnce/dzR6WH7IwTbYxPgBBJsAtgwJXcchCM5ZEtJwcHqaRxs4hXQh+4dT3O1hd9ukJ05LT/dsT4lTyO7JSbfrQHabbdqNE/qgTjcR5KTOsxjCK4QGGwgy2ARJtoSec/ePGUkzo9HLGj2MdTk62PLM6KffZ76/+7u/e2eGUEoxHduota0BQA+ATgAm0Z9GAPQD6K22HBnGDGxkOkIdtbb1AHgqwWYOAN3VliN9Baj5D7QPwDdS2GXrTAM7raCOWts6Abw6hV3bqi1HhmYKVGaa2dub5f0KUDOsUguA+inuvlpIrApQ86xZ0tzfXIB647UC1Hxr77m0zSi0Gwcq2bvO/K5b25nmYQrZbx4BLQfQf8Ch16d5KGsBav60fgD1JzwsBl3aqR7jxWrLEXsBan6otAfA6tDv37eVTOUwDvA14kKfmgdALZDVd094WHR/XpoqUMtMK+znZZlQ6EeHIZ19Cbd7yrx49uYJlGni2j4CoHMmlQdDjc3jftQU648HnXrc7tJhfZkX95T6sLQogFptEBf9Gpg03BulDP3vmTg7k7dKJXvXdQN4Zqr7064BUhin5tl4NB2gAI4WSg/5lyilGzLtBaR5BFUYvrQWkNwgUIWw+1QBx42lVLUyVXMBaR5AVTnsmoSixYxuOR3SkL3rGsDPnphUPKwDgJl2DQwXlJq7sGtS+ZgmAEMzWbE5UyrZu64TU1sZmEp7DUD3TFNtTqAKtd0hTH0hWartEIBe2jXQX4Ca2eQoF0OYESHk993I6s06VCE5OpcH3/2QALifdg3YC1DTg9qH1C6byEZ7UYDbX4CaOlALgLfy2B83RHjONlQrRMtT8rxN2+Qqa1CngUrjqbdXUK+9AHX6qlSpOQS4vfkONytQs1RoKMAVWrbKhL030IjBJIyxh4WlNzNPqdO4L02lz91CuwasM0mpPbixWz2At8jedb1C+fPGVuoMUGleqjbTSu3GzGoh1fbckErNoxpvLosXnbnIkDOp1B7M7LYagFVYVDf9lZroWpgZ1hwALLRrYGi6K7WzAFQyrs2qYjMFtbvAMndgVYcqGF5YaZ9DsExBpVkH25fpIkUmoHYW2MVtreCvv50eUIXZmEKClMRwJ5MFCrWVuqXAK+n2VKYWnKs2ThX6iWsFVim1EfCXiNjzVamWAqOUWz0yUHlTE2ohQZpa26H2MKcANT9ab95BFTr8QtabXjasWvel1n2U8rY/vcPviXrvOKuDk+Tdzd561PKjKtkv2btuCDksDS4J+NDh82Ae58fSgA9L/T6YKJdwPwdhcFyrwwWGxQWNFu/oDPiz1pBLsGvUWDWRNtRcDGXKKIf1Xjfu9bpwh8+TFMBU2js6A/6gK8bv9UZc1GT1pnCHaNeAJR+gdiJLa3of8kziXq8L673urHn5OKvDy4ZSvFxUkq2Q3Zbu3KsaVpozrcqdLjs+HRvBHudYVoECwNKAD7smr+Kj8Qv4mXMMtcFApj+yOx+UakUGLqcooxweczux3e1QPbym2142lOBfi2/KVGh2AGhIp8qUl0p9yDOJj8YvYKfrWt4BBYCHPZN464vPsdNlz8ThTemO+Zk0Vdqg5vi0NhjAq3Yb9jjHcFPJrLweWJooh52ua/jo6gXFYVOaLXdQ1VTpQ8LZ3+HzgKmsg/HBXWAbl+cEGNEZk952XjCA/ms2tVW7MZ2J9LyA+sPJq9jjHIOJcjzQjd8D0RnBNqzICVRty93QNt2ZfAXnlnbsdF3Dq3YbytTrLjqnJdQyyuFVuw2PuZ28MSKgAKBtXgWmoi7rULmrIzCs3Z40WMZUDcPa7ejwedB/zYYlAZ8aZlhyBbU8HaD912zo8HkUgYZa0drtWYdKhWFTsmC5qyPQNt0JbfMqLA341AKbM6ir0wG6VPjiTGmlItAQbMOabVmFGrx0OvxzMmDDJ8GabWAbV8AkfL80wdYLiWhOhjRpASV6I4rWd8dNTrTNq1Lq49RuicBy4+dF224DU1mnFlhzVqFOdapo18TVMFAA0HdsSqrfTKWPEzd9xyNgSiunoNZTUZ8fK2JQn1uSORet3Q6iN8JEOexxjqWTPJnzXqk7XXY87JmMZI2NK1ICZVi7Hbrb7k8tk21aBeMDu1JOuKhCOVLbvComWLFamYq6sJ1LAz7scY5NG6gpJUl3+D3Y6YpM5jCllTCsTb2v1N9+PwxrtiU1liQ6I4iefxU/uCulEygogpQMWOpzSX7XtdwNzdzFAID1Xje2Cxl+NhLRdKAmfRaVCWFIGhY3pTTIlzvWuPF7CdXHVNZFKV3f8UhyH+Jzx/18OVilk8CwdhuInv+OuyavTqV/XZ1tqCmE3WuYJ5rdYBtXpF0tYirrUPzgrrjhWFMZfedZXcvdKLpnR8ITKjg+kvDEEoNVCtdMaSV0LXdH8onJqxn1s8c22OCxDXZnHGptMBAuLoSy3aTVkmQ4Ln5gFzRzFR6EHAMc27iCV3qcBIpOjCcVMUJguavKJ4HutvvDn9Ph8+AhUU6RZELakATMco9tsAf8PZQ7Mw51z8RYlFKmko0mUq1x4/dQdM8OybHZm5vj7xMngeKSgCoGS+PM8+o7NoV//kdXyotEGhIA3QL+Au+nIEyuZBRqaO2QWKVaUThSu7GNK1C8aTcMa7aBKa0EKa2Kr4IECVQqYHVxvhfbuDycNM0LBlJWawyYZo9tcAjAf0I6UzbECHG4IRNOfsztUC05SjWRKt60O+mIECuBohNjKZ1QibqJNNQqD7W9AI5AebGfnRHkfc5jG+zz2AbL1XJsGeUkY1KmtDKnVaFETSmBijWsmUrTzG2WqPWeKSzL8dgGLUK/uSPOZnZGiMcAf7fsYaHDTbs9fF0aYjIZdtUM3+IEiqq8Hkocor/mmZiKOt9C4odJDDGGmvZh0RsmAE95bIPDHttgZ1pQRUYTvRHa5lVxyjc0uVcWmjiBCme0KtnHNi4PnzDrve6kyodfq2tdCMCaQJ3iNhwrUaoH8KrHNtg/lf62NhiQ1Hd1LXdH96VTgZUlwERvRPEDPwTbsFx1+3S3fyVSZfMlXgazud7cixQWyhtq2sNQYz1MdiOAIY9tsFtJ5rEO3CFbs8M2rUoeSrJnfyYAy46pbVqlun1s4/JwlanDfz2hSWtmzy9O4RscEg9p7HE2NAF4xmMbtMoSqZj7LA14Jf0UU1Kh7ACJg8C/QKSv0PuUIuZy1nThxto/A/YRnTGcKXf4Ulyw5k+45nhIDHUoyTpkUn2tOPRqF92p8B1DX1JwDCFRvop+EZCwE2M4cCpgFfbJtH2hhGlpglpwnTGiIc4xCf9nF1OCOpykC0xCX9sb70Ke8BKVkkpJjZcKZzwJOYp/N2ECcnH4HM6cOImLI+dkDlRwXjzFJFCn3L6r42M4c/Ikzpw4kWSiRJOyj8yaF55siFfkry/moVK3B953joAxlST6VlYgcinjUIrn9w6PbdBCQJwUtEw+Po0akIdCD4QzPhTOFJVChHjG/7/v+efx3tuH+V8BLGy+FX//D99GkbGEdx4VHUM4UUjouOETJ4E6Fez79b59ePOPB4VjAbX19eh+4kkUGYsl9sVJt+Lap120Ct7x/4q7WL3VVA34A/C+fxxEy0JTHbeYcjQ0kmGmCBUAWldW1Oriht7mOyNhLORgpUSDRl403H9R/O5/f4P33z4s2ebsqZP43a9/E1E4RP1csgqN+l1q39EPP8BbBw8KQPi3L46M4PnduyX2UZHd0REgvn2hCBavX603lMHzzhCocxKauppE36wvPCwT0mB7nAyY76M/iY7Qt5RUxLyYk6moAzNrnuAwRH9RsUMER1BKQUTArQcPil0Sbm/98aDUeaGwJwebCHIYqNS+N0WfC1F3evb0KXw+MqwcejkqBZzAPqa0MuF88K1Xg6DOSYDVQDu/NhHUfglUcTyO1YK2cQQujEqlWl6tUA/TCsOBO6UOi1ImD5FSitA/yXuUwuN2S2CK85IzJ09KwdEkwEb9rGzfX0+dCn8uodLPd0+6wvZF+kzhG4Rs5xS6FwX7FIdMotY+zodmdsE8QBv3YqxD4iJS0lDZBbXwHzmN4Ghk5qLFFB0SiKEEoOBX1xNEweS/sAARsuFCjDEgUVBrRWVVRPhKjosXdpWAiuybVVkZ+7MV7KRi+wWaoTAdz754CwU6CJ8kkSJ9MiqVlHYZUSWiH/xldMpQqysBVgPfX06Bc/B13buqootNTJGJDy1lldEOE37mVSlyBCcKX1zk99p5dSBU6lQCYFZFJWZVVkSGHnLHxVOoJB9Ttu+W5sVRnxl61dbVSmwM2yyyhYTUm8A+prQSmjkLFP19JykHWA10K5clo1KrIlR5XI5qWhaamiogEIT3nSNhsC0mWQjW6qFdskaWPEQcRiD6khwncgbHv0Sd7fqNnYrh96uPPCJ0UxFVSBQR+iQFwDSk0jj23dv5FRQZjfzniU6qezZ2oqjIKMvsOGmfynGioVFi+yZMcxTdfS9TBe2yW5IZxkRNwDCxMihFrk0NAKsBAkH4jpwG/IEotb49PgJ2/u2SpEjssPCXk4csmUrBUSw1t+GbXY+HFVs7rw5/17UDy9qWR1QBCknAFY0XSbxhSxz7ZlVW4Fv/9F20mJeDEOCmigrc//DXsX7DRol9NKxWMWBIVZvAvmMKM0FlhMVtFgvYedWJgD4rVymfB8hCkzCb3hovCw4ImTApK8EbC4rw4Pu/kmxz/f6nopMisULlMOVhWR4lCRG6IiJKSUlkoK/wXsSNVCxIHipo3tj3pTf/HccclyXH3DSvFS+s/EoioCMAzMLIJa5SgQR339I2NYCp4FdPUOck1l2KHjwfHh9OyWGhzBFcrCREllQhOqGiMlUGvNdx6aP38PEv9+PM738Lj8PO93VEGnZzZV/oHTlQANiceKWlA0CnElBFqIaa9r5QtT9W069cBlLGx3pudBxfNt4s+fsx+6jEb8oDc1FJjxP3q5AmIUKfxf9J7jhxZKXhvizg9eLjl/fjszffgOPiCK6cPIpzb74R3ZfmyL6wn5yjivVepQRUBtRiqGmPWTCKNZ/aHfc80bIwdJjDYNd7SqX1KsdotOfCYV7mMPngnRMlSxwn6ns5IMpxkCpMaJ+9OQDXlSuRAEkpNHqDtNacQ/vCEe3KsNL8aaKpNXM8oDGhCjs9nRDs6hVgmxpwn0ypB2yno8Zt8moLhWxaCzG2lTiPd5xoAIgoOpRi7MSxyN8IMHtJKxatv08x9ObCvtBnHB6PfsDW5oY2xbougK2GmnaLbKVKSkqFoaa9J1HpMNTHzlm3ChtqImtsHX4vjjlGlepy0jM4/L/SeE+kEHHBIJRBywsBMWLq3LbbeaAgSZQOs2efw+/BAdsn0gSp3oz6IlMoxB4ShNVmqGk3C91iUi3Rul9LMmCVwsb+80dFJ7i0EEBlWWV00UBh1QCBgnIgmjER9fllkWWwprr6eAhzYh8AvC4DCgAvf3Zk+bs3dzCGmvZyQZU9iUJtylCF7MoC4MVEhfENNc2SSd19F4YUx4lSb5LoaTgiSmaIOIGR9ns0TtVo8f1fham2HrNvbUHFLU0KfiXRb2XRPv6kj2J1aKj7T1OZLUtZqTDUtNsNNe1bAKxJlBWL1er0e7H/wtHEsyREoXQnfkNxvlWxuhuOksVV1Vj28CYsuve+WGkuSLKrIjJg34jbjrdlF2BpOPo0VGpJX3ZhqGm3GmraLQDaADwrDH4l7fGFfyP5fdfpQ6lZk51VoLFcnjX75H5hKPad3fEna9ahijNjQ017t6GmvcFwcwdDg9xa6g+sRSCwtozRPdpoLB8IbXv+uiNKrRK/kOhxY7jiQoTKT2jyOlyJoYgU36L3JUnSoTEYZdq+8247XpL6xFHsU0+lQJp35rYCuLVulVUHQFOzklwqcxxyPnrzYRg1Z0Pb/OiTw9hc2yI4iIqKdwQAF3EEhXR1BES/y5alhH0tfp+QlIQZVUTMkn07jw/IVfrs6Z+eGPapCDXtq97GwK8VnQC/Iv/Pz50dZij2idX6ozNvi6REQMU10JAHCJE6SfIzJNtQSWGepBYyFQBE3susfYfHR3BgVJL1joy+MPo0bKLhhgq3SlfvUkabHRzDgGVZLL3s+Y54bvZHZw7j2MRlSYgMF7mVQljoxYgcxjDSArncqZAVzaO4UkWpUrl0M2Sfw+/B9iOvS4deAfroBMPgKiZgBLAkH5RqoZRWATACuIoJ6HU6GAjBb188Z2c5+gPxttuGDsjCFeE/nQjOYBgF1YW2Y8JnPREvHIISWJEEhTtpE8iGjlKZRqs4A/btOnMY5687xGH3B5f+bcQ6cQkoxSTG8in8zhZCcCkmKTfKIMiylDIMPfnj4z8jwOHQdh87L2PnyQGJFIjccQT82c8wojM/ohCeEZEpR2pPwOuRqZEK6pGGzqufnoHHYVdMctS2b/+Fo3jus/cjVTiKE5d2f/qDMYZB1fUr4dPNmi9QxYYYXaOgDAMty4LVaDDLFXiUAQlf/vbcuQ+w//NjUY4jjEhZktXwDAjDKM9JylfPg8B58Tw+fGFvBKy8jk546B+/vB+nXnsFH/38OXidjlAPKJsPVce+YxNXsPNEJDkyBYGjQxptRdvC8lk6HeyTE+H76lhUevBe2lAlIXjShoBXB71GQzUaDR3sPTWiC3Bbxds/dvS3OPzFeVnnxSuJMLwSiPACA1ACXmWEifRhiPRp4nVExbPn8NNu//MSAj7+eh7CMJK+9bP/ewOOC+fDww4eKv85kv5SBftGPA7c/ed9cPoj1xb1n9Zg8XVmUdCo2++4wsKISfq5iv2paolSJASDGq5cwSTLQsuyKNJoMPwvp19jOfxQvP2DH74iJE7ihIN3DBHFNAICogQztE84xPIZK2swYPaSVriuXMGHz+/B5RNHw6r1OOw43f9rXDkurcTpTSYhNBPh0CIlpmGfI+jFgx+8AocI6C/OMrA4eLv1FOvnr55jLleIeGmXVtRQvJUQcqvw82WAFM9vRbnGDb/fTxxeL/EHdKT1+4v+I0iwObRPGavHwB2b0VI6R1oojzXQlGWg4SW0gopCkvU4HRh68ecIeL3Kox0aqfrOXX475q/9W8miMMk6KkC2fjc5+0auO/DQB6/gmDOyqmGHjUHvOUZSIemuDz637cd/fHwJf3yaV1CFBIScAFAMQIcSol3WCKfbTbR+P1i/n7hICVn8zw1SsFo9fnLrOmye1yJxdswCghgsEA6LkRjMK8g1NoqPf7kPAZ8vZk13/tp1mLtipaQgL1nxCIU1u0nYd8x5GetkIfcbVwj6zmokQCmlWLA8iAs6bu2nO/5kbchHqGK1ugFyzbgQhnotdD4f0fl84AIBMhkgpPX7SyRgAeCJRXfhiaa7FGczpFUZEUwIC76IfDs+iw34vLj04Xu4fPxYuN/Ul5lQsbAJc1eshMFULi3QC+uNSHj6TSnTim/fgcufYNuR1xMCBaU4WgK0LQsABA7KPxh3OP+UCmCYEOICcDOACYCML2yDQeuBzucjQb8fPr+fGDkOi55o+YUc7KqKevxq5QMwaQ3RU1uyX4hcsTKgiFVCjLdKH9Ehl1KqXJZSsG/n8QHJsCUeUArgm7dw6KvkQknaUdo1YM5LqOIwzIMtIeNzboFhFg+2JBjEpN9PuGAQi7+79FtBhvxUvKtJq8cLbRtxX3WTAlOiXMtVWg4aryacLNio/lSZ6THHKLYdeV3SfwLAM+cYdNuYKKAA4GAJGtv8sLNC1s23Z2nXQHdeQu0jhGwBcEKsWONC1M4uwjWtB2wwSAKBAILBILntO82r3VrmN5A922ZDdRN+suxu1Ism3RUrRpLqeRJABfWRGImTTKZxa8gOvwe7Th/C3s/ek7xvCgK95xhsuaKRzRxQoTxM8GIVh60LgmKgoZYfT2WMFYYbRGDtALwoIZ6qBdBV+qAJBMAGg6SY49Cxtb6cM+r+cM6A2+XH6VrwJTzZvJoPyUrAaGQijcgBxpu1iXnpPlGuKYq2d/g92PPX97D3r+9KhisA0Oriw63ZJS1bUiq1b35bAOcMin5X5cHzGYEqD8VVfPKECYDoUANP1WzMrebwhc+HRW3zzYSQN60matqyMIgRvdQek1aPDTXNeHKxBfXGmyTdpiLMREDjwI2omEBeNHb4Pdhz9l1FmKEhS89FDcoDsWECwGuzOHQ2BeNZ9RrtGujMX6iCao1CcSIEFwBxowZN9y8r1xjYv4BE7uLVMy+I3hoODk30sTbUNGPD3CZsqjMrw0wFaALVhoLyAdsneP3SabwUvaYIAFDv5dVpcZKoMKvU1iwJwFqW0OdpheGMQ1WCCyEsl3/93rcopatlM5ywa4HemthwTVoD7qpswIa5zbirqoHvewlJz8BQEuP34PDYMF63ncaBS6fhiPEcN1MQ6L7EoOcCI02e4thxqIzCsiSpR3WmFYazBlXe3+Jr93aDYHfCxKuKQ99sDofinN11xnK0llejxVSNu6oaASDRpQsA+MtD7H4PDo+dw4jbjmP20RjrlWUwbQy6bdJQq3ieyFKwJFUaak/TroGeaQEVAPDIlxvA3zwk6Sc6Dusp+mdR9FVxOFqcms11xnLUF5fD4fMkhBar1XsJum0MtowxcWHGqjuloFJxa5xKUYJFbtoWOdAEN69Bg5eg28Y7dlhPYS2jsJr4/+XJlbydd9tx3p16JGt1EXReI+j8gkGri8S0lSD2yEucK0yh9Qi+yn+lPv7kPd++bZLsNruJxFlTbXYWGDJSDBVT2FmKISNgZynsGiRU9WohwSkPEJjdwv8uEkl8VGhJZLyqqjXrUIUb/YdDb3kAMLsJLA4GFifvUFMQN1RrXB7AsH7Kfn6Rdg1syXeoViR43orZRQTQ/P9qqDlX7elabqqhN1zvQIrPKM8qVLJ3XTeAZ6ayr8U5/dQ8oqcwtwRgTz9z2Uq7BvryLlESHsfcM9X9rWUU1rKgopotToJ6b/6pubuBUwMowF+kln9Qwd9LQrWH0g8V84lRn/CUkvIAYHHySrY4cx+yX5vFoX+Wao+ybkhJQNkIv0JydC6bTpUnYKud2YOsYtiNDKO6Bki+KbUn20qxs9EhW9wvZxJyZ1NQVaBQuMIwp1CFvvQb+dDHZQPy1oVBDBWrHv2s+VZR2oI8bbEgm92AxcGknGFvXRhEXxWntpmOVCPdjIYaH3IwnGGbXfwrlpodGqC7MWNALXlVUcpFgpTpZnYRlAd5JQPAsIGi/yZO7T4U4G+gsoV2DQylumOmlWrBDdZC/aU4bGdAnb1TnXbLBtQGFFpKMAWg9nQOlGmo5gKrpIYrvQD60oWZLai9Qgg2FdhFqbJfUOWQ2gfPeEVJGKd2Cy/TDFdkP4B+Ndb25hSqDHAngNDLNAPUaBVAWtW8ViavoMoAW4TQbEGC+dVp0o6Cn/y3Zhti3kCNA9ksZM2teQzwEPjn4w0BGMp0OJ22UOOALhdAm0U/m7IEDoLy7ALA4Vwq8IaAmkQCFhoylacxfAoBAwB7JrLRbLf/HwBxI17fueoAtgAAAABJRU5ErkJggg==';
var bo_cav_2_Option = { 
        
  title:{ 
        
    text:'每百人疫苗接种率',
    textStyle: { 
        
      color: '#ffffff',
    },
    left:'center'
  },
  tooltip: { 
        
    formatter:'{b}每百人接种率: {c}%',
    trigger: 'axis',
    axisPointer: { 
        
			type: 'line',
			lineStyle: { 
        
				color: '#01ecee'
			}
		},
  },
  xAxis: { 
        
    max: 100,
    splitLine: { 
        show: false},
    offset: 10,
    axisLine: { 
        
      lineStyle: { 
        
        color: 'rgba(153,225,241,0.6)'
      }
      },
    axisLabel: { 
        
      margin: 10
    }
    },
  yAxis: { 
        
    data: ['中国', '全球'],
    inverse: true,
    axisTick: { 
        show: false},
    axisLine: { 
        show: false},
    axisLabel: { 
        
      margin: 15,
      color: 'rgba(153,225,241,0.84)',
      fontSize: 16
    },
    },
  grid: { 
        
    top: 'center',
    height: 180,
    left: 70,
    right: 100,
  },
  series: [{ 
        
    //实际数据
    type: 'pictorialBar',
    symbol: spirit,
    symbolRepeat: 'fixed',
    symbolMargin: '5%',
    symbolClip: true,
    symbolSize: 30,
    symbolBoundingData: 100,
    data: [{ 
        'name': '中国', 'value': 53.02}, { 
        'name': '全球', 'value': 26.83}],
    markLine: { 
        
      symbol: 'none',
      label: { 
        
        formatter: 'max: {c}%',
        position: 'start'
      },
      lineStyle: { 
        
        color: 'rgba(153,225,241,0.84)',
        type: 'dotted',
        opacity: 0.5,
        width: 3
      },
      data: [{ 
        
        type: 'max'
      }]
    },
    z: 10
  }, { 
        
    //对比数据
    type: 'pictorialBar',
    itemStyle: { 
        
      normal: { 
        
        opacity: 0.2
      }
      },
    label: { 
        
      show: true,
      formatter: function (params) { 
        
        return params.value + ' %';
        },
      position: 'right',
      offset: [10, 0],
      color: 'rgba(153,225,241,0.84)',
      fontSize: 18
    },
    animationDuration: 0,
    symbolRepeat: 'fixed',
    symbolMargin: '5%',
    symbol: spirit,
    symbolSize: 30,
    symbolBoundingData: 100,
    data: [{ 
        'name': '中国', 'value': 53.02}, { 
        'name': '全球', 'value': 26.83}],
    z: 5
  }]
};



#全球疫苗接种率圆环图
var bo_cav_3_Option = { 
        
    title: { 
        
        text: '全球接种疫苗比率',
        //subtext: 'by Krystal',
        textStyle: { 
        
            color: '#ffffff',
        },
        left: 'center'
    },
    tooltip: { 
        
        trigger: 'item',
        formatter:'{b}:{c}剂'
    },
    legend: { 
        
        orient: 'horizontal',
        bottom: '3%',
        textStyle:{ 
        
            color: "rgba(153,225,241,0.6)"
        }
    },
    series: [
        { 
        
            name: '全球接种疫苗比率',
            type: 'pie',
            radius: '50%',
            itemStyle: { 
        
                borderRadius: 10,
                borderColor: 'rgb(255,255,255)',
                borderWidth: 1.5,
            },
            data: [{ 
        value: 763065000, name: '中国接种', itemStyle: { 
         color: '#ff5858' }},
                { 
        value: 2091617616, name: '海外接种', itemStyle: { 
         color: 'rgb(7,214,252)' }}
            ],
            emphasis: { 
        
                itemStyle: { 
        
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }
        ]
};

该模块展示完毕。

⑤ 学生信息可视化模块(信息服务模块)


Ⅰ. 我校学生实际返校占比圆环复合图(双圆环图)
相关js的option代码:

var students_Option = { 
        
  title: { 
        
    text: '我校学生实际返校占比统计',
    left:'center',
    textStyle: { 
        
      color: '#ffffff',
    },
  },
  tooltip: { 
        
    trigger: 'item',
    formatter: '{a} 
{b}: {c} ({d}%)'
}, legend: { bottom: 5, icon: "circle", textStyle:{ color: "rgba(8,202,222,0.63)" }, data: [ '信息工程学院', '经济与管理学院', '人文学院', '艺术与传媒学院', '继续教育学院', '国家教育学院', ], }, series: [ { name: '各年级实际返校占比统计', type: 'pie', selectedMode: 'single', radius: [0, '30%'], itemStyle: { borderRadius: 10, borderColor: 'rgb(255,255,255)', borderWidth: 1, }, label: { position: 'inner', fontSize: 14 }, labelLine: { show: true }, data: [ { value: /填入数据/, name: '大一' }, { value: /填入数据/, name: '大二' }, { value: /填入数据/, name: '大三' }, { value: /填入数据/, name: '大四', selected: true } ] }, { name: '各级学院实际返校占比', type: 'pie', radius: ['45%', '60%'], itemStyle: { borderRadius: 10, borderColor: 'rgb(255,255,255)', borderWidth: 1, }, labelLine: { length: 20 }, label: { formatter: '{a|{a}}{abg|}\n{hr|}\n {b|{b}:}{c} {per|{d}%} ', backgroundColor: '#F6F8FC', borderColor: '#8C8D8E', borderWidth: 1, borderRadius: 4, rich: { a: { color: '#6E7079', lineHeight: 22, align: 'center' }, hr: { borderColor: '#8C8D8E', width: '100%', borderWidth: 1, height: 0 }, b: { color: '#4C5058', fontSize: 14, fontWeight: 'bold', lineHeight: 33 }, per: { color: '#fff', backgroundColor: '#4C5058', padding: [3, 4元器件数据手册
IC替代型号,打造电子元器件IC百科大全!

相关文章