• Dream.
    2019-10-21
    #1思考一下你经历过的比较大的项目,你是否在项目中使用过数据可视化技术,如果给你一个机会,你觉得该怎样使用呢?

    数据可视化,关键是将用户关注,并且值得分析的数据展示给用户。比如业务系统的业务量,运维系统的监控状态等等。

    相信你用过 Google 地图或 Baidu 地图吧,那么,你觉得地图应用应该是用 SVG 还是 Canvas 来实现呢,为什么?

    地图最好还是采用svg来实现,svg可以很好的支撑地图缩放功能,保证缩放时地图保持原样。如果换成Canvas,放大了会模糊,缩太小了会因为点阵过于密集而造成图像扭曲
    展开

    作者回复: Google 地图使用的是 Canvas,而不是 SVG,这里最主要的原因还是和性能有关的,使用 SVG 的话你会看到大量的 DOM 节点,这些会拖慢地图性能的。

    你可以看一下这两个方案性能的比较:https://www.flickr.com/photos/martin-kliehm/3669738142

    
     2
  • 丁丁历险记
    2019-10-22
    写过vml 的路过,当时做一个魔方导航。
    怀念那个有大把时间做闲着蛋疼的东西的事。

    作者回复: 👍,用过 VML 的程序员可不多

    
     1
  • 小寞子。(≥3≤)
    2019-12-16
    后端多年,第一次接触前端是angular的typescript。 这文章的lambda表达式还好。 我同事的各种join map, Ajax,语法。看的头疼。
    
    
  • 林子恒#Ralegh
    2019-10-24
    老师您好,对于文中有一句话我有点疑问:图像的生成可能需要显著的资源消耗,放到前端可以减轻服务器压力。这里的消耗既包括 CPU、内存等物理资源消耗,还有用户的等待时间消耗,在前端可以更好地给用户提供渲染过程的反馈。
            正常服务器配置和性能会比客户端要好很多,对于资源消耗比较多的操作放在服务端会更合适吧?请老师聊聊您的看法,谢谢

    作者回复: 服务器的性能往往比客户端更高,你说的没错。但是如果用户量很大,服务端需要处理成千上万的图像生成呢?这就对服务端是显著的资源消耗了,而客户端来处理的话,服务端的压力就小很多。

    
    
  • 靠人品去赢
    2019-10-22
    1用过一点数据可视化,画个饼图什么的,python画直方图。给个机会的话我觉得我会考虑两个JS库,因为里面很多例子多种展示方式给用户,可以说体验上更直观,最起码截图做个PPT也不错。
    2用svg不失真,可以不断地放大,但是直接用JS画canvas图还是挺方便的。
     1
    
我们在线,来聊聊吧