大数据可视化大屏实战项目(2)公司季度销售额度可视化展示—HTML+CSS+JS【源码在文末】(可用于比赛项目或者作业参考中)

news2024/11/25 4:57:36

大数据可视化大屏实战项目(2)公司季度销售额度可视化展示—HTML+CSS+JS【源码在文末】(可用于比赛项目或者作业参考中🐕🐕🐕)

一,项目概览

☞☞☞☞☞☞项目演示链接:http://59.110.22.223:8080/Data/2/

☞☞☞☞☞☞项目演示链接:http://59.110.22.223:8080/Data/2/

☞☞☞☞☞☞项目演示链接:http://59.110.22.223:8080/Data/2/

image-20230904084518847

二,运行视频

☞☞☞☞☞☞B站演示视频:
【大数据可视化大屏实战项目(2)公司季度销售额度可视化展示—HTML+CSS+JS(可用于比赛项目或者作业参考中)】 https://www.bilibili.com/video/BV1zh4y1e76j/?share_source=copy_web&vd_source=b2e9b9ed746acda34f499009647748ed

三,部分代码讲解

* {
  margin: 0;
  padding: 0;
}
html,
body {
  width: 100%;
  overflow: hidden;
  height: 100%;
}
body {
  background: url(../images/bg.png) no-repeat;
  background-size: 100%;
}
ul,
li {
  list-style: none;
}
@font-face {
  font-family: '汉仪铸字超然体';
  src: url('../fonts/汉仪铸字超然体.TTF');
}
.header {
  width: 100%;
  height: 10%;
}
.header .title {
  float: left;
  width: 35%;
  height: 100%;
  text-align: center;
  font-size: 1.5rem;
  display: table;
  font-family: '汉仪铸字超然体';
  letter-spacing: 0.2rem;
  background-image: -webkit-linear-gradient(bottom, #3aa4ff, #e6e5e5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.header .title span {
  display: table-cell;
  vertical-align: middle;
}
.header .time {
  width: 25%;
  float: left;
  height: 80%;
  text-align: center;
  background-image: -webkit-linear-gradient(bottom, #3aa4ff, #e6e5e5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 1rem;
  display: table;
  font-family: '汉仪铸字超然体';
}
.header .time span {
  display: table-cell;
  vertical-align: middle;
}
.header .company {
  width: 15%;
  height: 100%;
  margin-right: 5%;
  background-color: rgba(255, 255, 255, 0.4);
  float: right;
  text-align: center;
  background-image: -webkit-linear-gradient(bottom, #3aa4ff, #e6e5e5);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 1.5rem;
  display: table;
  font-family: '汉仪铸字超然体';
}
.header .company span {
  display: table-cell;
  vertical-align: middle;
}
.main {
  width: 100%;
  height: 85%;
  margin-top: 5%;
  padding: 0 4%;
  box-sizing: border-box;
}
.main > div {
  float: left;
}
.main .animate {
  width: 75%;
  height: 100%;
}
.main .animate .float {
  width: 100%;
  height: 40%;
}
.main .animate .float > div {
  float: left;
}
.main .animate .float .floating1 {
  width: 15%;
  height: 75%;
  background: url(../images/5.png) no-repeat bottom center;
  background-size: 90%;
  animation: float 8s linear infinite;
}
.main .animate .float .floating1 #roate1 {
  width: 100%;
  height: 50%;
  background: url(../images/cicle5.png) no-repeat center;
  background-size: 80%;
  position: relative;
}
.main .animate .float .floating1 #roate1 .roate-item {
  position: absolute;
  left: 0;
  top: 0;
  width: 5rem;
  height: 5rem;
  background: url(../images/yuan2-01.png) no-repeat center;
  background-size: 100%;
  transform: translate(-180%, -70%);
  text-align: center;
  padding-top: 25%;
  box-sizing: border-box;
  color: #fff;
}
.main .animate .float .floating1 .pm {
  text-align: center;
  color: #fff;
  font-size: 0.8rem;
}
.main .animate .float .floating2 {
  width: 15%;
  height: 75%;
  margin-top: 10%;
  background: url(../images/3.png) no-repeat bottom center;
  background-size: 90%;
  margin-left: 2%;
  animation: float2 6s linear infinite;
}
.main .animate .float .floating2 #roate2 {
  width: 100%;
  height: 50%;
  background: url(../images/cicle2.png) no-repeat center;
  background-size: 80%;
  position: relative;
}
.main .animate .float .floating2 #roate2 .roate-item2 {
  position: absolute;
  left: 0;
  top: 0;
  width: 5rem;
  height: 5rem;
  background: url(../images/yuan4-01.png) no-repeat center;
  background-size: 100%;
  transform: translate(-180%, -70%);
  text-align: center;
  padding-top: 25%;
  box-sizing: border-box;
  color: #fff;
}
.main .animate .float .floating2 .pm2 {
  text-align: center;
  color: #fff;
  font-size: 0.8rem;
}
.main .animate .float .floating3 {
  width: 15%;
  height: 75%;
  margin-top: 5%;
  background: url(../images/4.png) no-repeat bottom center;
  background-size: 90%;
  margin-left: 2%;
  animation: float3 8s linear infinite;
}
.main .animate .float .floating3 #roate3 {
  width: 100%;
  height: 50%;
  background: url(../images/cicle3.png) no-repeat center;
  background-size: 80%;
  position: relative;
}
.main .animate .float .floating3 #roate3 .roate-item3 {
  position: absolute;
  left: 0;
  top: 0;
  width: 5rem;
  height: 5rem;
  background: url(../images/yuan3-01.png) no-repeat center;
  background-size: 100%;
  transform: translate(-180%, -70%);
  text-align: center;
  padding-top: 25%;
  box-sizing: border-box;
  color: #fff;
}
.main .animate .float .floating3 .pm3 {
  text-align: center;
  color: #fff;
  font-size: 0.8rem;
}
.main .animate .float .floating4 {
  width: 15%;
  height: 75%;
  background: url(../images/4.png) no-repeat bottom center;
  background-size: 90%;
  margin-left: 2%;
  animation: float4 8s linear infinite;
}
.main .animate .float .floating4 #roate4 {
  width: 100%;
  height: 50%;
  background: url(../images/cicle3.png) no-repeat center;
  background-size: 80%;
  position: relative;
}
.main .animate .float .floating4 #roate4 .roate-item4 {
  position: absolute;
  left: 0;
  top: 0;
  width: 5rem;
  height: 5rem;
  background: url(../images/yuan2-01.png) no-repeat center;
  background-size: 100%;
  transform: translate(-180%, -70%);
  text-align: center;
  padding-top: 25%;
  box-sizing: border-box;
  color: #fff;
}
.main .animate .float .floating4 .pm4 {
  text-align: center;
  color: #fff;
  font-size: 0.8rem;
}
.main .animate .float .floating5 {
  width: 20%;
  height: 75%;
  background: url(../images/5.png) no-repeat bottom center;
  background-size: 85%;
  margin-left: 5%;
  margin-top: 15%;
  animation: float5 6s linear infinite;
}
.main .animate .float .floating5 #roate5 {
  width: 90%;
  height: 30%;
  background: url(../images/cicle1.png) no-repeat center;
  background-size: 80%;
  position: relative;
}
.main .animate .float .floating5 #roate5 .roate-item5 {
  position: absolute;
  left: 0;
  top: 0;
  width: 5rem;
  height: 5rem;
  background: url(../images/yuan1-01.png) no-repeat center;
  background-size: 100%;
  transform: translate(-180%, -50%);
  text-align: center;
  padding-top: 20%;
  box-sizing: border-box;
  color: #fff;
}
.main .animate .float .floating5 .pm5 {
  text-align: center;
  color: #fff;
  font-size: 0.8rem;
  margin-top: 11%;
}
.main .animate .sum {
  position: relative;
  width: 100%;
  height: 50%;
  background: url(../images/big.png) no-repeat center;
  background-size: 80%;
}
.main .animate .sum .data {
  width: 100%;
  height: 20%;
  position: absolute;
  left: 0;
  top: 0;
  text-align: center;
  color: #fff;
}
.main .animate .sum .data span {
  font-family: '汉仪铸字超然体';
  font-size: 1.2rem;
}
.main .animate .sum .cicle1 {
  transform-style: preserve-3d;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -12rem 0 0 -15rem;
  width: 30rem;
  height: 30rem;
  background: url(../images/circle.png) no-repeat center;
  background-size: contain;
  transform: rotateX(70deg);
  animation: circle 5s linear infinite;
}
.main .animate .sum #canvas1 {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.main .animate .sum #canvas2 {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
.main .animate .sum .data1,
.main .animate .sum .data2,
.main .animate .sum .data3,
.main .animate .sum .data4 {
  color: #fff;
  text-align: center;
  position: absolute;
  width: 8rem;
  height: 8rem;
  background: url(../images/di.png) no-repeat bottom center;
  background-size: contain;
  padding-top: 2%;
  box-sizing: border-box;
}
.main .animate .sum .data1 .qiu,
.main .animate .sum .data2 .qiu,
.main .animate .sum .data3 .qiu,
.main .animate .sum .data4 .qiu {
  position: relative;
  width: 4rem;
  height: 4rem;
  margin: auto;
  display: table;
}
.main .animate .sum .data1 .qiu p,
.main .animate .sum .data2 .qiu p,
.main .animate .sum .data3 .qiu p,
.main .animate .sum .data4 .qiu p {
  display: table-cell;
  vertical-align: middle;
}
.main .animate .sum .data1 .qiu::before,
.main .animate .sum .data2 .qiu::before,
.main .animate .sum .data3 .qiu::before,
.main .animate .sum .data4 .qiu::before {
  content: '';
  display: block;
  width: 4rem;
  height: 4rem;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  border: 3px solid rgba(255, 255, 255, 0.5);
  animation: scale 2s linear infinite;
}
.main .animate .sum .data1 span,
.main .animate .sum .data2 span,
.main .animate .sum .data3 span,
.main .animate .sum .data4 span {
  font-size: 0.8rem;
}
.main .animate .sum .data1 {
  left: 0%;
  top: 10%;
}
.main .animate .sum .data1 .qiu {
  background: url(../images/cicle04.png) no-repeat center;
  background-size: 100%;
}
.main .animate .sum .data2 {
  right: 5%;
  top: 8%;
}
.main .animate .sum .data2 .qiu {
  background: url(../images/cicle02.png) no-repeat center;
  background-size: 100%;
}
.main .animate .sum .data3 {
  left: 0;
  bottom: 3%;
}
.main .animate .sum .data3 .qiu {
  background: url(../images/cicle03.png) no-repeat center;
  background-size: 100%;
}
.main .animate .sum .data4 {
  right: 6%;
  bottom: 3%;
}
.main .animate .sum .data4 .qiu {
  background: url(../images/cicle01.png) no-repeat center;
  background-size: 100%;
}
.main .charts {
  width: 25%;
  height: 100%;
}
.main .charts > div {
  width: 100%;
  height: 50%;
}
.main .charts > div .charts-title {
  width: 100%;
  height: 10%;
  background: url(../images/title.png) no-repeat;
  display: table;
  padding-left: 5%;
  color: #eee;
  font-weight: 500;
}
.main .charts > div .charts-title span {
  display: table-cell;
  vertical-align: middle;
}
.main .charts > div .content {
  width: 100%;
  height: 80%;
}

