本发明涉及数据处理的技术领域,尤其涉及数据分析及可视化处理方法、装置。
背景技术:
现在社会有多种对数据进行分析处理的需求,在对数据进行处理后,又需要对结果进行展示。例如在沈阳统一平台的决策分析中,有一个2017年新增的分析功能,需要对所有在沈阳市缴纳社保的人口,进行一系列重要标签的分析,从而分析出不同标签组合下的人口流失情况。为了更好的展示标签组合,可以设计“树根-树枝”的路径式展示模型。树的层级是容易处理的,或者说在我们拿到树节点的数据时就可以方便的得到,这变向的说明了一个问题,即节点的y坐标很容易计算,相对来说x坐标的计算更加复杂。树的布局问题,其实就是计算并美化各个节点x坐标的问题。
技术实现要素:
本发明的目的是提供数据分析及可视化处理方法、装置,旨在解决美化各个节点x坐标的问题。
本发明解决其技术问题所采用的技术方案是:
一种数据分析及可视化处理方法,包括:
给出树的根节点以及各个节点之间的父子关系;
对树进行两次遍历。
在上述实施例的基础上,进一步地,所述对树进行两次遍历的步骤,具体为:
对树进行后序遍历,获取每个节点的当前x坐标,确定每个内部节点的暂定x坐标,计算每个内部节点的暂定x坐标和当前x坐标之间的偏移量;所述内部节点为除根节点、叶子节点之外的节点;
根据每个内部节点的暂定x坐标和当前x坐标之间的偏移量,对树进行前序遍历,调整每个内部节点所拥有的子树。
在上述实施例的基础上,进一步地,所述确定每个内部节点的暂定x坐标的步骤,具体为:
当节点是叶子节点时,以节点的当前x坐标作为下述步骤中该节点的暂定x坐标;
当节点只有一个左子节点时,节点的暂定x坐标是其左子节点的暂定x坐标加上一个固定偏移量;
当节点只有一个右子节点时,节点的暂定x坐标是其右子节点的暂定x坐标减去一个固定偏移量;
当节点有左右两个子节点时,节点的暂定x坐标是其两个子节点的暂定x坐标的平均值。
在上述任意实施例的基础上,进一步地,节点之间的连线的绘制算法为贝塞尔曲线。
一种数据分析及可视化处理装置,包括:
初始模块,用于给出树的根节点以及各个节点之间的父子关系;
遍历模块,用于对树进行两次遍历。
在上述实施例的基础上,进一步地,所述遍历模块用于:
本发明的有益效果是:
本发明提供了数据分析及可视化处理方法、装置,在描述树的数据结构中,先给出根节点,同时给出各个节点的父子关系;之后对树进行两次遍历,第一次为后序遍历,为每一个内部节点找出最佳的位置,得到每个节点所对应的偏移量;第二次遍历是前序遍历,根据第一次为每一个内部节点计算出的偏移,调整每一个内部节点所拥有的子树,通过对内部节点的x坐标的美化实现了对整个树的美化。本发明可以由javascript+svg实现,能够作为通用组件化的二叉树或多叉树绘制工具。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1a示出了本发明实施例提供的一种数据分析及可视化处理方法的流程示意图;
图1b示出了本发明实施例提供的一种数据分析及可视化处理方法的应用示例图;
图2示出了本发明实施例提供的一种数据分析及可视化处理装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不限定本发明。
具体实施例一
如图1a所示,本发明实施例提供了一种数据分析及可视化处理方法,包括:
步骤s101,给出树的根节点以及各个节点之间的父子关系;
步骤s102,对树进行两次遍历。
优选的,本发明实施例中,所述步骤s102,可以具体为:
步骤s1021,对树进行后序遍历,获取每个节点的当前x坐标,确定每个内部节点的暂定x坐标,计算每个内部节点的暂定x坐标和当前x坐标之间的偏移量;所述内部节点为除根节点、叶子节点之外的节点;
步骤s1022,根据每个内部节点的暂定x坐标和当前x坐标之间的偏移量,对树进行前序遍历,调整每个内部节点所拥有的子树。
优选的,本发明实施例中,所述确定每个内部节点的暂定x坐标的步骤,可以具体为:
如图1b所示,树的层级是容易处理的,或者说在我们拿到树节点的数据时,就可以方便的得到,这说明节点的y坐标很容易计算,所以树的布局问题,其实就是计算并美化各个节点x坐标的问题。本发明实施例中所述的固定偏移量可以是一个固定数值。
本发明实施例在描述树的数据结构中,先给出根节点,同时给出各个节点的父子关系;之后对树进行两次遍历,第一次为后序遍历,为每一个内部节点找出最佳的位置,得到每个节点所对应的偏移量;第二次遍历是前序遍历,根据第一次为每一个内部节点计算出的偏移,调整每一个内部节点所拥有的子树,通过对内部节点的x坐标的美化实现了对整个树的美化。本发明实施例可以由javascript+svg实现,能够作为通用组件化的二叉树或多叉树绘制工具。
本发明实施例的核心算法参考了ws算法,即wetherellandshannon'salgorithm,两次遍历。
本发明实施例对连线的绘制算法不做限定,优选的,节点之间的连线的绘制算法可以为贝塞尔曲线。贝塞尔曲线技术成熟,应用广泛。
具体实施例二
如图2所示,本发明实施例提供了一种数据分析及可视化处理装置,包括:
初始模块201,用于给出树的根节点以及各个节点之间的父子关系;
遍历模块202,用于对树进行两次遍历。
优选的,本发明实施例中,所述遍历模块202可以用于:
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。尽管本发明已进行了一定程度的描述,明显地,在不脱离本发明的精神和范围的条件下,可进行各个条件的适当变化。可以理解,本发明不限于所述实施方案,而归于权利要求的范围,其包括所述每个因素的等同替换。