引言
动画在前端产品中是很重要的,它能增强用户体验,提升信息传达效果,还能塑造品牌形象。在数据产品中,精心设计的动画,可以直观地呈现复杂数据和信息,突出关键数据变化趋势,给用户深刻印象,提升品牌辨识度和美誉度。
什么是可视化动画
可视化动画是一种通过动态的图形、图像和视频来呈现数据、信息或概念的表现形式。
它具有以下几个重要特点和作用:
直观呈现:将复杂的数据或抽象的概念转化为易于理解的视觉元素,让观众能够快速获取关键信息。增强吸引力:相比静态的图表或文字,动画能够吸引观众的注意力,提高信息传递的效果。故事讲述:可以按照一定的逻辑和情节,讲述一个信息传递的过程。
什么是数据大屏
数据大屏是一种将大量数据通过可视化的方式集中展现在一个大型屏幕上的信息展示系统。借助于图形化手段,清晰有效地传达与沟通信息。简而言之就是把枯燥无味的数据,通过图形化设计表现,达到一种更加精准和高效的数据分析和表达。一方面,可以让数据的呈现效果更加直观,便于用户查看;另一方面,也可以让用户挖掘到数据中的隐藏价值。在当前新技术支持下,数据可视化除了「可视」,还有「可交流」、「可互动」的特点,其本质是数据空间到图形空间的映射,是抽象数据的具象表达。
它具有以下特点和作用:
可视化展示:利用图形、图表、地图等直观的可视化元素呈现数据,便于快速理解和解读。大规模数据呈现:能够处理和展示海量复杂的数据。实时性:可以实时更新数据,反映最新的信息状态。
使用场景
智慧政务:分析公共服务、城市建设、交通、环境污染等方面的数据,提出政策方案。
新能源:监控生产设备的实时状态、能源消耗情况,提高生产效率,降低能源消耗。
电商数据大屏:通过收集、整理和分析电子商务平台产生的数据,以便从中提取有关消费者行为、商品销售和市场趋势的有价值信息的过程。它借助可视化大屏展示,使商家能够更清晰、直观地了解他们的业务运营情况。
动画对大屏的意义
运营业务数据大屏: 开启动画
视觉引导:开启动画可以吸引用户的注意力,引导用户的视线,帮助用户快速聚焦于数据大屏的核心内容。
用户体验: 动画可以提升用户的体验,使数据大屏看起来更加生动和有趣,减少用户对数据的枯燥感。
数据大屏开启动画是一种有效的视觉沟通工具,它不仅能够提升数据的可读性和吸引力,还能够增强用户体验和品牌影响力。
可视化图表框架:
ECharts:是一个基于 JavaScript 的开源可视化图表库,最初由百度团队开发并开源,后来捐赠给Apache基金会,成为其顶级项目。ECharts支持丰富的图表类型,包括折线图、柱状图、饼图、散点图、雷达图、地图等,适用于各种数据展示需求,对移动端进行了细致的优化,适配微信小程序ECharts的底层依赖于轻量级的Canvas类库ZRender。ZRender是一个二维绘图引擎,它提供Canvas、SVG、VML等多种渲染方式。ECharts基于ZRender之上做了更高层次的抽象,定义出了Series(系列)、Coordinates(坐标系)和Components(组件)三种元素。这些元素整体构成了ECharts的图表。ZRender作为ECharts的基石,它封装了底层的Canvas API,使得ECharts可以通过简单的配置项来完成复杂的数据可视化图表绘制。此外,ECharts还采用了MVC框架,即模型(Model)、视图(View)和控制器(Controller)的设计模式,这种设计模式使得ECharts具有高度的可扩展性和可维护性。DataV:专为数据可视化设计的组件库,提供丰富的图表和可视化组件D3.js:一个基于Web标准的数据可视化JavaScript库,强调网页上的可视化和交互。Chart.js:一个轻量级的JavaScript图表库,简单易用。Plotly:一个知名的、功能强大的数据可视化框架,可以构建交互式图形和创建丰富多样的图表和地图。vChart: 是一个由字节跳动开源的可视化解决方案 简单易用、跨平台、高性能的前端可视化图表库。图表由数据、series 系列和组件三部分组成。
GIS地图框架:
Turf: 地理空间分析库,处理各种地图算法,推荐做GIS业务的可以用起来,非常强大且方便。OpenLayers:是一个开源的JavaScript库,专门用于Web GIS客户端开发,它能够帮助开发者在网页上创建交互式地图。mapbox: 一个功能强大且具有吸引力的地图平台,它提供了高质量的地图数据、多种样式选择和高级功能,如动态地图样式和3D效果,并支持地图主题定制化。cesiumjs: 一个强大的二三维都支持的GIS开源框架,可用于创建3D地球和地图,支持广泛的地理空间数据格式。高性能,支持复杂GIS数据分析演示。 框架底层是WebGL渲染,能够渲染复杂3D场景,支持3D模型加载,支持高度定制化地图样式,拥有丰富且庞大的API接口,能够与threejs配合使用,免费开源。leaflet: 一个轻量级的JavaScript库,用于在网页上创建交互式地图。它以其简洁的API、易用性以及对移动设备的友好支持而广受欢迎。国内厂商: 高德地图、百度地图、天地图等。
数据大屏自适应适配方案
为什么要做大屏自适应适配?
多设备支持:随着技术的发展,用户可能会在多种设备上查看数据大屏,包括PC、平板、手机以及各种尺寸的显示屏。自适应适配确保数据大屏能够在不同设备上都提供良好的用户体验。交互优化:不同的设备可能有不同的交互方式(如触摸屏、鼠标、键盘等),自适应适配可以优化这些交互,使其更加直观和便捷。成本效益:开发一个自适应的数据大屏可以减少为不同设备单独设计和开发的成本,提高开发效率。
三大常用方式
vw/vh方案概述:按照设计稿的尺寸,将px按比例计算转为vw和vh优点:可以动态计算图表的宽高,字体等,灵活性较高,当屏幕比例跟 ui 稿不一致时,不会出现两边留白情况缺点:每个图表都需要单独做字体、间距、位移的适配,比较麻烦scale方案概述:监听浏览器窗口大小变化动态调整元素的缩放比例优点:代码量少,适配简单 、一次处理后不需要在各个图表中再去单独适配.缺点:留白,有事件热区偏移(事件热区偏移通常指的是在用户界面设计中,由于屏幕尺寸、分辨率或布局的变化导致原本设计的交互区域(如按钮、链接等)的实际位置与预期位置不符,从而影响用户操作的现象)
rem + vw vh方案概述:获得 rem 的基准值 ,动态的计算html根元素的font-size,图表中通过 vw vh 动态计算字体、间距、位移等优点:布局的自适应代码量少,适配简单缺点:留白,有时图表需要单独适配字体
使用插件 autofit.js
npm i autofit.js
import autofit from 'autofit.js'
export default {
mounted() {
autofit.init({
dh: 1080, // 设计稿的高度,默认是 1080
dw: 1920, // 设计稿的宽度,默认是 1920
el: "body", // 渲染的dom
resize: true // 是否监听resize事件,默认是 true
})
},
}