@keyframes circle {
  0% {
    transform: rotateX(70deg) rotateZ(0);
  }
  100% {
    transform: rotateX(70deg) rotateZ(360deg);
  }
}
@keyframes scale {
  0% {
    transform: translate(-50%, -50%) scale(0.9);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, -50%) scale(1.5);
    opacity: 0;
  }
}

这段源代码看起来是用来定义网页的样式(CSS),它描述了如何渲染网页的不同部分。以下是代码的解释:

  1. * 选择器:

    • 设置所有元素的外边距(margin)和内边距(padding)都为零。这会清除默认的外边距和内边距,使得元素之间没有额外的间距。
  2. htmlbody 选择器:

    • 将整个网页的宽度设置为100%。
    • 禁用页面的滚动条(overflow: hidden),这意味着用户无法滚动页面。
    • 设置页面的高度为100%。
  3. body 选择器:

    • 设置页面的背景图片为 bg.png,并且不重复(no-repeat)。
    • 设置背景图片的尺寸为100%(background-size: 100%),以使其填充整个页面。
  4. ulli 选择器:

    • 移除列表元素(ul和li)的默认样式,例如圆点列表符号。
  5. @font-face 规则:

    • 定义了一个自定义字体(‘汉仪铸字超然体’)的引用。
    • 引用了字体文件(‘汉仪铸字超然体.TTF’),该文件位于 ‘…/fonts/’ 目录中。

