当前位置:首页 > 技术分析 > 正文内容

给大家开源分享上一回基于JS、ECharts的可视化大屏

ruisui884个月前 (03-09)技术分析17

上一回我发了一个可视化大屏的效果视频,很多小伙伴都问我能不能将代码分享出来。鉴于小伙伴的要求,我考虑了一下,现在决定将这个可视化大屏的代码分享出来。新来的小伙伴也可以去我的主页中看我发的效果视频《漂亮的自适应可视化大屏,基于js、echarts插件》

效果图如下:

漂亮的自适应可视化大屏,基于js、echarts插件

那么我接下来也给大家分享一下这个可视化大屏的制作过程。

准备工具:

  • Sublime Text编辑器;
  • 百度ECharts图标插件;
  • 浏览器。

页面布局规划:

首先可以将页面先大体分成两部分,包括看板的顶部标题部分和图表内容区域部分。然后再将图表区域部分再次进行模块划分,此次划分的目的是划分图表的主次布局效果。最后就是将具体的图表展示在各个模块中。

看板布局规划

顶部的标题我用到了图片作为背景,这样看起来显得更加有科技感;然后标题区域的元素通过定位的方式放置在相应的位置,添加插件可以根据需求来做取舍。

主内容区域的布局大家可以通过弹性布局来实现左中右布局,这样可以避免采用浮动而带来的不必要的麻烦。中间的大框作为主要内容模块的区域,会在这个区域中展示看板的主要数据;左边的两个框是展示一些稍微次要的内容,剩下的区域则是展示次要内容。这样通过模块的大小即可分出主次,看起来也更加明了。

各个模块规划好了以后,就开始美化面框,突出内容。首先可以给各个模块添加背景色,然后添加文字标题,标题样式可以结合图片来做。再加上一些动态的特效作为装饰。

给主内容区域也加上装饰。

看是进入正题,给主内容添加数据。

接下来就是给左边的两个模块添加图表,这里用到的是柱状的排行图表和自动轮播的饼图。排行图表也加了定时可以自动滚动数据。

其他的次要模块也都加上图表,同时加上一些动态效果。


大家要注意,ECharts的水球图还需要在引入水球图的插件(echarts-liquidfill)才能渲染,否则会报错。

制作一个漂亮的看板大致的流程就是这样的,主要的相关代码如下:

<script>
		(function(){
			window.over= function (){
				let dom=document.getElementById("animation-img");
				if(dom.className.indexOf("animation-img")!=-1){
					dom.classList.remove("animation-img");
				}
			};
			window.out=function (){
				let dom=document.getElementById("animation-img");
				if(dom.className.indexOf("animation-img") === -1 ){
					dom.classList.add("animation-img");
				}
			};
			let ChartC2=initChartC2();
			let ChartR2=initChartR2();
			let ChartR3=initChartR3();
			let ChartL2=initChartL2();
			let ChartL11=initChartL11();
			let  ChartR11=initChartR11();
			let  ChartR12=initChartR12();
			let  ChartR13=initChartR13()
			window.onresize = function () {
				ChartC2.resize();
				ChartR2.resize();
				ChartR3.resize();
				ChartL2.resize();
				ChartL11.resize();
				ChartR11.resize();
				ChartR12.resize();
				ChartR13.resize();
				var isFull=!!(document.webkitIsFullScreen || document.mozFullScreen || 
			        document.msFullscreenElement || document.fullscreenElement
			    );//!document.webkitIsFullScreen都为true。因此用!!
				if (isFull==false) {
			        document.getElementById('out').style.display="none";
			        document.getElementById('full').style.display="";
			    }else{
			    	document.getElementById('out').style.display="";
			        document.getElementById('full').style.display="none";
			    }
		    }
		})();
		//fullScreen()和exitScreen()有多种实现方式,此处只使用了其中一种
		//全屏
		function fullScreen() {
		    var element = document.documentElement;
		    if (element.requestFullscreen) {
		        element.requestFullscreen();
		    } else if (element.msRequestFullscreen) {
		        element.msRequestFullscreen();
		    } else if (element.mozRequestFullScreen) {
		        element.mozRequestFullScreen();
		    } else if (element.webkitRequestFullscreen) {
		        element.webkitRequestFullscreen();
		    }
		}

		//退出全屏 
		function exitFullscreen() {
		    if (document.exitFullscreen) {
		        document.exitFullscreen();
		    } else if (document.msExitFullscreen) {
		        document.msExitFullscreen();
		    } else if (document.mozCancelFullScreen) {
		        document.mozCancelFullScreen();
		    } else if (document.webkitExitFullscreen) {
		        document.webkitExitFullscreen();
		    }
		}
	</script>

此看板的代码已在github开源,需要源码的小伙伴可以关注我,然后私信给我发“看板源码”,即可获取相关源代码。

写代码不容易,希望小伙伴们点个赞。如果各位小伙伴想和我交流技术的,欢迎大家来找我。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/2646.html

分享给朋友:

“给大家开源分享上一回基于JS、ECharts的可视化大屏” 的相关文章

Vue3 中有哪些值得深究的知识点?

众所周知,前端技术一直更新很快,这不 vue3 也问世这么久了,今天就来给大家分享下vue3中值得注意的知识点。喜欢的话建议收藏,点个关注!1、createAppvue2 和 vue3 在创建实例时,有很大的区别,具体对比如下://Vue 2 Vue.use({ router, store,...

gitlab简单搭建与应用

一、gitlab1、简介GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。与Github类似,GitLab能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历...

虚幻引擎5.5现已发布 手游开发、动画制作重大改进

Epic在今天发布了虚幻引擎5.5,现可通过Epic Launcher下载。此版本在动画创作、渲染、虚拟制片、移动端游戏开发和开发人员迭代工具集等方面做出了重大改进。 官方博客:虚幻引擎5.5现已发布,在动画创作、虚拟制作和移动游戏开发方面取得了显著进步,渲染、摄像机内视觉特效和开发人员迭代等领域的...

三勾知识付费(PHP+vue3)微信小程序平台+SAAS+前后端源码

项目介绍三勾小程序商城基于thinkphp8+element-plus+uniapp打造的面向开发的小程序商城,方便二次开发或直接使用,可发布到多端,包括微信小程序、微信公众号、QQ小程序、支付宝小程序、字节跳动小程序、百度小程序、android端、ios端。软件架构后端:thinkphp8 管理端...

一文看懂企业微信开发简易教程

为让开发者快速理解开发流程,本篇章展示如何一步步设计一个能与企业后台互动的自建应用。添加自建应用登录企业微信管理端 -> 应用与小程序 -> 应用 -> 自建,点击“创建应用”,设置应用logo、应用名称等信息,创建应用。创建完成后,在管理端的应用列表里进入该应用,可以看到agen...

微信企业号首款永久免费应用问世

7月14日,微信企业号移动办公应用领跑者——办公逸宣布:其所研发的微信办公应用将永久免费,企事业单位只要拥有微信企业号都可以免费安装办公逸各项应用,此举标志着微信办公免费时代现已到来!据悉,办公逸(www.bangongyi.com)现已推出四大微信办公套件,分别为:移动办公管理套件、客户关系管理套...