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


大数据可视化

「 前言 

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

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

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

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

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

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

「 框架简单对比 

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



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




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



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



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






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

「 中肯建议 

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

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

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

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

「 问题来了 

那么说了这么多,我向大家也能够清楚有效的选择合适的框架给自己用,但是学海无涯,就是有的人特别想知道这些图表是怎样构成的,怎样可以做出来如此绚丽和多变的效果js,canvas到底是什么,echarts.js 我自己可不可以写出来? 

大数据到底可以干什么,这么海量的数据也造就了无数工作机会,我们怎么第一时间掌握技术栈 把握住?

这些疑问,我也收到很多,那么今天找了一个专门研究大数据的高手,统一给大家回复,他的机构也是专门研究和教授大数据技术和从业指导,我相信对有心人是极有帮助,我上边讲解的这些也都有交,如果你感兴趣和问题就 识别二维码加他吧,毕竟术业有专攻

扫码下方二维码添加询问

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
将Python文件中的变量导出到HTML文件中的echar.js中,可以通过以下步骤实现: 1. 在Python文件中,使用模板引擎(例如Jinja2)将变量渲染到HTML文件中。具体来说,可以通过将变量传递给模板上下文,在HTML文件中使用模板标记(例如{{ variable_name }})来引用它们。 2. 在HTML文件中,使用JavaScript来获取渲染后的变量并将其赋值给echar.js中的变量。具体来说,可以在HTML文件中定义一个JavaScript变量,然后使用模板标记将Python变量的值渲染到该变量中。 例如,假设Python文件中有一个名为data的变量,它包含要在echar.js中显示的数据。那么可以按照以下步骤将它导出到HTML文件中的echar.js中: 1. 在Python文件中使用Jinja2将data变量渲染到HTML文件中: ```python from jinja2 import Environment, FileSystemLoader # 加载模板文件 env = Environment(loader=FileSystemLoader('templates')) template = env.get_template('index.html') # 定义要渲染到HTML文件中的变量 data = [1, 2, 3, 4, 5] # 渲染模板并将变量传递给模板上下文 rendered_html = template.render(data=data) # 将渲染后的HTML保存到文件中 with open('rendered.html', 'w') as f: f.write(rendered_html) ``` 2. 在HTML文件中定义一个JavaScript变量,并使用模板标记将Python变量的值渲染到该变量中: ```html <!DOCTYPE html> <html> <head> <title>My Chart</title> <script src="https://cdn.jsdelivr.net/npm/echar[email protected]/dist/echarts.min.js"></script> </head> <body> <div id="my-chart" style="width: 600px; height: 400px;"></div> <script> // 定义一个JavaScript变量来存储数据 var chartData = {{ data }}; // 使用ECharts绘制图表 var chart = echarts.init(document.getElementById('my-chart')); chart.setOption({ xAxis: { type: 'category', data: ['A', 'B', 'C', 'D', 'E'] }, yAxis: { type: 'value' }, series: [{ data: chartData, type: 'bar' }] }); </script> </body> </html> ``` 在这个例子中,Python文件中的data变量被渲染到HTML文件中的{{ data }}模板标记中。当HTML文件被打开时,模板引擎会将该模板标记替换为Python变量的值,从而将数据传递给JavaScript变量chartData。然后,该变量被用于ECharts图表的绘制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值