博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端:可视化数据分析探索之Canvas与SVG
阅读量:7083 次
发布时间:2019-06-28

本文共 804 字,大约阅读时间需要 2 分钟。

  hot3.png

    在讨论关于可视化数据之前先来理解一下基础概念,关于Canvas与SVG是什么的问题?

    Canvas:Canvas 通过 JavaScript 来绘制 2D 图形;Canvas 是逐像素进行渲染的;在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。   

    SVG: SVG 是一种使用 XML 描述 2D 图形的语言;SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器;在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。

    对比来看:

    1)Canvas提供的功能更原始,适合像素处理,动态渲染和大数据量绘制

    2)SVG功能更完善,适合静态图片展示,高保真文档查看和打印的应用场景

    3)Canvas是使用JavaScript程序绘图(动态生成),SVG是使用XML文档描述来绘图。

    从这点来看:SVG更适合用来做动态交互,而且SVG绘图很容易编辑,只需要增加或移除相应的元素就可以了。

    同时SVG是基于矢量的,所有它能够很好的处理图形大小的改变。Canvas是基于位图的图像,它不能够改变大小,只能缩放显示;所以说Canvas更适合用来实现类似于Flash能做的事情(当然现在Canvas与Flash相比还有一些不够完善的地方)。

    通过了解我们知道了Canvas和SVG是个什么东西有什么区别之后,接下来我们就可以讨论关于在Web 上数据可视化的问题?

    先看看阿里的 目前来说是数据可视化非常强的一个工具;

    围绕:数据的可视化问题有哪些,概念是什么,我们怎样在数据之上搭建我们自己的可视化工具

转载于:https://my.oschina.net/wii01/blog/1510392

你可能感兴趣的文章
bash批量创建目录
查看>>
Windows pscp
查看>>
初学Python的学习笔记8----面向对象、数据封装、访问限制、继承和多态
查看>>
CAS注销后自定义跳转路径
查看>>
[大数据量]布隆过滤器(Bloom Filter)适用类型以及具体示例
查看>>
Linux | OOM机制的理解
查看>>
linux启动nagios无法通过web访问解决
查看>>
OpenSessionInViewFilter原理以及为什么要用OpenSessionInViewFilter
查看>>
决策树
查看>>
微服务实战(六):选择微服务部署策略
查看>>
mybatis入门教程(二)
查看>>
Java NIO(一)
查看>>
npm 更新模块
查看>>
Docker介绍
查看>>
MYSQL之SQL高级运用(帮助你高效率编程)
查看>>
Silverlight+WCF 新手实例 象棋 棋子移动-吃子(五)
查看>>
利用for循环插入多条数据
查看>>
阿里云maven库地址 和maven跳过测试 和常见maven命令
查看>>
Android网络防火墙实现初探
查看>>
欲保长寿,先补亏损 —胡海牙
查看>>