Echarts图表可视化大屏显示

效果图:

源码gitHub上的地址:

在线效果:https://wanghongzheng.github.io/visualizationChart/visualizedCharts.html

源码:https://wanghongzheng.github.io/visualizationChart/visualizationChart-master.zip

CSDN下载地址:https://download.csdn.net/download/yb305/18697862

参考别人的截图做的。

一、页面布局

1.页面总体布局,先将界面分成header(头部)和container(内容)两个部分,头部显示标题和当前时间,container(内容)显示可视化的echarts图表

<html>
<body class="contains">
	<div class="header">
		<div class = "title" >数据可视化-Echarts</div>
		<div class = "time" >当前时间:<label>2020-05-27 08:36:58</label></div>
	</div>
	<div class="container">
        内容部分
    </div>
</body>
</html>

2.container(内容)部分采用百分比布局,填充除去头部高度的剩余空间,用height:calc(100vh - 80px)来设置高度的。

<html>
<head>
<style>
	.contains{background:#000a2d;height:100%;width:100%;font-size:12px;margin:0px;padding:0px;}
	.header{height:80px;background:red;margin:0px;padding:0px;}
	.header .title{display:flex;justify-content:center;color:#fff;font-weight:bold;font-size:2.8rem;align-items: center;height: 100%;}
	.time{margin-right: 10px;font-size: 1.8rem;margin-top: -4rem;color: #fff;float: right;}
	.time .label{font-weight:300}
	.container{height:calc(100vh - 80px);width:100%;color:#fff;text-align:center;font-size:30px;}
</style>
</head>
<body class="contains">
	<div class="header">
		<div class = "title" >数据可视化-Echarts</div>
		<div class = "time" >当前时间:<label>2020-05-27 08:36:58</label></div>
	</div>
	<div class="container">
        内容部分
    </div>
</body>
</html>

3.利用bootstrap栅格化布局,将container(内容)部分分成三列

<html>
<head>
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">  
<style>
.contains{background:#000a2d;height:100%;width:100%;font-size:12px;margin:0px;padding:0px;}
.header{height:80px;background:red;margin:0px;padding:0px;}
.header .title{display:flex;justify-content:center;color:#fff;font-weight:bold;font-size:2.8rem;align-items: center;height: 100%;}
.time{margin-right: 10px;font-size: 1.8rem;margin-top: -4rem;color: #fff;float: right;}
.time .label{font-weight:300}
.container{height:calc(100vh - 80px);width:100%;color:#fff;text-align:center;font-size:30px;}
.item_left,.item_center,.item_right{height:100%;}
.item_left{background:green;}
.item_center{background:gray;}
.item_right{background:blue;}
</style>
</head>
<body class="contains">
	<div class="header">
		<div class = "title" >数据可视化-Echarts</div>
		<div class = "time" >当前时间:<label>2020-05-27 08:36:58</label></div>
	</div>
	<div class="container">
        <div class="container">
			<div class="row">
				<div class="col-md-4 item_left">
					一列
				</div>
				<div class="col-md-4 item_center">
					二列
				</div>
				<div class="col-md-4 item_right">
					三列
				</div>
			</div>
		</div>
    </div>
</body>
</html>

4.将第一列分成三行,其他列的布局实现类似。

<html>
<head>
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">  
<style>
.contains{background:#000a2d;height:100%;width:100%;font-size:12px;margin:0px;padding:0px;}
.header{height:80px;background:red;margin:0px;padding:0px;}
.header .title{display:flex;justify-content:center;color:#fff;font-weight:bold;font-size:2.8rem;align-items: center;height: 100%;}
.time{margin-right: 10px;font-size: 1.8rem;margin-top: -4rem;color: #fff;float: right;}
.time .label{font-weight:300}
.container{height:calc(100vh - 80px);width:100%;color:#fff;text-align:center;font-size:30px;}
.item_left,.item_center,.item_right{height:100%;}
.item_left{background:green;;display: flex;}
.item_center{background:gray;;display: flex;}
.item_right{background:blue;;display: flex;}
.c1{display: flex;flex-direction: column;align-content: stretch;justify-content: stretch;width: 100%;}
.industryChartDiv,.changeChartDiv,.ageChartDiv{flex:1;margin: 10px 0px;background:#fff;color:#000;}
</style>
</head>
<body class="contains">
	<div class="header">
		<div class = "title" >数据可视化-Echarts</div>
		<div class = "time" >当前时间:<label>2020-05-27 08:36:58</label></div>
	</div>
	<div class="container">
        <div class="container">
			<div class="row">
				<div class="col-md-4 item_left">
					<div class="c1">
						<div class="industryChartDiv">
							<div class="border">
								一
							</div>
						</div>
						<div class="changeChartDiv" >
							<div class="border">
							二
							</div>
						</div>
						<div class="ageChartDiv">
							<div class="border">
							三
							</div>
						</div>
					</div>
				</div>
				<div class="col-md-4 item_center">
					二列
				</div>
				<div class="col-md-4 item_right">
					三列
				</div>
			</div>
		</div>
    </div>
</body>
</html>

5.添加边框效果后,整体布局效果图

<html>
<head>
<meta chartset="utf-8">
<title>可视化echarts图表</title>
<link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">  
<script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
<style>
.contains{background:#000a2d;height:100%;width:100%;}
.header{height:80px;background-size: cover;background:url('./images/headerbg.png');background-repeat:no-repeat;background-position:center;}
.header .title{display:flex;justify-content:center;color:#fff;font-weight:bold;font-size:2.8rem;align-items: center;height: 100%;}
.time{margin-right: 10px;font-size: 1.8rem;margin-top: -4rem;color: #fff;float: right;}
.time .label{font-weight:300}
.container{height:calc(100vh - 80px);width:100%;}
.item_left,.item_center,.item_right{height:100%; padding-right: 10px;padding-left: 10px;display: flex;}
.c1,.c2,.c3{display: flex;flex-direction: column;align-content: stretch;justify-content: stretch;width: 100%;}
.industryChartDiv,.changeChartDiv,.ageChartDiv,.powerChartDiv,.playChatDiv,.areaChartDiv{flex:1;margin: 10px 0px;}
.totalInfoDiv{flex: 1;margin: 10px 0px;background: #0c1a50;}
.moveMapDiv{flex:4;margin: 10px 0px;}
.border{
	border: 2px solid #02a6b5;
    width: 100%;
    height: 100%;
    position: relative;
    margin: auto;
}
.border:before{
	content: '';
    position: absolute;
    width: 88%;
    bottom: -2px;
    top: -2px;
    left: 6%;
    border-bottom: 2px solid #0b3146;
    border-top: 2px solid #0b3146;
}
.border:after{
	content: '';
    position: absolute;
    height: 76%;
    left: -2px;
    right: -2px;
    top: 12%;
    border-left: 2px solid #0b3146;
    border-right: 2px solid #0b3146;
}
</style>
</head>
<body class="contains">
	<div class="header">
		<div class = "title" >数据可视化-Echarts</div>
		<div class = "time" >当前时间:<label>2020-05-27 08:36:58</label></div>
	</div>
	<div class="container">
		<div class="row">
			<div class="col-md-4 item_left">
				<div class="c1">
					<div class="industryChartDiv">
						<div class="border">
						</div>
					</div>
					<div class="changeChartDiv" >
						<div class="border"></div>
					</div>
					<div class="ageChartDiv">
						<div class="border"></div>
					</div>
				</div>
			</div>
			<div class="col-md-4 item_center">
				<div class="c2">
					<div class="totalInfoDiv">
				
					</div>
					<div class="moveMapDiv">
		
					</div>
				</div>
			</div>
			<div class="col-md-4 item_right">
				<div class="c3">
					<div class="powerChartDiv">
						<div class="border"></div>
					</div>
					<div class="playChatDiv">
						<div class="border"></div>
					</div>
					<div class="areaChartDiv">
						<div class="border"></div>
					</div>
				</div>
			</div>
		</div>
	</div>
</body>
</html>

边框处理:

<style>
.border{border: 2px solid #02a6b5;width: 100%;height: 100%;position: relative;margin: auto;}
.border:before{content: '';position: absolute;width: 88%;bottom: -2px;top: -2px;left: 6%;border-bottom: 2px solid #0b3146;border-top: 2px solid #0b3146;}
.border:after{content: '';position: absolute;height: 76%;left: -2px;right: -2px;top: 12%;border-left: 2px solid #0b3146;border-right: 2px solid #0b3146;}
.myDiv{height:300px;width:400px;background:#000a2d;padding:20px;}
</style>

<div class="myDiv">
    <div class="border"></div>
</div>

二、可视化echarts图表部分,echarts图表的具体使用参照echarts官网https://echarts.apache.org/examples/zh/index.html,扩展使用参照echarts社区https://gallery.echartsjs.com/explore.html#sort=rank~timeframe=all~author=all

  • 12
    点赞
  • 151
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值