svg性能低?能展现的点比较少?真的是这样吗?
2016-03-15 15:52
609 查看
很多人会说用d3画svg有局限,d3本来就不适合大数据可视化
说出这些话的人,首先要说的就是 他不懂大数据 因为大数据的精髓不在于数据量,而在于数据分析
也就是说可视化的目的是为了便于对数据的分析
那么问题来了
首先我们看一下这幅图
95之前的朋友 肯定记得 老电视机分辨率低,如果距离很近的话 就会看到这个景象 我们所说的像素也是这样
现如今的电视或者电脑的分辨率都很高 即使很近,恐怕也看不到这种现象了
有人说 拿d3画1万+的点就会卡爆任何浏览器
那么我们来算一下 1万+个点是什么概念 是否有人真的会需要看1万+个点来分析数据呢
电脑显示屏的分辨率是1920*1080 乘法的结果是 2073600个点
在这样的分辨率下面 我们人眼能看清楚的大约是长宽10像素左右 那么长宽10像素 也就是总共有100像素喽
也就是100个像素格子 我们才能舒服的看清楚我们画的点 鼠标才能准确轻易的移到上面
2073600/100=20736 也就是这种人眼刚刚能舒服的看到的点 画的满满的也就只能显示2万多个点而已
实际上我们的项目因为有导航栏,菜单栏,边栏等原因 正常的显示区域也就一般而已
也就是说 将我们的显示区域画满 也就只有1万多个点
不过 你画的满满的看个毛是吧
肯定显示区域很多地方其实是空着的,所以一般最多也就1000多个circle而已 事实上这种情况也是很少的
也就是正常的人,经过合理的数据过滤 剩余的点在1000以下比较合理
也就是说有些人所说的d3用svg做可视化 效率低的问题是扯淡的 因为真的如果显示那么多的点 即使你是重叠起来的 因为对于数据分析没有用 那他也是失败的
所以说大胆的用d3吧
说出这些话的人,首先要说的就是 他不懂大数据 因为大数据的精髓不在于数据量,而在于数据分析
也就是说可视化的目的是为了便于对数据的分析
那么问题来了
首先我们看一下这幅图
95之前的朋友 肯定记得 老电视机分辨率低,如果距离很近的话 就会看到这个景象 我们所说的像素也是这样
现如今的电视或者电脑的分辨率都很高 即使很近,恐怕也看不到这种现象了
有人说 拿d3画1万+的点就会卡爆任何浏览器
那么我们来算一下 1万+个点是什么概念 是否有人真的会需要看1万+个点来分析数据呢
电脑显示屏的分辨率是1920*1080 乘法的结果是 2073600个点
在这样的分辨率下面 我们人眼能看清楚的大约是长宽10像素左右 那么长宽10像素 也就是总共有100像素喽
也就是100个像素格子 我们才能舒服的看清楚我们画的点 鼠标才能准确轻易的移到上面
2073600/100=20736 也就是这种人眼刚刚能舒服的看到的点 画的满满的也就只能显示2万多个点而已
实际上我们的项目因为有导航栏,菜单栏,边栏等原因 正常的显示区域也就一般而已
也就是说 将我们的显示区域画满 也就只有1万多个点
不过 你画的满满的看个毛是吧
肯定显示区域很多地方其实是空着的,所以一般最多也就1000多个circle而已 事实上这种情况也是很少的
也就是正常的人,经过合理的数据过滤 剩余的点在1000以下比较合理
也就是说有些人所说的d3用svg做可视化 效率低的问题是扯淡的 因为真的如果显示那么多的点 即使你是重叠起来的 因为对于数据分析没有用 那他也是失败的
所以说大胆的用d3吧
相关文章推荐
- Vc2015 utf8 unix 格式出错
- 搜索字符串中字符出现的次数,并且高亮显示
- 最简单地实现标签页导航-----TabLayout+ViewPager
- js获取当前页面的URL
- 【推荐】oc解析HTML数据的类库(爬取网页数据)
- HttpServletRequest 获取URL的方法及区别
- 15款Cocos2d-x游戏源码
- 如何开发Xcode插件
- MAC、IP头、TCP头、UDP头帧格式、详解
- 优化Hibernate所鼓励的7大措施:
- android 中byte[] bitmap drawable inputstream的相互转换
- 剑指offer代码解析——面试题22栈的压入、弹出序列
- which、where、locate、find的使用与区别
- 4.线程和进程
- Android中管理多个Fragment的最佳实践,完美解决保存状态与重影问题
- 剑指offer代码解析——面试题22栈的压入、弹出序列
- HMM隐Markov模型的原理及应用建模
- xml查询节点
- iOS生成开发者证书和发布者证书(新手可看)
- CentOS6.5安装与配置Mysql数据库