接下来是一系列样式规则,这些规则定义了页面中的不同元素的样式:

  • .header 定义了页面的页头部分的样式,包括标题、时间和公司信息。
  • .main 定义了页面的主要内容区域的样式,包括动画效果和数据展示。
  • .charts 定义了页面中的图表区域的样式。

接下来,代码中包括了一些关键帧动画(@keyframes)规则,用于创建元素的浮动和旋转动画。

请注意,这段代码是CSS代码,用于控制网页的外观和布局。要完全理解网页的功能和行为,还需要查看与之关联的HTML和JavaScript代码,因为CSS仅负责样式和外观。如果您有关于特定部分的更详细的问题,或者需要解释特定样式规则的作用,请提出更具体的问题。

可视化图表的使用技巧

1、柱状图

柱状图中的颜色尽量不要超过3种。
柱状图柱子间的宽度和间隙要是适当。住在太窄,用户的视觉可能会集中在两个柱子之间的负空间
对多个数据系列排序时,最好复合一定的逻辑,用直观的方式引导用户更好的查看数据,此时可以通过升序和降序排列。
2、折线图

折线图连接各点可以使用直线和曲线,这样更美观,数据展示更加清晰
折线的颜色要清晰,尽量不要使用与背景色和坐标轴相近的颜色
折线图中的线条尽量不要超过4条,过多的线条会导致界面混乱,无法阅读。
3、饼图

