拖拽生成图表(拖拖鼠标图表自己动起来)
拖拽生成图表(拖拖鼠标图表自己动起来)
2024-09-30 07:10:30  作者:南喃自语  网址:https://m.xinb2b.cn/sport/mtr279205.html

来看一组炫酷的动画图表:





这样的效果拿去演讲、报告、放在门户主页上岂不是非常吸睛?

制作起来一定很难吧?

NO!很简单:一行代码也不用写

只需在下面这个图形界面中,导入一个你做好的图表的SVG文件,然后通过鼠标拖动图表单元,设定出场一下时间和动画效果就可以了。


数据和动画始终保持一致,也无需你计算实现动画背后的各种复杂机制,速度、形式、缓动函数等参数都已帮你安排好:


而如此快捷地实现动态图表的背后,更厉害的是还有一门针对可视化动画的声明式语言——Canis

它不依赖任何第三方库,由图形学大牛北京大学陈宝权教授的弟子——葛彤等人提出;葛彤刚刚在山东大学成功博士答辩,合作导师是汪云海教授。

也是第一门为构建可视化动画提供全面支持的领域特定语言(DSL)。

陈教授也赞扬葛彤以一己之力开发了这样一个多层级系统。


除了上面所说的特点,该平台支持的图表形式也非常丰富:只要你能做出来的都可以在这里实现动画效果。


而且除了可以导出mp4文件应用到日常场景,如果你是开发人员——那就太好了,量身定做:

它可以导出Lottie动画的JSON格式,帮你轻松实现跨iOS、Android、Web等平台使用


第一门可视化动画构建语言

拜在图形学大牛门下,葛彤的研究方向为数据可视化,这种技术可以大大提升信息传递的效率。

但他发现市面上制作相关动画的工具都不够便利。

比如有些类库(比如D3)需要用户手动计算动画中的各个时间节点并通过调整底层的视觉通道状态来实现动画效果;

再比如Matplotlib、Pandas这种大家很熟悉的工具,虽然很强大但更是需要你一行一行地写代码才能制作效果。

这些都对不会编程的用户非常不友好。

而创建动画的专业工具(比如AE)在制作动画图表时,虽然不需要编程了,但操作过程也很繁琐:需要逐帧制作,而且动画与数据是脱离的,根本没法保证结果一致性。

那就利用所学自己搞一个数据驱动的可视化动画图表创作工具吧。

一开始,葛彤准备直接做一个去编程化的创作平台。

但他在前期的探索和尝试中发现,这样一个复杂系统的内部需要有一个严谨且支持描述各类图表多样的动画形式的规则,以及相应的编译和渲染机制。

于是他们从广义的动画理开始研究,之后结合可视化的特点以及可视化动画在应用过程中的一些规律、特殊结构特点,并探索在语法中如何能够合理地编码和反映这些特点。

最终设计出来了这门DSL语言Canis(其含义是Chart Animations,固缩写为Canis,也是大犬星座的名称,方便记忆)。

葛彤介绍道,这也是整个工程中最困难的一步,前人也没有相关研究。


最终他们提出的Canis拥有一套完整的包括声明式语法规范(就像JSON格式一样)、数据驱动的动画声明方式以及编译机制在内的体系,不依赖任何第三方库。

他们的第一个成果是直接通过Canis编程来实现动画的在线平台:


该平台借助数据对图元 (比如一个条形图中每一个条形就是一个图元)进行管理、定义动画时序结构和动画效果。

从而实现对可视化动画中数据、视觉编码、时序三者关系的建立,保证动画与数据的一致性。

我们最开始需要导入的图表(一张多张都可),格式为SVG的变体dSVG(可以通过Canis的预处理器直接生成)。

它会在文件中各图元所对应的标签分别添加三个额外属性:“id”、“class” 和 “datum”。

其中“id”与“class”为图元提供索引并描述图元类型(例如矩形、圆形、自由路径等);

“datum” 则包含了该图元所对应的源数据内容(下图最左)。


通过它们,Canis就能自动建立好图元之间的联系,之后我们就可以定义图元的动画效果了。

由于Canis解耦了编码与实现逻辑,用户只需要定义做什么,而不需要定义如何做。

你只需要填好“选择(selector)”、“划分(grouping)”、“时序效果(timing)”、“过渡效果(type)”等的“参数”就好了(具体语法可参见Canis在线平台的文档)。

比如在下面这个气泡图中,通过将“type”设置为“fade”就能实现气泡以淡出的方式进行数据状态切换。

如果你觉得这样有点生硬——只需把“fade”改成“magic move”就好了。

Canis编译器此时会在状态间进行插值,实现平滑的morphing变换,不需要你设定别的参数。


