当前位置:网站首页>数据可视化
数据可视化
2022-08-01 19:35:00 【天天想着发财致富】
一 常见的数据可视化库
■D3.js 目前Web端评价最高的Javascript可视化工具库(入手难)
■ECharts.js 百度出品的一个开源Javascript 数据可视化库
■Highcharts,js 国外的前端数据可视化库,非商用免费,被许多国外大公司所使用
■AntV蚂蚁金服全新-代数据可视化解决方案
二 ECharts基本介绍
ECharts是一个使用JavaScript 实现的开源可视化库,可以流畅的运行在PC和移动设备上,兼
容当前绝大部分浏览器(IE8/9/10/11, Chrome, Firefox, Safari等) ,底层依赖矢量图形库
ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。
官网地址: https://www.echartsjs.com/zh/index.html
(1)使用五部曲:
步骤1 :下载并引入echarts.js文件→图表依赖这 个js库
步骤2 :准备一个具备大小的DOM容器→生成的图表会放入这个容器内:<div class="box"></div>
步骤3 :初始化echarts实例对象→实例化echarts对象:var myChart = echarts.init (document.querySelector(' .box' ));
步骤4 :指定配置项和数据(option)→根据具体需求修改配置选项
步骤5 :将配置项设置给echarts实例对象→让echarts对象根据修改好的配置生效: myChart.setOption(option);
(2)相关配置讲解
title :标题组件
tooltip :提示框组件
legend :图例组件
toolbox:工具栏
grid :直角坐标系内绘图网格
xAxis :直角坐标系grid中的x轴
yAxis :直角坐标系grid中的y轴
series:系列列表。每个系列通过type决定自己的图表类型(什么类型的图标)
color :调色盘颜色列表
其他可查阅官方文档菜单-配置项手册
series:系列列表
type:类型(什么类型的图表)比如line 是折线bar柱形等
name:系列名称,用于tooltip的显示, legend的图例筛选变化
stack:数据堆叠。.如果设置相同值,则会数据堆叠。
数据堆叠:第二个数据值= 第一个数据值+第二个数据值
第三个数据值=第二个数据值+第三个数据值... 依次叠加.
如果给stack指定不同值或者去掉这个属性则不会发生数据堆叠
//点位分布统计模块
(function(){
//1.实例化对象
var myChart=echarts.init(document.querySelector('.pie'));
//2.指定配置项和数据
var option = {
tooltip: {
// trigger触发方式。非轴图形, 使用item的意思是放到数据对应图形上触发提示
trigger: 'item',
//格式化提示内容:
//a代表series系列图表名称
// b代表series数据名称data里面的name
// C代表series数据值data里面的value
// d代表当前数据/总数据的比例
formatter: '{a} <br/>{b} : {c} ({d}%)'
},
color:['#006cff', '#60cda0', ' #ed8884', ' #ff9f7f', '#0096ff', '#9fe6b8', ' #32c5e9',' #1d9dff '],
series: [
{
name: "点位统计",
type: "pie",
// 如果radius是百分比则必须加引号
//饼形图半径。可以是像素。 也可以是百分比(基于DOM容器大小)第-项是内半径, 第二项是外半径 (通过它可以实现饼形图
//大小)
radius: ["10%", "70%"],
//图表中心位置left 50% top 50%距离图表DOM容器
center: ["50%", "50%"],
// radius半径模式,另外种是area面积模式
roseType: "radius",
data: [
{ value: 20, name: "云南" },
{ value: 26, name: "北京" },
{ value: 24, name: "山东" },
{ value: 25, name: "河北" },
{ value: 20, name: "江苏" },
{ value: 25, name: "浙江" },
{ value: 30, name: "四川" },
{ value: 42, name: "湖北" }
],
// 修饰饼形图文字相关的样式 label对象
label: {
fontSize: 10
},
// 修饰引导线样式
labelLine: {
// 连接到图形的线长度
length: 6,
// 连接到文字的线长度
length2: 8
}
}
]
};
//3.配置项和数据给我们的实例化对象
myChart.setOption(option);
})();三 数据可视化项目适配方案
(1)项目需求
设计稿是1920px
PC端适配:宽度在1024~ 1920之间页面元素宽高自适应
(2)适配方案

flexible.js中

如图所示,此时将pc端划分为24等分
又因为PC端的效果图是1920px,所以cssrem插件的基准值是1920/24=80px
调整基准值:在VC的cssrem的设置中的扩展程序如图修改(第一次修改后要重启)

