D3.js、echar.js 前端必备大数据技能

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:

1f8a0d22d3773b62ad6b5df361b87657adb31314

大数据可视化

「 前言 

web前端一直都是个讲究门面和艺术美感的行业,如果你以为逻辑很强就够了,那就错了,你只适合做后端,真正的好前端是对美感和可视化的东西有一种接近痴狂的爱好,这种契机可以驱使你做出更好的产品和提升。

现在又是大前端时代,前端不但要求基本的传统前端技能,也要会后端语言开发,前后配合思想,更是在大数据潮流下,显得至关重要,因为人人都讲究大数据,可你只有枯燥的海量的数据,展示不出来,没有可视化、可操作的入口,那这些数据也只是一堆二进制而已。

啰嗦这么多,问题来了,我们傲娇的web前端究竟如何在大数据里分一杯羹、出一份力、如何在大数据公司,靠技能谋得重要职位呢?

大数据这个行业很细分,也很庞大,数据可视化是其中一门,也是最为基础和不可或缺的一环,因为内心再好,如果你长得像凤姐,也没人愿意看你一眼,所以,我们的时代又一次来临了。

如果在以前,要实现各种图表,我们只能选择flash。,因为那时候没有svg、canvas的概念,但是flash成本较高,图表多的时候很耗性能。后来越来越多的js框架出现,得益于HTML5的api的推广和完善,把可视化发挥的淋漓尽致,其中不乏佼佼者老外的D3.js、highcharts、百度的echarts等

那今天北妈就来捋一捋这几个用的最频繁的可视化js库的特点和选择问题。

「 框架简单对比 

1.highcharts
这是一个北妈认为很好用,也很亲民的一个项目框架。
这个框架的中国社区的童鞋,比较积极地维护和不断更新着好多实例,往往能在丰富的例子找到类似的表达样图。但翻译难免有疏漏,而且中文版官网,打开速度着急,更新频率也不行了。推荐:3半星
所以自行斟酌,找几个图给大家看看

e52ae2f1842add48ebdc9de461844fa6390ec041


21defbaf473837ddecb0580123a07d39b49a357c


实现代码方式:简单、原始、粗暴- 还是 jq的方式


964226ed4e1f146bce4aaa61f5c22a9bd6024963



2. D3.js
这D3.js除了用强大、牛鼻来形容,就不知道怎么去来表达它的厉害之处了。里面的组件和实现效果真的眼花缭乱,只有你想不到,没有它办不到,这个也被视为js 可视化框架的鼻祖楷模,但文档难懂,属性繁多,入门略有瑕疵 推荐:4个半星

c181abef3ba9e0baa0b08085180e103f2f78f212

6d649fee6397bb592c90e61181fd07c722764e1f

ce6a9755343c291e930ef1cd9d7ef935b45842cc


D3.js 入门略麻烦,但效果繁多,组建灵活,而且还有专门的书来讲解怎么做,可以说发展到现在已经是全世界公认的第一可视化框架,甚至发展了很多其他学科出来,专门研究优化 D3这个神器,想了解的自己去官网



3. Echarts.JS
echarts 我相信大家已经算熟悉了,百度为数不多的良心库,也算是为咱们做了一件好事,echarts 我用的也算多,入手简单,文档清晰,效果绚丽,主要是国产,文档也很容易看,由百度前端团队专人维护,不必担心突然夭折,所以推荐: 5个星。

38f23277b8c96d61fcf2813253680013b75ddfb9


12c043c308c01f1cee6e4c5765d5bcd52fb241e9

6b4a208ae9235c6014f623c769dadf3a1e1db938

0b6f7f084a53ce458b25e901707458607bd5ed57

5b772cc601ca71a61f7dc5a338cab17e3d6a3e1e

代码实现是数组 map形式,有助于json方式传送,更适合前后分离的方式和后端对接数据,所以我第一推荐echarts,如果只是一般的数据效果,都可满足。

「 中肯建议 

Highcharts和echarts是一类东西,以现成、管吃饱著称,拿来就用,但跟d3.js维度不同。

假如前面两个能解决你普通需求,比如图表、比例图、地图维度什么的,那么就可以先不考虑d3。
英语好选highcharts,英语不好选echarts。想省事儿 用 echarts,想自己实现牛鼻的效果首选d3.js

d3.js 更自由强大些,如果某天一个傻x客户要求你做一个 定制牛鼻的chart,你一看我擦百度 echarts没有现成的,想让我死?

那你就只能找d3.js自己拼接撸一个,美观度和工作量都要自己把握。
而性能方面,简单图表都没什么差距,但数据量大、复杂运算、动画效果多的话,都快不了,所以3个框架,性能上没什么高低贵贱,主要是看你喜好


原文发布时间:2018年01月30日

作者:前端你别闹