再比如通过改变grouping所依据的数据属性,就能快捷地改变动画时序把下表中的划分依据从按类型(Type)变成按时间(Month)。


说到Canis编译器,它采用JavaScript编写而成,为支持高效的跨平台渲染和应用,会经过以下五个步骤将代码编译为Lottie编码:


编译过程中又会以数据表的形式存储和维护编译中间变量,就像这样:


添加自动补全算法的更友好界面

虽然Canis的语法简单,但一个真正用户友好的平台还是尽量避免直接进行代码控制,于是他们的第二个成果就出来了:

基于Canis做了一个不需要编码的图形界面,就是文章开头看到的那个,葛彤将其命名为CAST(Canis Studio)。

CAST采用了直观描述动画过程的视觉规范,对Canis编译器进行了优化,提供了增量式编译的支持,以提高交互渲染效率。

用户在界面中的交互行为会被翻译为相应的动画调整指令,用以生成和更新系统内部所维护的Canis对象,而Canis对象的更新又会实时的在界面中反馈给用户。

除了增量编译,CAST还增加了数据驱动的自动补全算法,以帮助用户更快捷地完成动画制作。

主要包括两方面内容:

一是关键帧的自动补全

这主要是为了解决在构建关键帧的过程中,一些过小或与其他重叠的图元导致选择过程十分困难且错误率较高的问题。

CAST的做法是在用户选择少量图元之后,根据视觉通道的感知有效性,对已选和未选图元所对应的数据属性编码的视觉通道进行对比。

之后根据编码感知有效性最高的通道的数据属性(如相比使用颜色,用位置信息所编码的数据属性更容易被人发现和观察),对未选图元进行分组和筛选并反馈给用户,如下所示。


二是动画序列推荐补全

在用户完成少量关键帧的构建后(如完成第一帧后),CAST依旧是会依据视觉通道的感知有效性原则,根据用户已经创建的关键帧中的图元,对全部的图元进行分组以创建后序的关键帧。

并依据数据属性各种可能的排列组合顺序生成可能的关键帧序列。

之后对比序列内容找到关键帧差异位点,反馈给用户进行选择,以确认最终用户所预期的动画序列。


在上面这个示意图中,预期动画为颜色相同的点簇按照先行后列的方式进行动画。

用户在创建完第一个关键帧之后,仅需通过两次关键帧的选择(第二帧和第三帧)系统便可确定唯一的动画序列进行自动补全。

至此,第一个专门为可视化动画而研究和设计的系统就暂时完成了。

在被问及到未来还会对Canis/Canis做什么更新或改进时,葛博士表示,可以添加gif导出功能,来进一步提升实用性。

另外,对于Canis而言,考虑将其扩展为一个通用性更强的插件库,使其能够嵌入任何常见的可视化创作语言中,完成可视化与动画的创作过程的融合;

对于CAST则是考虑通过嵌入预处理模块,将其与图形化的可视化构建工具进行对接或融合以达到相同的目的。

作者介绍

葛彤,即将从山东大学博士毕业,为Canis&CAST这两篇论文的一作;


导师为陈宝权(北京大学教授,前沿计算研究中心执行主任,IEEE Fellow)和汪云海(山东大学计算机学院教授)。


之所以选择数据可视化作为研究方向,葛博士表示:

一方面是平时比较喜欢去写一些能够解决工作或者生活中的实际问题的小程序;另一方面是爱好画画和做设计。

在了解数据可视化的过程中,会被那种严谨的美感所吸引,同时它又在数据分析的过程中扮演着越来越重要的角色,切实的解决着我们身边的问题。

而除了他的两位导师,还有很多研究人员对Canis&CAST的完成作出了贡献:

比如微软雷德蒙研究院的研究员Bongshin Lee,她是人机交互和可视化领域有影响力的专家;


还有山东大学的Zhao Yue,加州大学圣巴巴拉分校博士毕业的Ren Donghao等人。

最后,葛彤表示,Canis/CAST是一个开源项目,希望有更多的人加入进来,把这个做的越来越完善,在各个领域的应用中产生影响。

在线平台:Canishttps://canisjs.github.io/canis-editor/CASThttps://chartanimation.github.io/cast/#/

论文地址:Canishttp://www.yunhaiwang.net/EuroVis2020/canis/paper.pdf