要把屏幕宽度约束在1024~ 1920之间有适配
@media screen and (max-width:1024px) {
html {
/* 42.66=1024/24
!important作用是提高指定样式规则的应用优先权(优先级)。 */
font-size: 42.66px !important;
}
}
@media screen and (min-width: 1920px) {
html {
font-size: 80px !important;
}
}
(3)项目准备

保存自动刷新浏览器插件

(4)项目核心
先布好局,之后利用ECharts填充图表
四 边框图片
使用场景:盒子大小不一, 但是边框样式相同,此时就需要边框图片来完成!
如:


(2)边框图片
1)为了实现丰富多彩的边框效果,在CSS3中,新增了border-image属性, 这个新属性允许指定一幅图像作为元素的边框。
2)边框图片切图原理
把四个角切出去(九宫格的由来), 中间部分可以铺排、拉伸或者环绕。(按照上右下左顺序切割)
3)语法


扩展:通过类名调用字体图标
1. HTML页面引入字体图标中css文件。
<link rel="stylesheet" href="fonts/style.css">
2.标签直接调用图标对应的类名即可。( 类名在css文件中标注)
<span class="icon-angellist"></span>
五 立即执行函数用法
JS文件中,会有大量的变量命名,特别是Echarts使用中,需要大量初始化Echarts对象?
为了防止变量名冲突(变量污染)我们采用立即执行函数策略:
(function() { }) () ;
(function() {
var num = 10;
})();
(function() {
var num = 10;
}) ();
注意:多个立即执行函数中间必须加分号隔开。
六 无缝滚动原理
1.先克隆marquee里面所有的行(row)
$(".marquee-view .marquee").each(function(){ var rows= $(this).children().clone(); $(this).append(rows); })
2.通过CSS3动画滚动marquee/*通过CSS3动画滚动marquee */ .marquee-view .marquee{ animation: move 15s linear infinite: I @keyframes move { 0% { } 100% { transform: translateY(-50%); }
3.鼠标经过marquee 就停止动画:
.marquee-view .marquee:hover{ animation-play-state: paused; }
边栏推荐
- 面试必问的HashCode技术内幕
- Creo5.0草绘如何绘制正六边形
- kubernetes-部署nfs存储类
- Tencent Cloud Hosting Security x Lightweight Application Server | Powerful Joint Hosting Security Pratt & Whitney Version Released
- GEE(8):使用MODIS填补由去云后的Landsat影像计算得到的NDVI数据
- Pytorch模型训练实用教程学习笔记:四、优化器与学习率调整
- 数据库系统原理与应用教程(071)—— MySQL 练习题:操作题 110-120(十五):综合练习
- In the background of the GBase 8c database, what command is used to perform the master-slave switchover operation for the gtm and dn nodes?
- XSS range intermediate bypass
- cf:D. Magical Array【数学直觉 + 前缀和的和】
猜你喜欢

17、负载均衡

使用常见问题解答软件的好处有哪些?

Database Plus 的云上之旅:SphereEx 正式开源 ShardingSphere on Cloud 解决方案

What should I do if the Win11 campus network cannot be connected?Win11 can't connect to campus network solution

力扣刷题之移动零

Intranet penetration lanproxy deployment

MySQL开发技巧——存储过程

Library website construction source code sharing

手撸代码,Redis发布订阅机制实现

From ordinary advanced to excellent test/development programmer, all the way through
随机推荐
Screenshot of Selenium in Remote
17、负载均衡
Keras深度学习实战——交通标志识别
18. Distributed configuration center nacos
Every calculation, & say what mean
LabVIEW 使用VISA Close真的关闭COM口了吗
对于web性能优化我有话说!
10 个 PHP 代码安全漏洞扫描程序
MLX90640 Infrared Thermal Imager Temperature Measurement Module Development Notes (Complete)
Selenium在远程中的截图
GZIPOutputStream 类源码分析
From ordinary advanced to excellent test/development programmer, all the way through
17. Load balancing
安装GBase 8c数据库的时候,报错显示“Resource:gbase8c already in use”,这怎么处理呢?
ThreadLocal讲义
小白系统初始化配置资源失败怎么办
In the background of the GBase 8c database, what command is used to perform the master-slave switchover operation for the gtm and dn nodes?
C#/VB.NET 从PDF中提取表格
工作5年,测试用例都设计不好?来看看大神的用例设计总结
Creo5.0草绘如何绘制正六边形