饼图适合用来展示单一维度数据的占比,要求其数值没有零或者负值,并确保各个分块占比总和为100%。
饼图不适合用于精确数据的比较,因此当各类别数据占比相似时,很难分辨出哪个类别占比比较大。
大多数人的视觉习惯是按照顺时针自上而下的顺序去观察,因此在绘制饼图时建议从12点钟开始沿着顺时针右边的第一个分块绘制饼图最大的数据分块,这样可以有效地强调其重要性
4、散点图

如果一个散点图没有显示变量的任何关系,那么或许该图表类型不是次数据的最佳选择
散点图只有在足够多的数据点并且数据间有相关性时,才能呈现很好的结果。
如果数据包含不同系列,可以给不同系列使用不同的颜色

四,源码

链接:https://pan.baidu.com/s/1KbFZRb9k7oJ0FYqNgmu3TQ?pwd=0616
提取码:

创作不易,项目已加密,有偿(—5r—,可修改页面,做实验报告,代码讲解,待上服务器等…)

请私信作者(v)15135757306

注:非白嫖仅为维护服务器,若想白嫖请CSDN私信我(可能时间忙顾不上回复)

若侵权请私信作者下架博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/970249.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kerberos基础

一. Kerberos概述 Kerberos是一种计算机网络授权协议,用来在非安全网络中,对个人通信以安全的手段进行身份认证。这个词又指麻省理工学院为这个协议开发的一套计算机软件。软件设计上采用客户端/服务器结构,并且能够进行相互认证&#xff0c…