CASThttps://tgeconf.github.io/assets/pdf/CHI_2021__CAST_compressed.1a9a51d2.pdf(ACM CHI 2021最佳论文荣誉提名)

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态

  • 罗志祥朱碧石跳舞完整版(罗志祥与天团KINJAZ强强联手)
  • 2024-09-30罗志祥与天团KINJAZ强强联手世界千变万化,小编无处不在新的一天,小编又和大家见面啦!每天小编都会给大家带来关于音乐方面的资讯,或许其中就有你们想知道的哦,你们期待吗?那么今天我又会给大家带来什么样的分享呢?下面一起来听小编的叙述。
  • 燕麦片什么时候吃减肥瘦身(常吃燕麦片瘦身又养生)
  • 2024-09-30常吃燕麦片瘦身又养生前几天,我们在妈妈群里聊起了“吃早餐”这件事,被安利了“早餐男神”的性感故事——被称作“正能量博主”的ChargeWu,从2014年开始,便和妻子一起坚持“好好吃早餐”,还每天在网上po出自己的早餐图。
  • 为什么我的芝士不会q弹拉丝(认识一下那些能拉丝的芝士)
  • 2024-09-30认识一下那些能拉丝的芝士披萨里面什么芝士在拉丝?就是马苏里拉!英文Mozzarella​告诉你一个秘密:新鲜的马苏里拉与那些大路货的烘培原料,完全是两码事!新鲜的马苏里拉,含水量很高,有着诱人的纯白色,外形圆润可爱,一口下去。
  • 洋洋自得顺口溜(念念有益的顺口溜)
  • 2024-09-30念念有益的顺口溜害人之心不可有,防人之心不可无平日待人多厚道,急难自有人相扶求人须求大丈夫,济人须济急时无渴时一滴如甘露,醉后添杯不如无训子须从胎教始,端蒙必自小学初劝君莫将油炒菜,留与儿孙夜读书时来易觅金千两,运去。
  • 固本清源守初心活动总结(鑫源公司开展百年潮涌)
  • 2024-09-30鑫源公司开展百年潮涌为庆祝中国共产党成立100周年,赓续红色血脉,继承光荣传统大连鑫源实业总公司党支部于8月3日组织参观中共甘井子区委、甘井子区人民政府举办《百年潮涌初心如磐——甘井子区庆祝中国共产党成立100周年大型主。
  • 智能制造技术2025(唱作工业互联网)
  • 2024-09-30唱作工业互联网工业4.0是近几年非常耳熟能详的概念,这个名词也意味着工业上出现的新要求、新变革笔者强调,工业4.0将会是中国传统经济和互联网经济的一次“大蜕变”接下来,看看笔者是如何分析的吧:一、工业4.0人类过去。
  • 动画梦工厂2009年动画(梦工厂动画刚刚重生)
  • 2024-09-30梦工厂动画刚刚重生在竞争激烈的好莱坞,有两条很难打破的宿命:1.拥有原创力的制片厂牌,一定要找到多金的爸爸才能存活2.商业电影系列的续作,通常都要比首部曲要差在千禧年的头10年,由犹太电影商人杰弗瑞·卡森伯格一手创办的。
  • apex游戏中途闪退有哪些原因(Apex英雄闪退解决方法)
  • 2024-09-30Apex英雄闪退解决方法Apex作为一款多人竞技的大逃杀类型作品,凭借其独特的超能力设定在一众竞品中杀出重围,并且现在收获了很多的忠实玩家最近更新新赛季之后,很多玩家进入到游戏当中,游戏频繁出现闪退的问题,很多玩家对于闪退问。
  • 武则天乾陵入口被发现(武则天乾陵为什么一直没有被盗)
  • 2024-09-30武则天乾陵为什么一直没有被盗乾陵,位于陕西省咸阳市乾县县城北部6公里的梁山上,为唐高宗李治与武则天的合葬墓,占地面积40平方公里乾陵神道乾陵建于唐光宅元年(684年),神龙二年加盖,采用“因山为陵”的建造方式,陵区仿京师长安城建。
  • 尺之所长寸之所短(尺有所短寸有所长)
  • 2024-09-30尺有所短寸有所长再漂亮的人,也会有凄凉;再执着的未来,也会有以往;再潇洒的海鸥,也会有迷惘;再优美的旋律,也会有情殇;再期盼的目光,也会有失望;再低调的故事,也会有倔强;再纯净的文字,也会有悲伤;再动人的风花雪月,也。
  • 人物国画开脸(国画中什么叫开脸)
  • 2024-09-30国画中什么叫开脸开脸,俗称对脸部的雕刻或描绘中国画的造型基础是白描只通过一根线的细微变化,来展示人物的神情及着装通过这些宋画中截取的开脸来看,可谓形神兼备,栩栩如生所谓开脸好坏,当然是指脸部的刻画是否写实且传神,这是。
  • 金庸遗言背后的故事(金庸此生难言的痛)
  • 2024-09-30金庸此生难言的痛作者:山佳百年风云,能留下名字的,都是非常人物而以撰写武侠小说闻名的金庸大师,想来也定在其中在外人眼中,金大师创办《明报》,马到成功,有名有利,家住山顶道一号,晚年又娶得娇妻,艳福不浅但谁又知金庸老先。