本文来源:CSDN  如需转载请联系原作者

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
8天前
|
前端开发 JavaScript
前端ES5 | js —添加元素方法
前端ES5 | js —添加元素方法
|
9天前
|
JavaScript 前端开发
前端JS函数
【9月更文挑战第4天】前端JS函数
19 6
|
12天前
|
开发者 图形学 开发工具
Unity编辑器神级扩展攻略:从批量操作到定制Inspector界面,手把手教你编写高效开发工具,解锁编辑器隐藏潜能
【8月更文挑战第31天】Unity是一款强大的游戏开发引擎,支持多平台发布与高度可定制的编辑器环境。通过自定义编辑器工具,开发者能显著提升工作效率。本文介绍如何使用C#脚本扩展Unity编辑器功能,包括批量调整游戏对象位置、创建自定义Inspector界面及项目统计窗口等实用工具,并提供具体示例代码。理解并应用这些技巧,可大幅优化开发流程,提高生产力。
39 1
|
12天前
|
开发者 图形学 C#
深度解密:Unity游戏开发中的动画艺术——Mecanim状态机如何让游戏角色栩栩如生:从基础设置到高级状态切换的全面指南,助你打造流畅自然的游戏动画体验
【8月更文挑战第31天】Unity动画系统是游戏开发的关键部分,尤其适用于复杂角色动画。本文通过具体案例讲解Mecanim动画状态机的使用方法及原理。我们创建一个游戏角色并设计行走、奔跑和攻击动画,详细介绍动画状态机设置及脚本控制。首先导入动画资源并添加Animator组件,然后创建Animator Controller并设置状态间的转换条件。通过编写C#脚本(如PlayerMovement)控制动画状态切换,实现基于玩家输入的动画过渡。此方法不仅适用于游戏角色,还可用于任何需动态动画响应的对象,增强游戏的真实感与互动性。
33 0
|
12天前
|
Android开发 iOS开发 C#
Xamarin:用C#打造跨平台移动应用的终极利器——从零开始构建你的第一个iOS与Android通用App,体验前所未有的高效与便捷开发之旅
【8月更文挑战第31天】Xamarin 是一个强大的框架,允许开发者使用单一的 C# 代码库构建高性能的原生移动应用,支持 iOS、Android 和 Windows 平台。作为微软的一部分,Xamarin 充分利用了 .NET 框架的强大功能,提供了丰富的 API 和工具集,简化了跨平台移动应用开发。本文通过一个简单的示例应用介绍了如何使用 Xamarin.Forms 快速创建跨平台应用,包括设置开发环境、定义用户界面和实现按钮点击事件处理逻辑。这个示例展示了 Xamarin.Forms 的基本功能,帮助开发者提高开发效率并实现一致的用户体验。
29 0
|
12天前
|
开发者 C# Android开发
明白吗?Xamarin与Native的终极对决:究竟哪种开发方式更适合您的项目需求,让我们一探究竟!
【8月更文挑战第31天】随着移动应用开发的普及,开发者面临多种技术选择。本文对比了跨平台解决方案Xamarin与原生开发方式的优势与劣势。Xamarin使用C#进行跨平台开发,代码复用率高,可大幅降低开发成本;但因基于抽象层,可能影响性能。原生开发则充分利用平台特性,提供最佳用户体验,但需维护多套代码库,增加工作量。开发者应根据项目需求、团队技能和预算综合考量,选择最适合的开发方式。
55 0
|
12天前
|
开发者 Android开发 iOS开发
Xamarin开发者的神器!揭秘你绝不能错过的插件和工具,让你的开发效率飞跃式提升
【8月更文挑战第31天】Xamarin.Forms 是一个强大的框架,让开发者通过单一共享代码库构建跨平台移动应用,支持 iOS、Android 和 Windows。使用 C# 和 XAML,它简化了多平台开发流程,保持一致的用户体验。本指南通过创建一个简单的 “HelloXamarin” 应用介绍 Xamarin.Forms 的基本功能和工作原理。首先配置 Visual Studio 开发环境,然后创建并运行一个包含标题、按钮和消息标签的示例应用,展示如何定义界面布局及处理按钮点击事件。这帮助开发者快速入门 Xamarin.Forms,提高跨平台应用开发效率。
27 0
|
12天前
|
前端开发 Java UED
JSF 面向组件开发究竟藏着何种奥秘?带你探寻可复用 UI 组件设计的神秘之路
【8月更文挑战第31天】在现代软件开发中,高效与可维护性至关重要。JavaServer Faces(JSF)框架通过其面向组件的开发模式,提供了构建复杂用户界面的强大工具,特别适用于设计可复用的 UI 组件。通过合理设计组件的功能与外观,可以显著提高开发效率并降低维护成本。本文以一个具体的 `MessageComponent` 示例展示了如何创建可复用的 JSF 组件,并介绍了如何在 JSF 页面中使用这些组件。结合其他技术如 PrimeFaces 和 Bootstrap,可以进一步丰富组件库,提升用户体验。
22 0
|
12天前
|
Java 开发者 关系型数据库
JSF与AWS的神秘之旅:如何在云端部署JSF应用,让你的Web应用如虎添翼?
【8月更文挑战第31天】在云计算蓬勃发展的今天,AWS已成为企业级应用的首选平台。本文探讨了在AWS上部署JSF(JavaServer Faces)应用的方法,这是一种广泛使用的Java Web框架。通过了解并利用AWS的基础设施与服务,如EC2、RDS 和 S3,开发者能够高效地部署和管理JSF应用。文章还提供了具体的部署步骤示例,并讨论了使用AWS可能遇到的挑战及应对策略,帮助开发者更好地利用AWS的强大功能,提升Web应用开发效率。
38 0
|
12天前
|
API UED 开发者
如何在Uno Platform中轻松实现流畅动画效果——从基础到优化,全方位打造用户友好的动态交互体验!
【8月更文挑战第31天】在开发跨平台应用时,确保用户界面流畅且具吸引力至关重要。Uno Platform 作为多端统一的开发框架,不仅支持跨系统应用开发,还能通过优化实现流畅动画,增强用户体验。本文探讨了Uno Platform中实现流畅动画的多个方面,包括动画基础、性能优化、实践技巧及问题排查,帮助开发者掌握具体优化策略,提升应用质量与用户满意度。通过合理利用故事板、减少布局复杂性、使用硬件加速等技术,结合异步方法与预设缓存技巧,开发者能够创建美观且流畅的动画效果。
35 0