软件工程学术顶会——ESEC/FSE 2022 议题(网络安全方向)清单、摘要与总结

总结 本次会议中网络安全相关议题涵盖区块链、智能合约、符号执行、浏览器API模糊测试等不同研究领域。 热门研究方向: 1. 基于深度学习的漏洞检测与修复 2. 基于AI的自动漏洞修复 3. 模糊测试与漏洞发现 冷门研究方向: 1. 多语言代码的漏洞分析 2. 代码审查中的软件安全 3. 浏…

【类和对象】③友元类

文章目录 1.初始化列表2.static静态成员3.友元 1.初始化列表 我们知道在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。虽然调用构造函数之后,对象中已经有了一个初始值,但是不能将其称为对对象中成…

长胜证券:医药逐步走出疫情扰动 潜心静气迎接曙光

8月回顾:2023年8月医药生物板块跌落4.76%,同期沪深300跌落6.21%,医药板块跑赢沪深300约1.45%,位列31个子职业第11位。本月子板块医疗服务、中药、医药商业、化学制药、医疗器械、生物制品分别跌落1.47%、3.20%、3.97%、5.18%、7.2…

关于ChatGPT:4个维度讲透 ChatGPT 技术原理,揭开 ChatGPT 神秘技术黑盒!(文末送书福利5.0)

文章目录 📋前言🎯Tansformer架构模型🎯ChatGPT原理🎯提示学习与大模型能力的涌现🧩提示学习🧩上下文学习🧩思维链 🎯行业参考建议(关于本书)🧩拥…

Python爬取天气数据并进行分析与预测

随着全球气候的不断变化,对于天气数据的获取、分析和预测显得越来越重要。本文将介绍如何使用Python编写一个简单而强大的天气数据爬虫,并结合相关库实现对历史和当前天气数据进行分析以及未来趋势预测。 1 、数据源选择 选择可靠丰富的公开API或网站作…

QT中闹钟的设置

.h文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QPushButton> //按钮 #include <QTextEdit> //文本 #include <QLabel> //标签 #include <QLineEdit> //行编辑器#include <QTimerEvent> //定时器事件类头文件 #…

串联系统与并联系统可靠性计算

串联系统 计算串联系统可靠性&#xff0c;就将所有部分的可靠性相乘即可 并联系统 计算并联系统可靠性&#xff0c;就用每个部分的不可靠性相乘&#xff0c;得到系统的不可靠性&#xff0c;再用1-不可靠性&#xff0c;得到并联系统可靠性 串&#xff0c;并联系统 上图的系统可…

深入剖析Kubernetes之控制器模式

文章目录 Kubernetes 项目中一个重要的设计思想&#xff1a;控制器模式。 nginx-deployment 的例子&#xff1a; apiVersion: apps/v1 kind: Deployment metadata:name: nginx-deployment spec:selector:matchLabels:app: nginxreplicas: 2template:metadata:labels:app: ngin…

做外贸如何引导跟进客户

跟客户聊什么似乎是我们很多小伙伴很头疼的问题&#xff0c;尤其是需要跟客户follow-up 的时候&#xff0c;那种没话找话的感觉有时候都令自己抓狂。 如果我们自己的产品本身比较负责&#xff0c;设计到的工艺或者款式以及规格很多的时候&#xff0c;那可能话题就还容易一些&a…

初级电工电子基础知识部分

欢迎学习初级电工电子基础知识部分 学习可不能像是看小说那样看完就过了&#xff0c;作为电工学的开篇&#xff0c;同时作为电工技术这个特殊作业工种&#xff0c;理解并记住每个知识点是很重要的&#xff0c;因为电工基础里面很多都是理论知识&#xff0c;前面的没掌握好后面的…

