桑基图的生成方法、装置、存储介质和电子设备与流程

文档序号:17090335发布日期:2019-03-13 23:22阅读:352来源:国知局
桑基图的生成方法、装置、存储介质和电子设备与流程
本公开涉及信息
技术领域
,具体地,涉及一种桑基图的生成方法、装置、存储介质和电子设备。
背景技术
:随着互联网、云计算等信息技术的迅猛发展,相应带来的数据量也是呈现爆发式的增长,在对大量数据进行分析和挖掘的过程中,经常会借助图形化的手段展示数据,以更直观、有效地分析数据中的特征。桑基图(英文:sankeydiagram)作为一种特定类型的流程图,能够利用图中延伸出的分支的宽度来表示数据流量的大小,在能源、材料分析、金融、销售等领域都有着广泛的应用。而现有技术中,在根据数据绘制桑基图的过程中,对数据的特性有限制,必须要保证数据是有向并且是无环的数据,而针对现实场景中产生的数据,经常会有不同维度的数据中具有命名相同的数据,在绘制桑基图的过程中可能会出现环路,导致无法绘图,或者绘图过程崩溃。技术实现要素:本公开的目的是提供一种桑基图的生成方法、装置、存储介质和电子设备,用以解决现有技术中桑基图绘制过程中要求数据必须是有向并且是无环的问题。为了实现上述目的,根据本公开实施例的第一方面,提供一种桑基图的生成方法,所述方法包括:将数据库中的多个维度按照预设的至少一个关联关系进行分组,以获取至少一个链接组,每个所述链接组中包括一个所述关联关系指示的源维度和目的维度,每个维度对应所述数据库中的一个数据列,每个维度包括多个字段,所述多个字段中包含多种字段,内容相同的字段为同一种字段;对所述至少一个链接组中的每个链接组的源维度和目的维度在所述数据库中对应的权重进行聚类,以获取所述每个链接组中的源维度的每种字段和目的维度的每种字段之间的度量;为所述多个维度中的每个维度的每种字段添加标签信息,所述标签信息用于指示字段所属的维度;根据所述每个链接组中所述源维度的每种字段和所述目的维度的每种字段之间的度量,以及每个维度中每种字段对应的所述标签信息,生成所述至少一个关联关系对应的桑基图。可选地,所述对所述至少一个链接组中的每个链接组的源维度和目的维度在所述数据库中对应的权重进行聚类,以获取所述每个链接组中的源维度的每种字段和目的维度的每种字段之间的度量,包括:将所述至少一个链接组中的任一链接组中的第一源维度和第一目的维度在所述数据库中对应的权重进行聚类,以获取所述第一源维度的每种字段和所述第一目的维度的每种字段之间的度量,所述数据库中每个数据行包括所述多个维度中每个维度的一个字段,和每个数据行对应的所述权重;重复执行所述将所述至少一个链接组中的任一链接组中的第一源维度和第一目的维度在所述数据库中对应的权重进行聚类,以获取所述第一源维度的每种字段和所述第一目的维度的每种字段之间的度量的步骤,直至获取所述每个链接组中的源维度的每种字段和目的维度的每种字段之间的度量;对每个维度中的每种字段在所述数据库中对应的权重进行聚类,以获取每个维度中每种字段的度量。可选地,所述将所述至少一个链接组中的任一链接组中的第一源维度和第一目的维度在所述数据库中对应的权重进行聚类,以获取所述第一源维度的每种字段和所述第一目的维度的每种字段之间的度量,包括:将所述数据库中的目标行对应的所述权重进行求和,以获取第一度量,所述目标行是所述第一源维度中的字段为第一字段,且所述第一目的维度的字段为第二字段的数据行,所述第一字段为所述第一源维度中的任一种字段,所述第二字段为所述第一目的维度中的任一种字段;将所述第一度量作为所述第一字段和所述第二字段之间的度量。可选地,所述根据所述每个链接组中所述源维度的每种字段和所述目的维度的每种字段之间的度量,以及每个维度中每种字段对应的所述标签信息,生成所述至少一个关联关系对应的桑基图,包括:根据所述至少一个链接组,确定所述多个维度的维度顺序;根据所述维度顺序,将所述多个维度生成所述桑基图中的多个维度轴;根据所述每个维度中的每种字段的所述标签信息,将所述每个维度中的每种字段依次显示在所述每个维度对应的维度轴上,所述每个维度中的每种字段的显示宽度与所述每个维度中的每种字段的度量正相关;将所述多个维度轴中的任一维度轴上的第三字段和另一维度轴上的第四字段进行连接,所述第三字段为所述任一维度轴上的任一种字段,所述第四字段为所述另一维度轴上的任一种字段,所述第三字段和所述第四字段之间的连接宽度与所述第三字段和所述第四字段之间的度量正相关;重复执行所述将所述多个维度轴中的任一维度轴上的第三字段和另一维度轴上的第四字段进行连接的步骤,以生成所述桑基图。可选地,所述根据所述至少一个链接组,确定所述多个维度的维度顺序,包括:根据所述至少一个链接组,确定所述多个维度的所述维度顺序,所述维度顺序中,任一维度的排序在所述任一维度的目的维度之前,在所述任一维度的源维度之后;所述根据所述维度顺序,将所述多个维度生成所述桑基图中的多个维度轴,包括:根据所述维度顺序,将所述多个维度生成所述桑基图中的所述多个维度轴,所述桑基图中的所述多个维度轴的排列顺序与所述维度顺序一致;删除所述多个维度轴中重复的维度轴。可选地,所述对每个维度中的每种字段在所述数据库中对应的权重进行聚类,以获取每个维度中每种字段的度量,包括:将所述数据库中的目标行对应的所述权重进行求和,以获取第二度量,所述目标行是第一维度中的字段为第五字段的数据行,所述第一维度为所述多个维度中的任一维度,所述第五字段为所述第一维度中的任一种字段;将所述第二度量作为所述第一维度的第五字段的度量。根据本公开实施例的第二方面,提供一种桑基图的生成装置,所述装置包括:分组模块,用于将数据库中的多个维度按照预设的至少一个关联关系进行分组,以获取至少一个链接组,每个所述链接组中包括一个所述关联关系指示的源维度和目的维度,每个维度对应所述数据库中的一个数据列,每个维度包括多个字段,所述多个字段中包含多种字段,内容相同的字段为同一种字段;聚类模块,用于对所述至少一个链接组中的每个链接组的源维度和目的维度在所述数据库中对应的权重进行聚类,以获取所述每个链接组中的源维度的每种字段和目的维度的每种字段之间的度量;标记模块,用于为所述多个维度中的每个维度的每种字段添加标签信息,所述标签信息用于指示字段所属的维度;生成模块,用于根据所述每个链接组中所述源维度的每种字段和所述目的维度的每种字段之间的度量,以及每个维度中每种字段对应的所述标签信息,生成所述至少一个关联关系对应的桑基图。可选地,所述聚类模块包括:第一聚类子模块,用于将所述至少一个链接组中的任一链接组中的第一源维度和第一目的维度在所述数据库中对应的权重进行聚类,以获取所述第一源维度的每种字段和所述第一目的维度的每种字段之间的度量,所述数据库中每个数据行包括所述多个维度中每个维度的一个字段,和每个数据行对应的所述权重;循环子模块,用于重复执行所述将所述至少一个链接组中的任一链接组中的第一源维度和第一目的维度在所述数据库中对应的权重进行聚类,以获取所述第一源维度的每种字段和所述第一目的维度的每种字段之间的度量的步骤,直至获取所述每个链接组中的源维度的每种字段和目的维度的每种字段之间的度量;第二聚类子模块,用于对每个维度中的每种字段在所述数据库中对应的权重进行聚类,以获取每个维度中每种字段的度量。可选地,所述第一聚类子模块用于:将所述数据库中的目标行对应的所述权重进行求和,以获取第一度量,所述目标行是所述第一源维度中的字段为第一字段,且所述第一目的维度的字段为第二字段的数据行,所述第一字段为所述第一源维度中的任一种字段,所述第二字段为所述第一目的维度中的任一种字段;将所述第一度量作为所述第一字段和所述第二字段之间的度量。可选地,所述生成模块包括:顺序确定子模块,用于根据所述至少一个链接组,确定所述多个维度的维度顺序;维度轴生成子模块,用于根据所述维度顺序,将所述多个维度生成所述桑基图中的多个维度轴;显示子模块,用于根据所述每个维度中的每种字段的所述标签信息,将所述每个维度中的每种字段依次显示在所述每个维度对应的维度轴上,所述每个维度中的每种字段的显示宽度与所述每个维度中的每种字段的度量正相关;连接子模块,用于将所述多个维度轴中的任一维度轴上的第三字段和另一维度轴上的第四字段进行连接,所述第三字段为所述任一维度轴上的任一种字段,所述第四字段为所述另一维度轴上的任一种字段,所述第三字段和所述第四字段之间的连接宽度与所述第三字段和所述第四字段之间的度量正相关;生成子模块,用于重复执行所述将所述多个维度轴中的任一维度轴上的第三字段和另一维度轴上的第四字段进行连接的步骤,以生成所述桑基图。可选地,所述顺序确定子模块用于:根据所述至少一个链接组,确定所述多个维度的所述维度顺序,所述维度顺序中,任一维度的排序在所述任一维度的目的维度之前,在所述任一维度的源维度之后;所述维度轴生成子模块用于:根据所述维度顺序,将所述多个维度生成所述桑基图中的所述多个维度轴,所述桑基图中的所述多个维度轴的排列顺序与所述维度顺序一致;删除所述多个维度轴中重复的维度轴。可选地,所述第二聚类子模块用于:将所述数据库中的目标行对应的所述权重进行求和,以获取第二度量,所述目标行是第一维度中的字段为第五字段的数据行,所述第一维度为所述多个维度中的任一维度,所述第五字段为所述第一维度中的任一种字段;将所述第二度量作为所述第一维度的第五字段的度量。根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面提供的桑基图的生成方法的步骤。根据本公开实施例的第四方面,提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面提供的桑基图的生成方法的步骤。通过上述技术方案,本公开首先将数据库中的多个维度按照关联关系分为一个或多个链接组,每个链接组中包括一个关联关系指示的源维度和目的维度,其中一个维度对应数据库中的一个数据列,再对全部链接组中每个链接组的源维度和目的维度进行聚类,以得到源维度的每种字段和目的维度的每种字段之间的度量,之后为每个维度中的每种字段添加能够指示该字段所属维度的标签信息,最后根据每个链接组中源维度的每种字段和目的维度的每种字段之间的度量,以及每个维度中每种字段对应的标签信息,生成关联关系对应的桑基图。能够解决当数据存在环路时,导致不能绘制桑基图的问题,降低了绘制桑基图时对数据的限制,提高了桑基图的通用性。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1是根据一示例性实施例示出的一种桑基图的生成方法的流程图;图2是根据一示例性实施例示出的另一种桑基图的生成方法的流程图;图3a是根据一示例性实施例示出的另一种桑基图的生成方法的流程图;图3b是根据图3a所示桑基图的生成方法示出的一种维度轴的示意图;图3c是根据图3a所示桑基图的生成方法示出的另一种维度轴的示意图;图3d是根据图3a所示桑基图的生成方法示出的一种桑基图的示意图;图4是根据一示例性实施例示出的一种桑基图的生成装置的框图;图5是根据一示例性实施例示出的另一种桑基图的生成装置的框图;图6是根据一示例性实施例示出的另一种桑基图的生成装置的框图;图7是根据一示例性实施例示出的一种电子设备的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。图1是根据一示例性实施例示出的一种桑基图的生成方法的流程图,如图1所示,该方法包括:步骤101,将数据库中的多个维度按照预设的至少一个关联关系进行分组,以获取至少一个链接组,每个链接组中包括一个关联关系指示的源维度和目的维度,每个维度对应数据库中的一个数据列,每个维度包括多个字段,多个字段中包含多种字段,内容相同的字段为同一种字段。举例来说,数据库中包含多个数据列和多个数据行,每个数据列可以对应一个维度,可以理解为数据的一种属性。每个数据列(即每个维度)可以包括多个字段,可以理解为该属性对应的值,而按照相同字段作为一种字段又可以将多个字段分为多种字段。每个数据行中包括了多个数据列中每个数据列的一个字段,和该数据行对应的权重,可以理解为一条数据记录,该数据记录中包含了数据对应的多个属性,和这条记录对应的权重。首先,按照预设的至少一个关联关系将多个维度进行分组,以得到多个链接组。每个链接组中都包括一个关联关系指示的源维度和目的维度,源维度对应该关联关系的出发,目的维度对应该关联关系的目的,因此,链接组内的结构可以为:源维度-目的维度。以表1为例,数据库中包含了3个维度:产品类型、销售区域、状态,3个维度下分别对应的数据为:产品类型包括(数据可视化、数据运维、云服务、其他),销售区域包括(东北、华北、华南、华东、西北、其他),状态包括(机会、中标、招标、实施),权重可以理解为产品的具体数量。预设的关联关系可以包括:不同类型的产品在各个销售区域内的销量(即:源维度为:产品类型,目的维度:销售区域)、各个销售区域内产品的状态(即:源维度为:销售区域,目的维度:状态),那么可以得到两个链接组:产品类型-销售区域,销售区域-状态。表1产品类型销售区域状态权重数据可视化华北招标10数据可视化华南招标15数据可视化华北实施5数据可视化华南中标25数据可视化华北机会15数据运维西北中标10数据可视化东北中标20其他华北机会20云服务西北实施5云服务华东中标15。。。。。。。。。。。。步骤102,对至少一个链接组中的每个链接组的源维度和目的维度在数据库中对应的权重进行聚类,以获取每个链接组中的源维度的每种字段和目的维度的每种字段之间的度量。示例的,在确定了链接组之后,根据数据库中各个数据行中的数据,将每个链接组中的源维度和目的维度按照权重进行聚类,以得到每个链接组中的源维度的每种字段和目的维度的每种字段之间的度量。聚类的过程是对任一链接组中源维度的每种字段和目的维度的每种字段两两组合对应的权重求和,可以理解为对数据库中所有的数据行进行遍历,筛选出该链接组中源维度对应的字段相同,且目的维度对应的字段也相同的数据行,再将这些数据行对应的权重进行求和。步骤103,为多个维度中的每个维度的每种字段添加标签信息,标签信息用于指示字段所属的维度。举例来说,由于现实场景中产生的数据,经常会有不同维度的数据中具有命名相同的数据,比如表1中,“销售区域”维度中存在命名为“其他”的字段,而“产品类型”维度中也存在命名为“其他”的字段。那么在产品类型-销售区域这个链接组中,销售区域维度中的“其他”,到产品类型维度中的“其他”,会出现环路,导致在生成桑吉图的过程中,无法处理销售区域维度中的“其他”,到产品类型维度中的“其他”的数据流量。因此,可以为多个维度中的每个维度中的每种字段添加一个能够指示该字段属于哪个维度的标签信息。可以利用预设的符号(例如:<$-$>),将每种字段和标签信息连接起来。例如:针对销售区域维度中的“其他”,可以在添加能够指示该字段“其他”是属于销售区域维度的标签信息,那么可以将字段“其他”处理为“其他<$-$>销售区域”。步骤104,根据每个链接组中源维度的每种字段和目的维度的每种字段之间的度量,以及每个维度中每种字段对应的标签信息,生成至少一个关联关系对应的桑基图。示例的,可以根据多个链接组中源维度、目的维度,生成多个维度轴,多个维度轴的之间的顺序可以根据维度轴对应的维度在各个链接组中的关系来确定,之后根据每个维度中的每种字段的标签信息,将每个维度中的每种字段依次显示在每个维度对应的维度轴上,最后依次将每个维度轴上的每种字段和,与该种字段存在关联关系的另一种字段连接起来,以生成至少一个关联关系对应的桑基图。综上所述,本公开首先将数据库中的多个维度按照关联关系分为一个或多个链接组,每个链接组中包括一个关联关系指示的源维度和目的维度,其中一个维度对应数据库中的一个数据列,再对全部链接组中每个链接组的源维度和目的维度进行聚类,以得到源维度的每种字段和目的维度的每种字段之间的度量,之后为每个维度中的每种字段添加能够指示该字段所属维度的标签信息,最后根据每个链接组中源维度的每种字段和目的维度的每种字段之间的度量,以及每个维度中每种字段对应的标签信息,生成关联关系对应的桑基图。能够解决当数据存在环路时,导致不能绘制桑基图的问题,降低了绘制桑基图时对数据的限制,提高了桑基图的通用性。图2是根据一示例性实施例示出的另一种桑基图的生成方法的流程图,如图2所示,步骤102包括:步骤1021,将至少一个链接组中的任一链接组中的第一源维度和第一目的维度在数据库中对应的权重进行聚类,以获取第一源维度的每种字段和第一目的维度的每种字段之间的度量,数据库中每个数据行包括多个维度中每个维度的一个字段,和每个数据行对应的权重。步骤1022,重复执行步骤1021,直至获取每个链接组中的源维度的每种字段和目的维度的每种字段之间的度量。举例来说,聚类过程是将每一对存在关联关系的字段(即任一链接组中的源维度的每种字段和目的维度的每种字段)对应的权重进行求和。其中,数据库中的每个数据行包括多个维度中每个维度的一个字段,和每个数据行对应的权重(可以理解为一条数据记录,该数据记录中包含了数据对应的多个属性,和这条记录对应的权重)。重复执行步骤1021,直至获取每个链接组中的源维度的每种字段和目的维度的每种字段之间的度量。其中,步骤1021可以通过以下步骤来实现:1)将数据库中的目标行对应的权重进行求和,以获取第一度量,目标行是第一源维度中的字段为第一字段,且第一目的维度的字段为第二字段的数据行,第一字段为第一源维度中的任一种字段,第二字段为第一目的维度中的任一种字段。2)将第一度量作为第一字段和第二字段之间的度量。以步骤1021中任一链接组为:产品类型-销售区域,那么第一源维度为:产品类型,第一目的维度为:销售区域,第一字段为:“数据可视化”,第二字段为:“华南”,为例,那么“数据可视化”和“华南”之间的度量的获取步骤即为:将数据库中,每一条在产品类型维度为“数据可视化”,销售区域维度为“华南”的数据行作为目标行(可以有一个或多个目标行),将目标行对应的权重进行求和,得到第一度量,将第一度量作为“数据可视化”和“华南”之间的度量。根据表1中所提供的数据为例,假设在表1中可以找到具有“数据可视化”和“华北”字段的目标行有3个,对应的权重分别为:10、5、15,具有“数据可视化”和“华南”字段的目标行有2个,对应的权重分别为:15、25,具有“数据可视化”和“东北”字段的目标行有1个,对应的权重为:20,那么可以确定“数据可视化”和“华北”之间的度量为10+5+15=30,“数据可视化”和“华南”之间的度量为15+25=40,“数据可视化”和“东北”之间的度量为20,依次类推,可以求得产品类型中的每种字段和“销售区域”维度中的每种字段之间的度量,例如,可以为表2所示:表2产品类型销售区域度量数据可视化华北30数据可视化华南40数据可视化东北20数据运维其他35云服务西北25。。。。。。。。。步骤1023,对每个维度中的每种字段在数据库中对应的权重进行聚类,以获取每个维度中每种字段的度量。步骤1023可以通过以下步骤来实现:3)将数据库中的目标行对应的权重进行求和,以获取第二度量,目标行是第一维度中的字段为第五字段的数据行,第一维度为多个维度中的任一维度,第五字段为第一维度中的任一种字段。4)将第二度量作为第一维度的第五字段的度量。示例的,每个维度中每种字段的度量可以通过对每个维度中每个字段在数据库中对应的权重进行聚类来确定。以销售区域对应的维度来举例,其中字段“华北”的度量,可以将数据库中,每一条销售区域维度为“华北”的数据行作为目标行(可以有一个或多个目标行),将目标行对应的权重进行求和,得到第二度量,将第二度量作为字段“华北”的度量。例如,根据表1中所提供的数据,找到包含“华北”字段的目标行有5个,对应的权重分别为10、5、15、20、20,那么可以确定“华北”的度量为10+5+15+20+20=70,找到包含“东北”字段的目标行有3个,对应的权重分别为:20、25、15,那么可以确定“东北”的度量为20+25+15=60,找到包含“华南”字段的目标行有2个,对应的权重分别为:15、25,那么可以确定“华南”的度量为15+25=40,依次类推,可以确定销售区域的每种字段的度量。示例的,销售区域的每种字段的度量可以如表3所示:表3销售区域度量东北60华北70华南40华东15西北55其他40图3a是根据一示例性实施例示出的另一种桑基图的生成方法的流程图,如图3a所示,步骤104包括:步骤1041,根据至少一个链接组,确定多个维度的维度顺序。步骤1042,根据维度顺序,将多个维度生成桑基图中的多个维度轴。举例来说,在确定了每个链接组中源维度的每种字段和目的维度的每种字段之间的度量,以及每个维度中每种字段对应的标签信息后,可以生成关联关系对应的桑基图。首先,可以根据至少一个链接组,确定多个维度的维度顺序,因为链接组中包括的源维度和目的维度,其中包含了两个维度之间的方向关系:即关联关系是从源维度的各个字段到目的维度的各个字段,因此可以根据链接组确定多个维度之间的维度顺序。再根据维度顺序,依次生成桑基图中的多个维度轴。其中,步骤1041的实现方式可以是:a)根据至少一个链接组,确定多个维度的维度顺序,维度顺序中,任一维度的排序在任一维度的目的维度之前,在任一维度的源维度之后。步骤1042的实现方式可以是:b)根据维度顺序,将多个维度生成桑基图中的多个维度轴,桑基图中的多个维度轴的排列顺序与维度顺序一致。c)删除多个维度轴中重复的维度轴。示例的,确定维度顺序后,按照维度顺序,依次生成维度轴,并将重复的维度轴删除,以a、b、c、d四个维度举例,维度顺序为b-b-a-c-c-d,对应生成桑基图中的6个维度轴,再将重复的维度轴删除之后,得到b-a-c-d对应的4个维度轴,这样能够在对数据库中的数据不做限制的前提下,使维度之间不会出现环路的问题。以步骤101中得到了两个链接组:产品类型-销售区域,销售区域-状态为例,那么维度顺序为:产品类型-销售区域-状态,按照维度顺序生成维度轴,为如图3b所示。步骤1043,根据每个维度中的每种字段的标签信息,将每个维度中的每种字段依次显示在每个维度对应的维度轴上,每个维度中的每种字段的显示宽度与每个维度中的每种字段的度量正相关。举例来说,在生成了维度轴之后,根据每个维度中的每种字段的标签信息,将每个维度中的每种字段依次显示在每个维度对应的维度轴上,每个维度中的每种字段的显示宽度与步骤1023中求得的每个维度中的每种字段的度量正相关,即每种字段的度量越大,该字段的显示宽度越大(能够反映出数据流量),根据表1中的数据,将产品类型、销售区域、状态3个维度中的每种字段,根据每种字段的度量依次显示在维度轴上,如图3c所示。步骤1044,将多个维度轴中的任一维度轴上的第三字段和另一维度轴上的第四字段进行连接,第三字段为任一维度轴上的任一种字段,第四字段为另一维度轴上的任一种字段,第三字段和第四字段之间的连接宽度与第三字段和第四字段之间的度量正相关。步骤1045,重复执行步骤1044,以生成桑基图。示例的,根据步骤1021至步骤1022求得的每个链接组中的源维度的每种字段和目的维度的每种字段之间的度量,将每个维度轴上的每种字段和,与该种字段存在关联关系(即分属于同一个链接组)的另一种字段连接起来。以任一链接组为:产品类型-销售区域为例,产品类型上的第三字段为“数据可视化”,销售区域上的第四字段为“华北”,根据表2中的数据可以得到“数据可视化”-“华北”的度量为30,连接产品类型对应的维度轴上的“数据可视化”,和销售区域对应的维度轴上的“华北”,并且连接宽度与“数据可视化”-“华北”的度量30成正相关,如图3d所示。重复执行步骤1044,直至将每个链接组中的源维度的每种字段和目的维度的每种字段之间都连接起来,生成的桑基图即为至少一个关联关系对应的桑基图。综上所述,本公开首先将数据库中的多个维度按照关联关系分为一个或多个链接组,每个链接组中包括一个关联关系指示的源维度和目的维度,其中一个维度对应数据库中的一个数据列,再对全部链接组中每个链接组的源维度和目的维度进行聚类,以得到源维度的每种字段和目的维度的每种字段之间的度量,之后为每个维度中的每种字段添加能够指示该字段所属维度的标签信息,最后根据每个链接组中源维度的每种字段和目的维度的每种字段之间的度量,以及每个维度中每种字段对应的标签信息,生成关联关系对应的桑基图。能够解决当数据存在环路时,导致不能绘制桑基图的问题,降低了绘制桑基图时对数据的限制,提高了桑基图的通用性。图4是根据一示例性实施例示出的一种桑基图的生成装置的框图,如图4所示,该装置200包括:分组模块201,用于将数据库中的多个维度按照预设的至少一个关联关系进行分组,以获取至少一个链接组,每个链接组中包括一个关联关系指示的源维度和目的维度,每个维度对应数据库中的一个数据列,每个维度包括多个字段,多个字段中包含多种字段,内容相同的字段为同一种字段。聚类模块202,用于对至少一个链接组中的每个链接组的源维度和目的维度在数据库中对应的权重进行聚类,以获取每个链接组中的源维度的每种字段和目的维度的每种字段之间的度量。标记模块203,用于为多个维度中的每个维度的每种字段添加标签信息,标签信息用于指示字段所属的维度。生成模块204,用于根据每个链接组中源维度的每种字段和目的维度的每种字段之间的度量,以及每个维度中每种字段对应的标签信息,生成至少一个关联关系对应的桑基图。图5是根据一示例性实施例示出的另一种桑基图的生成装置的框图,如图5所示,聚类模块202包括:第一聚类子模块2021,用于将至少一个链接组中的任一链接组中的第一源维度和第一目的维度在数据库中对应的权重进行聚类,以获取第一源维度的每种字段和第一目的维度的每种字段之间的度量,数据库中每个数据行包括多个维度中每个维度的一个字段,和每个数据行对应的权重。循环子模块2022,用于重复执行将至少一个链接组中的任一链接组中的第一源维度和第一目的维度在数据库中对应的权重进行聚类,以获取第一源维度的每种字段和第一目的维度的每种字段之间的度量的步骤,直至获取每个链接组中的源维度的每种字段和目的维度的每种字段之间的度量。第二聚类子模块2023,用于对每个维度中的每种字段在数据库中对应的权重进行聚类,以获取每个维度中每种字段的度量。可选地,第一聚类子模块2021可以用于执行以下步骤:1)将数据库中的目标行对应的权重进行求和,以获取第一度量,目标行是第一源维度中的字段为第一字段,且第一目的维度的字段为第二字段的数据行,第一字段为第一源维度中的任一种字段,第二字段为第一目的维度中的任一种字段。2)将第一度量作为第一字段和第二字段之间的度量。第二聚类子模块2023可以用于实现以下步骤:3)将数据库中的目标行对应的权重进行求和,以获取第二度量,目标行是第一维度中的字段为第五字段的数据行,第一维度为多个维度中的任一维度,第五字段为第一维度中的任一种字段;4)将第二度量作为第一维度的第五字段的度量。图6是根据一示例性实施例示出的另一种桑基图的生成装置的框图,如图6所示,生成模块204包括:顺序确定子模块2041,用于根据至少一个链接组,确定多个维度的维度顺序。维度轴生成子模块2042,用于根据维度顺序,将多个维度生成桑基图中的多个维度轴。显示子模块2043,用于根据每个维度中的每种字段的标签信息,将每个维度中的每种字段依次显示在每个维度对应的维度轴上,每个维度中的每种字段的显示宽度与每个维度中的每种字段的度量正相关。连接子模块2044,用于将多个维度轴中的任一维度轴上的第三字段和另一维度轴上的第四字段进行连接,第三字段为任一维度轴上的任一种字段,第四字段为另一维度轴上的任一种字段,第三字段和第四字段之间的连接宽度与第三字段和第四字段之间的度量正相关。生成子模块2045,用于重复执行将多个维度轴中的任一维度轴上的第三字段和另一维度轴上的第四字段进行连接的步骤,以生成桑基图。可选地,顺序确定子模块2041可以用于执行以下步骤:a)根据至少一个链接组,确定多个维度的维度顺序,维度顺序中,任一维度的排序在任一维度的目的维度之前,在任一维度的源维度之后。维度轴生成子模块2042可以用于执行以下步骤:b)根据维度顺序,将多个维度生成桑基图中的多个维度轴,桑基图中的多个维度轴的排列顺序与维度顺序一致。c)删除多个维度轴中重复的维度轴。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。综上所述,本公开首先将数据库中的多个维度按照关联关系分为一个或多个链接组,每个链接组中包括一个关联关系指示的源维度和目的维度,其中一个维度对应数据库中的一个数据列,再对全部链接组中每个链接组的源维度和目的维度进行聚类,以得到源维度的每种字段和目的维度的每种字段之间的度量,之后为每个维度中的每种字段添加能够指示该字段所属维度的标签信息,最后根据每个链接组中源维度的每种字段和目的维度的每种字段之间的度量,以及每个维度中每种字段对应的标签信息,生成关联关系对应的桑基图。能够解决当数据存在环路时,导致不能绘制桑基图的问题,降低了绘制桑基图时对数据的限制,提高了桑基图的通用性。图7是根据一示例性实施例示出的一种电子设备300的框图。如图7所示,该电子设备300可以包括:处理器301,存储器302。该电子设备300还可以包括多媒体组件303,输入/输出(i/o)接口304,以及通信组件305中的一者或多者。其中,处理器301用于控制该电子设备300的整体操作,以完成上述的桑基图的生成方法中的全部或部分步骤。存储器302用于存储各种类型的数据以支持在该电子设备300的操作,这些数据例如可以包括用于在该电子设备300上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器302可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件303可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器302或通过通信组件305发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口304为处理器301和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件305用于该电子设备300与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件305可以包括:wi-fi模块,蓝牙模块,nfc模块。在一示例性实施例中,电子设备300可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的桑基图的生成方法。在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的桑基图的生成方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器302,上述程序指令可由电子设备300的处理器301执行以完成上述的桑基图的生成方法。综上所述,本公开首先将数据库中的多个维度按照关联关系分为一个或多个链接组,每个链接组中包括一个关联关系指示的源维度和目的维度,其中一个维度对应数据库中的一个数据列,再对全部链接组中每个链接组的源维度和目的维度进行聚类,以得到源维度的每种字段和目的维度的每种字段之间的度量,之后为每个维度中的每种字段添加能够指示该字段所属维度的标签信息,最后根据每个链接组中源维度的每种字段和目的维度的每种字段之间的度量,以及每个维度中每种字段对应的标签信息,生成关联关系对应的桑基图。能够解决当数据存在环路时,导致不能绘制桑基图的问题,降低了绘制桑基图时对数据的限制,提高了桑基图的通用性。以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,本领域技术人员在考虑说明书及实践本公开后,容易想到本公开的其它实施方案,均属于本公开的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。同时本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。本公开并不局限于上面已经描述出的精确结构,本公开的范围仅由所附的权利要求来限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1