算法基础-数学知识-质数、约数

这里写目录标题 质数试除法判定质数晒质数埃及筛线性筛 约数试除法求约数约数个数与约数之和AcWing 870. 约数个数AcWing 871. 约数之和 欧几里德求最大公因数 质数 埃及筛虽然用的不多&#xff0c;大多使用线性筛&#xff0c;但是埃及筛的思想很重要 试除法判定质数 AcWin…

大数据可视化大屏实战项目(4)物流数据云看台(包括动态登陆页面)—HTML+CSS+JS【源码在文末】(可用于比赛项目或者作业参考中)

大数据可视化大屏实战项目&#xff08;4&#xff09;物流数据云看台&#xff08;包括动态登陆页面&#xff09;—HTMLCSSJS【源码在文末】&#xff08;可用于比赛项目或者作业参考中&#x1f415;&#x1f415;&#x1f415;&#xff09; 一&#xff0c;项目概览 ☞☞☞☞☞☞…

软件测试案例 | 某教务管理平台系统的系统测试总结报告

集成测试通过之后&#xff0c;各个模块已经被组装成了一个完整的软件包&#xff0c;这时就需要进行系统测试了。传统的系统测试指的是通过集成测试的软件系统&#xff0c;作为计算机系统的一个重要组成部分&#xff0c;其将与计算机硬件、外部设备、支撑软件等其他系统元素组合…

信息安全性测试的流程

安全测试 一、信息安全性测试的定义 软件安全是一个广泛而复杂的主题&#xff0c;每一个新软件都可能存在安全的缺陷&#xff0c;甚至这个缺陷是前所未见的。信息安全性测试的目的在于通过系统的测试&#xff0c;对所测软件提出安全改进建议&#xff0c;帮助用户将风险控制/转…

图片转Excel表格神器的黑科技探索

哇塞&#xff0c;图片转Excel表格真的太酷了&#xff01;这种技术能让我们的图片信息变得井井有条&#xff0c;方便后续的数据分析和处理。想知道一般我们会用哪些技术来实现这个功能吗&#xff1f;以金鸣识别为例&#xff0c;让我们一起来聊聊吧&#xff01; 首先&#xff0c…

【ES6】Class中this指向

先上代码&#xff1a; 正常运行的代码&#xff1a; class Logger{printName(name kexuexiong){this.print(hello ${name});}print(text){console.log(text);} }const logger new Logger(); logger.printName("kexueixong xiong");输出&#xff1a; 单独调用函数p…

【PDF密码】没有密码,可以解密PDF文件吗?

PDF文件有两种密码&#xff0c;一个打开密码、一个限制编辑密码&#xff0c;因为PDF文件设置了密码&#xff0c;那么打开、编辑PDF文件就会受到限制。想要解密&#xff0c;我们需要输入正确的密码&#xff0c;但是有时候我们可能会出现忘记密码的情况&#xff0c;或者网上下载P…

Ubuntu tmux 默认安装 快捷键

安装 sudo apt install tmux 启动tmux tmux 注意下方已显示[0] 0:bash 左右分屏 依次输入两组快捷键&#xff1a;Ctrlb, Shift5 即:% 上下分屏 依次输入两组快捷键&#xff1a;Ctrlb, Shift 即:" 切换窗口&#xff08;注意&#xff1a;鼠标点击没有切换效果&#x…

如何快速成为一名优秀的python工程师?

随着人工智能的发展与应用&#xff0c;Python编程语言受到世界各界人士的关注&#xff0c;Python工程师也成为一个热门职业&#xff0c;就业薪资高&#xff0c;发展前景广阔。 Python是一门简单的编程语言&#xff0c;学习相对更加轻松容易&#xff0c;初学者很容易入门&#…