CN117593406B - 一种桑基图生成方法、装置、设备及计算机可读存储介质 - Google Patents
一种桑基图生成方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117593406B CN117593406B CN202410071152.4A CN202410071152A CN117593406B CN 117593406 B CN117593406 B CN 117593406B CN 202410071152 A CN202410071152 A CN 202410071152A CN 117593406 B CN117593406 B CN 117593406B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- layer
- dividing
- absolute value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 235000008708 Morus alba Nutrition 0.000 title claims abstract description 23
- 240000000249 Morus alba Species 0.000 title claims abstract description 23
- 238000010586 diagram Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 7
- 230000007547 defect Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003796 beauty Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种桑基图生成方法、装置、设备及计算机可读存储介质,应用于计算机技术领域,包括:将获取的数据匹配到对应的节点位置上,并将数据的绝对值作为节点宽度和连接宽度;将相邻两层内具有逻辑关系的节点划为一个划分组;当划分组内所有节点位置上的数据全为正数或全为负数时,则按照逻辑关系进行连接;当划分组内所有节点位置上的数据不全为正数或不全为负数时,则根据划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据连接关系进行连接,生成桑基图。本方法可以同时支持正值和负值数据的显示,弥补了传统桑基图无法覆盖负值的缺陷,让更多企业的数据可以转化为桑基图,帮助用户更好地理解数据流向,降低理解成本。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种桑基图生成方法、装置、设备及计算机可读存储介质。
背景技术
随着互联网、云计算等信息技术的迅猛发展,数据量呈现爆发式的增长,在对大量数据进行分析和挖掘的过程中,经常会借助图形化的手段展示数据,以便更直观、有效地分析数据中的特征。桑基图(Sankey Diagram)作为一种特定类型的流程图,能够利用图中延伸出的分支的宽度来表示数据流量的大小,在能源、材料分析、金融、销售等领域都有着广泛的应用。
而现有技术中,在根据数据绘制桑基图的过程中,对数据存在一些特定的要求。传统的桑基图仅仅支持正值数据的显示,但针对现实场景中产生的数据,常常会存在大量的负值数据的情况,此时无法借助传统的桑基图展示负值数据,造成无法绘图,或者绘图过程崩溃,以致传统桑基图对数据的覆盖面狭窄,存在一定的局限性。
发明内容
有鉴于此,本发明的目的在于提供一种桑基图生成方法、装置、设备及计算机可读存储介质,解决了现有技术中负值无法用桑基图显示的问题。
为解决上述技术问题,本发明提供了一种桑基图生成方法,包括:
获取节点位置和各节点之间的逻辑关系;
将获取的数据匹配到对应的节点位置上,并将所述数据的绝对值作为节点宽度和连接宽度;
根据节点划分规则对所有节点进行划分,得到多个划分组;所述节点划分规则为将相邻两层内具有所述逻辑关系的节点作为一个划分组;
当所述划分组内所有节点位置上的数据全为正数或全为负数时,则按照所述逻辑关系进行连接;
当所述划分组内所有节点位置上的数据不全为正数或不全为负数时,则根据所述划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据所述连接关系进行连接,生成桑基图。
可选的,所述根据所述划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据所述连接关系进行连接,包括:
当所述划分组中第一层节点与第二层节点为一对二逻辑关系时,所述第二层节点包括第一节点和第二节点,则判断所述第一层节点对应数据与所述第一节点对应数据是否同号;
若异号,则所述第一节点与所述第二节点相连,所述第一层节点与所述第二节点相连;
若同号,则判断所述第一层节点对应数据的绝对值是否大于所述第一节点对应数据的绝对值;
若大于,则所述第一层节点分别与所述第一节点和所述第二节点相连;
若不大于,则所述第一节点分别与所述第二节点和所述第一层节点相连。
可选的,所述根据所述划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据所述连接关系进行连接,包括:
当所述划分组中第一层节点与第二层节点为二对一逻辑关系时,所述第一层节点包括第一节点和第二节点,则判断所述第一节点对应数据与所述第二节点对应数据是否同号;
若同号,则所述第二层节点分别与所述第一节点和所述第二节点相连;
若异号,则判断所述第一节点对应数据的绝对值是否大于所述第二节点对应数据的绝对值;
若大于,则所述第一节点分别与所述第二节点和所述第二层节点相连;
若不大于,则所述第二节点分别与所述第一节点和所述第二层节点相连。
可选的,所述根据所述划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据所述连接关系进行连接,包括:
当所述划分组中第一层节点与第二层节点为多对一逻辑关系时,所述第一层节点至少包括3个节点;
当所述第一层节点中存在1个异号数据时,则将所述第一层节点中同号数据的节点放于第一区域,将所述同号数据之和作为和值,在所述第一层节点和所述第二层节点之间建立中间层节点,所述中间层节点的节点宽度为所述和值的绝对值,所述中间层节点分别与所述第一层节点和所述第二层节点相连;
当所述第一层节点中至少存在2个异号数据时,则所述第一层节点中正数数据的节点放于正数区域,将所述第一层节点中负数数据的节点放于负数区域,并在所述第一层节点和所述第二层节点之间建立中间层正数节点和中间层负数节点,所述中间层正数节点的节点宽度为所述正数数据之和,所述中间层负数节点的节点宽度为所述负数数据之和的绝对值,所述中间层正数节点和所述中间层负数节点相连,所述正数数据的节点与所述中间层正数节点相连,所述负数数据的节点与所述中间层负数节点相连,根据所述第二层节点对应数据的正负情况从所述中间层正数节点和所述中间层负数节点之间确定目标节点,所述第二层节点与所述目标节点相连。
可选的,所述根据所述划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据所述连接关系进行连接,包括:
当所述划分组中第一层节点与第二层节点为二对二逻辑关系时,所述第一层节点包括第一节点和第二节点,所述第二层节点包括第三节点和第四节点,则判断所述第一节点、所述第二节点和所述第三节点是否同号;
若同号,则根据所述第一节点对应数据绝对值与所述第三节点对应数据绝对值的大小关系、绝对值之和与所述第三节点对应数据的大小关系确定第一连接关系,根据所述第一连接关系进行连接;所述绝对值之和为所述第二节点对应数据绝对值与所述第一节点对应数据绝对值的和;
若异号,则根据所述第一节点对应数据、所述第二节点对应数据和所述第三节点对应数据之间的同异号情况确定第二连接关系,根据所述第二连接关系进行连接。
可选的,还包括:
获取各个时间点的数据;
基于所述各个时间点的数据生成动态桑基图。
可选的,还包括:
当增加新节点时,获取所述新节点的位置以及所述新节点与其它节点之间的逻辑关系;
为所述新节点的位置匹配上对应的数据,基于新节点位置匹配的数据,以及所述新节点与其它节点之间的逻辑关系更新所述桑基图。
本发明还提供了一种桑基图生成装置,包括:
获取模块,用于获取节点位置和各节点之间的逻辑关系;
匹配模块,用于将获取的数据匹配到对应的节点位置上,并将所述数据的绝对值作为节点宽度和连接宽度;
划分模块,用于根据节点划分规则对所有节点进行划分,得到多个划分组;所述节点划分规则为将相邻两层内具有所述逻辑关系的节点作为一个划分组;
第一连接模块,用于当所述划分组内所有节点位置上的数据全为正数或全为负数时,则按照所述逻辑关系进行连接;
第二连接模块,用于当所述划分组内所有节点位置上的数据不全为正数或不全为负数时,则根据所述划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据所述连接关系进行连接,生成桑基图。
本发明还提供了一种桑基图生成设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的桑基图生成方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现上述的桑基图生成方法的步骤。
可见,本发明通过对负值数据取绝对值,基于逻辑关系和节点位置,并根据负值与其它节点数据之间的正负情况以及绝对值大小确定各节点之间的连接关系,本方法可以同时支持正值和负值数据的显示,弥补传统桑基图无法覆盖负值的缺陷,让更多企业的金融数据可以转化为桑基图,帮助用户更好地理解数据流向,降低理解成本。
此外,本发明还提供了一种桑基图生成装置、设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种桑基图生成方法的流程图;
图2为本发明实施例提供的一种节点逻辑关系示例图;
图3为本发明实施例提供的一种划分组示例图;
图4为本发明实施例提供的一种一对二结构各节点连接示例图;
图5为本发明实施例提供的一种二对一结构各节点连接示例图;
图6为本发明实施例提供的一种多对一结构各节点连接示例图;
图7为本发明实施例提供的另一种多对一结构各节点连接示例图;
图8为本发明实施例提供的一种二对二结构各节点连接示例图;
图9为本发明实施例提供的一种动态桑基图生成方法示例图;
图10为本发明实施例提供的一种桑基图生成方法的对比图;
图11为本发明实施例提供的一种桑基图生成装置的结构示意图;
图12为本发明实施例提供的一种桑基图生成设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例提供的一种桑基图生成方法的流程图。该方法可以包括:
S101:获取节点位置和各节点之间的逻辑关系。
可以理解的是,在正式将数据生成桑基图之前,需要先获取节点位置和各个节点之间的关系。为了更好地理解步骤S101,可以参考图2,图2为本发明实施例提供的一种节点逻辑关系示例图。由图2可知,节点包括业务一、业务二、业务三等等;节点间的逻辑关系包括业务一、业务二、业务三、业务四和其他业务之和的总和为营业总收入,营业总收入又为营业成本和毛利润,等逻辑关系。
S102:将获取的数据匹配到对应的节点位置上,并将数据的绝对值作为节点宽度和连接宽度。
本实施例将各节点对应的数据匹配到各节点位置上,数据的位置不受数据正负的影响。考虑到数据数值可能为正值也可能为负值,所以节点宽度和连接宽度都为数据的绝对值。例如数值为5,对应节点宽度为5px;数值为-5,对应节点宽度也为5px。
S103:根据节点划分规则对所有节点进行划分,得到多个划分组;节点划分规则为将相邻两层内具有逻辑关系的节点作为一个划分组。
本实施例将相邻两层内具有逻辑关系的节点作为一个划分组,以此得到多个划分组。根据图2可知,可以划分得到一对二、二对一、多对一、二对二等划分组。具体的划分组类型可以参照图3,图3为本发明实施例提供的一种划分组示例图。
S104:当划分组内所有节点位置上的数据全为正数或全为负数时,则按照逻辑关系进行连接。
当划分组内所有节点同号时,即同正或同负时,则直接根据逻辑关系进行连接。
S105:当划分组内所有节点位置上的数据不全为正数或不全为负数时,则根据划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据连接关系进行连接,生成桑基图。
但划分组内不同号时,此时需要根据各节点之间的逻辑关系以及同负号情况确定连接关系。
进一步的,为了更好地说明一对二结构的连接方式,上述根据划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据连接关系进行连接,可以包括以下步骤:
当划分组中第一层节点与第二层节点为一对二逻辑关系时,第二层节点包括第一节点和第二节点,则判断第一层节点对应数据与第一节点对应数据是否同号;
若异号,则第一节点与第二节点相连,第一层节点与第二节点相连;
若同号,则判断第一层节点对应数据的绝对值是否大于第一节点对应数据的绝对值;
若大于,则第一层节点分别与第一节点和第二节点相连;
若不大于,则第一节点分别与第二节点和第一层节点相连。
为了更好地理解上述一对二结构,可以参考图4,图4为本发明实施例提供的一种一对二结构各节点连接示例图。第一层只有一个节点A,第二层包括两个节点:第一节点B和第二节点C。当A与B不同号时,可直接确定节点的连接关系;若A与B同号,则需进一步判断A与B数值绝对值的大小,以此确定连接关系。
进一步的,为了更好地说明二对一结构的连接方式,上述根据划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据连接关系进行连接,可以包括以下步骤:
当划分组中第一层节点与第二层节点为二对一逻辑关系时,第一层节点包括第一节点和第二节点,则判断第一节点对应数据与第二节点对应数据是否同号;
若同号,则第二层节点分别与第一节点和第二节点相连;
若异号,则判断第一节点对应数据的绝对值是否大于第二节点对应数据的绝对值;
若大于,则第一节点分别与第二节点和第二层节点相连;
若不大于,则第二节点分别与第一节点和第二层节点相连。
为了更好地理解上述二对一结构,可以参考图5,图5为本发明实施例提供的一种二对一结构各节点连接示例图。第一层有两个节点:第一节点A和第二节点B,第二层包括一个节点C。当A与B同号时,可直接确定节点的连接关系;若A与B不同号,则需进一步判断A与B数值绝对值的大小,以此确定连接关系。
进一步的,为了更好地说明多对一结构的连接方式,上述根据划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据连接关系进行连接,可以包括以下步骤:
当划分组中第一层节点与第二层节点为多对一逻辑关系时,第一层节点至少包括3个节点;
当第一层节点中存在1个异号数据时,则将第一层节点中同号数据的节点放于第一区域,将同号数据之和作为和值,在第一层节点和第二层节点之间建立中间层节点,中间层节点的节点宽度为和值的绝对值,中间层节点分别与第一层节点和第二层节点相连;
当第一层节点中至少存在2个异号数据时,则第一层节点中正数数据的节点放于正数区域,将第一层节点中负数数据的节点放于负数区域,并在第一层节点和第二层节点之间建立中间层正数节点和中间层负数节点,中间层正数节点的节点宽度为正数数据之和,中间层负数节点的节点宽度为负数数据之和的绝对值,中间层正数节点和中间层负数节点相连,正数数据的节点与中间层正数节点相连,负数数据的节点与中间层负数节点相连,根据第二层节点对应数据的正负情况从中间层正数节点和中间层负数节点之间确定目标节点,第二层节点与目标节点相连。
为了更好地理解上述多对一结构,可以参考图6,图6为本发明实施例提供的一种多对一结构各节点连接示例图。第一层有多个节点,例如包括节点A到节点E,第二层包括一个节点F。先判断第一层节点异号节点个数,例如第一层只存在1个正数,其余均为负数,则直接将负数的绝对值计算出来,放在中间层节点位置上,第一层的正数节点直接与第二层节点连接;或者无论第一层节点是否存在多个异号节点,都可以在中间层建立2个节点,分别为正数节点和负数节点,正数节点与第一层正数节点连接,负数节点与第一层负数节点连接,且这两个节点的节点宽度为各节点的绝对值。进一步的,为了避免出现数据连接的交叉,影响桑基图生成的美观,为了用户拥有更好地观感,可以参考图7,图7为本发明实施例提供的另一种多对一结构各节点连接示例图,先将第一层的不同正负号的数据进行位置交换,使得正数的节点在一个区域,负数的节点在另一个区域,避免交叉。
进一步的,为了更好地理解上述二对二结构,上述根据划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据连接关系进行连接,可以包括以下步骤:
当划分组中第一层节点与第二层节点为二对二逻辑关系时,第一层节点包括第一节点和第二节点,第二层节点包括第三节点和第四节点,则判断第一节点、第二节点和第三节点是否同号;
若同号,则根据第一节点对应数据绝对值与第三节点对应数据绝对值的大小关系、绝对值之和与第三节点对应数据的大小关系确定第一连接关系,根据第一连接关系进行连接;绝对值之和为第二节点对应数据绝对值与第一节点对应数据绝对值的和;
若异号,则根据第一节点对应数据、第二节点对应数据和第三节点对应数据之间的同异号情况确定第二连接关系,根据第二连接关系进行连接。
为了更好地理解上述二对二结构,可以参考图8,图8为本发明实施例提供的一种二对二结构各节点连接示例图。第一层包括两个节点:第一节点A和第二节点,第二层包括两个节点:第三节点C和第四节点D。首先根据A、B、C是否同号,划分为两种情况:(1)A、B、C同号,再判断A、B、C三者绝对值的大小关系确定连接关系;(2)A、B、C不同号,则再分为(2.1)A、C同号,B不同号的情况,再判断A、B、C三者绝对值的大小关系确定连接关系;(2.2)B、C同号,A不同号,再判断A、B、C三者绝对值的大小关系确定连接关系;(2.3)A、B同号,C不同号,再判断A、B、C三者绝对值的大小关系确定连接关系。
对于不同于上述的结构,如多对多、一对多等结构,均可按照上述方法确定各节点的连接关系。
进一步的,为了能够拓展桑基图的应用,还可以包括以下步骤:
获取各个时间点的数据;
基于各个时间点的数据生成动态桑基图。
为了更好地理解本部分,可以参考图9,图9为本发明实施例提供的一种动态桑基图生成方法示例图。可以基于不同时间点的数据,清晰地展现出随着时间的变化,各节点的变化。
进一步的,为了对桑基图进行更新,还可以包括以下步骤:
当增加新节点时,获取新节点的位置以及新节点与其它节点之间的逻辑关系;
为新节点位置匹配上对应的数据,基于新节点位置匹配的数据,以及新节点与其它节点之间的逻辑关系更新桑基图。
本实施了还可以加入新的节点,当出现新的节点以及对应的节点数据后,可以基于上述桑基图的生成方法,对原有的桑基图进行更新,得到包括新节点的新桑基图。
应用本发明实施例提供的桑基图生成方法,通过获取节点位置和各节点之间的逻辑关系;将获取的数据匹配到对应的节点位置上,并将数据的绝对值作为节点宽度和连接宽度;根据节点划分规则对所有节点进行划分,得到多个划分组;节点划分规则为将相邻两层内具有逻辑关系的节点作为一个划分组;当划分组内所有节点位置上的数据全为正数或全为负数时,则按照逻辑关系进行连接;当划分组内所有节点位置上的数据不全为正数或不全为负数时,则根据划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据连接关系进行连接,生成桑基图。本方法对负值取绝对值,基于逻辑关系和节点位置,并根据负值与其它节点数据之间的正负情况以及绝对值大小确定各节点之间的连接关系。可以同时支持正值和负值数据的显示,弥补了 传统桑基图无法覆盖负值的缺陷,让更多企业的金融数据可以转化为桑基图,帮助用户更好地理解数据流向,降低了理解成本。并且,还可以支持基于时间点生成动态桑基图;并且,对于一对二结构、多对一结构、二对二结构、二对一结构等不同的逻辑结构,都可以对负数进行处理,生成桑基图;并且,本方法不会改变节点的相对位置,就可以实现负值的桑基图展示;并且,对于多对一或者多对多,为了用户有更好地观感,可以对节点调换以下位置。
为了使本发明更便于理解,具体请参考图10,图10为本发明实施例提供的一种桑基图生成方法的对比图,具体可以包括:左侧为传统方法生成的桑基图,对于负数的其他经营收入无法加入桑基图,所以后续的数据无法展示;右侧为利用本方法生成的桑基图,对于负数的节点(其他经营收益和营业外净收益)本方法也可以在桑基图中进行明确展示,使得用户根据桑基图就可以明确哪些是负数,哪些是正数,以及各个节点之间的关系。
下面对本发明实施例提供的桑基图生成装置进行介绍,下文描述的桑基图生成装置与上文描述的桑基图生成方法可相互对应参照。
具体请参考图11,图11为本发明实施例提供的一种桑基图生成装置的结构示意图,可以包括:
获取模块100,用于获取节点位置和各节点之间的逻辑关系;
匹配模块200,用于将获取的数据匹配到对应的节点位置上,并将所述数据的绝对值作为节点宽度和连接宽度;
划分模块300,用于根据节点划分规则对所有节点进行划分,得到多个划分组;所述节点划分规则为将相邻两层内具有所述逻辑关系的节点作为一个划分组;
第一连接模块400,用于当所述划分组内所有节点位置上的数据全为正数或全为负数时,则按照所述逻辑关系进行连接;
第二连接模块500,用于当所述划分组内所有节点位置上的数据不全为正数或不全为负数时,则根据所述划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据所述连接关系进行连接,生成桑基图。
基于上述任意实施例,其中第二连接模块500,可以包括:
第一判断单元,用于当所述划分组中第一层节点与第二层节点为一对二逻辑关系时,所述第二层节点包括第一节点和第二节点,则判断所述第一层节点对应数据与所述第一节点对应数据是否同号;
第一结果单元,用于若异号,则所述第一节点与所述第二节点相连,所述第一层节点与所述第二节点相连;
第二结果单元,用于若同号,则判断所述第一层节点对应数据的绝对值是否大于所述第一节点对应数据的绝对值;
第三结果单元,用于若大于,则所述第一层节点分别与所述第一节点和所述第二节点相连;
第四结果单元,用于若不大于,则所述第一节点分别与所述第二节点和所述第一层节点相连。
基于上述实施例,其中第二连接模块500,可以包括:
第二判断单元,用于当所述划分组中第一层节点与第二层节点为二对一逻辑关系时,所述第一层节点包括第一节点和第二节点,则判断所述第一节点对应数据与所述第二节点对应数据是否同号;
第五结果单元,用于若同号,则所述第二层节点分别与所述第一节点和所述第二节点相连;
第六结果单元,用于若异号,则判断所述第一节点对应数据的绝对值是否大于所述第二节点对应数据的绝对值;
第七结果单元,用于若大于,则所述第一节点分别与所述第二节点和所述第二层节点相连;
第八结果单元,用于若不大于,则所述第二节点分别与所述第一节点和所述第二层节点相连。
基于上述任意实施例,其中第二连接模块500,可以包括:
第三判断单元,用于当所述划分组中第一层节点与第二层节点为多对一逻辑关系时,所述第一层节点至少包括3个节点;
第九结果单元,用于当所述第一层节点中存在1个异号数据时,则将所述第一层节点中同号数据的节点放于第一区域,将所述同号数据之和作为和值,在所述第一层节点和所述第二层节点之间建立中间层节点,所述中间层节点的节点宽度为所述和值的绝对值,所述中间层节点分别与所述第一层节点和所述第二层节点相连;
第十结果单元,用于当所述第一层节点中至少存在2个异号数据时,则所述第一层节点中正数数据的节点放于正数区域,将所述第一层节点中负数数据的节点放于负数区域,并在所述第一层节点和所述第二层节点之间建立中间层正数节点和中间层负数节点,所述中间层正数节点的节点宽度为所述正数数据之和,所述中间层负数节点的节点宽度为所述负数数据之和的绝对值,所述中间层正数节点和所述中间层负数节点相连,所述正数数据的节点与所述中间层正数节点相连,所述负数数据的节点与所述中间层负数节点相连,根据所述第二层节点对应数据的正负情况从所述中间层正数节点和所述中间层负数节点之间确定目标节点,所述第二层节点与所述目标节点相连。
基于上述任意实施例,其中第二连接模块500,可以包括:
第四判断单元,用于当所述划分组中第一层节点与第二层节点为二对二逻辑关系时,所述第一层节点包括第一节点和第二节点,所述第二层节点包括第三节点和第四节点,则判断所述第一节点、所述第二节点和所述第三节点是否同号;
第十一结果单元,用于若同号,则根据所述第一节点对应数据绝对值与所述第三节点对应数据绝对值的大小关系、绝对值之和与所述第三节点对应数据的大小关系确定第一连接关系,根据所述第一连接关系进行连接;所述绝对值之和为所述第二节点对应数据绝对值与所述第一节点对应数据绝对值的和;
第十二结果单元,用于若异号,则根据所述第一节点对应数据、所述第二节点对应数据和所述第三节点对应数据之间的同异号情况确定第二连接关系,根据所述第二连接关系进行连接。
基于上述任意实施例,其中桑基图生成装置,还可以包括:
各时间点数据获取模块,用于获取各个时间点的数据;
动态桑基图生成模块,用于基于所述各个时间点的数据生成动态桑基图。
基于上述任意实施例,其中桑基图生成装置,还可以包括:
新节点模块,用于当增加新节点时,获取所述新节点的位置以及所述新节点与其它节点之间的逻辑关系;
桑基图更新模块,用于为所述新节点的位置匹配上对应的数据,基于新节点位置匹配的数据,以及所述新节点与其它节点之间的逻辑关系更新所述桑基图。
应用本发明实施例提供的桑基图生成装置,通过获取模块100,用于获取节点位置和各节点之间的逻辑关系;匹配模块200,用于将获取的数据匹配到对应的节点位置上,并将数据的绝对值作为节点宽度和连接宽度;划分模块300,用于根据节点划分规则对所有节点进行划分,得到多个划分组;节点划分规则为将相邻两层内具有逻辑关系的节点作为一个划分组;第一连接模块400,用于当划分组内所有节点位置上的数据全为正数或全为负数时,则按照逻辑关系进行连接;第二连接模块500,用于当划分组内所有节点位置上的数据不全为正数或不全为负数时,则根据划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据连接关系进行连接,生成桑基图。本装置对负值取绝对值,基于逻辑关系和节点位置,并根据负值与其它节点数据之间的正负情况以及绝对值大小确定各节点之间的连接关系。可以同时支持正值和负值数据的显示,弥补了 传统桑基图无法覆盖负值的缺陷,让更多企业的金融数据可以转化为桑基图,帮助用户更好地理解数据流向,降低了理解成本。并且,还可以支持基于时间点生成动态桑基图;并且,对于一对二结构、多对一结构、二对二结构、二对一结构等不同的逻辑结构,都可以对负数进行处理,生成桑基图;并且,本方法不会改变节点的相对位置,就可以实现负值的桑基图展示;并且,对于多对一或者多对多,为了用户有更好地观感,可以对节点调换以下位置。
下面对本发明实施例提供的桑基图生成设备进行介绍,下文描述的桑基图生成设备与上文描述的桑基图生成方法可相互对应参照。
请参考图12,图12为本发明实施例提供的一种桑基图生成设备的结构示意图,可以包括:
存储器10,用于存储计算机程序;
处理器20,用于执行计算机程序,以实现上述的桑基图生成方法。
存储器10、处理器20、通信接口31均通过通信总线32完成相互间的通信。
在本发明实施例中,存储器10中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本发明实施例中,存储器10中可以存储有用于实现以下功能的程序:
获取节点位置和各节点之间的逻辑关系;
将获取的数据匹配到对应的节点位置上,并将数据的绝对值作为节点宽度和连接宽度;
根据节点划分规则对所有节点进行划分,得到多个划分组;节点划分规则为将相邻两层内具有所述逻辑关系的节点作为一个划分组;
当划分组内所有节点位置上的数据全为正数或全为负数时,则按照逻辑关系进行连接;
当划分组内所有节点位置上的数据不全为正数或不全为负数时,则根据划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据连接关系进行连接,生成桑基图。
在一种可能的实现方式中,存储器10可包括存储程序区和存储数据区,其中,存储程序区可存储操作***,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
此外,存储器10可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括NVRAM。存储器存储有操作***和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作***可以包括各种***程序,用于实现各种基础任务以及处理基于硬件的任务。
处理器20可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件,处理器20可以是微处理器或者也可以是任何常规的处理器等。处理器20可以调用存储器10中存储的程序。
通信接口31可以为通信模块的接口,用于与其他设备或者***连接。
当然,需要说明的是,图12所示的结构并不构成对本发明实施例中桑基图生成设备的限定,在实际应用中桑基图生成设备可以包括比图12所示的更多或更少的部件,或者组合某些部件。
下面对本发明实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的桑基图生成方法可相互对应参照。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的桑基图生成方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本发明的范围。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上对本发明所提供的一种桑基图生成方法、装置、设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种桑基图生成方法,其特征在于,包括:
获取节点位置和各节点之间的逻辑关系;
将获取的数据匹配到对应的节点位置上,并将所述数据的绝对值作为节点宽度和连接宽度;所述节点宽度和所述连接宽度的宽度指的是像素值;
根据节点划分规则对所有节点进行划分,得到多个划分组;所述节点划分规则为将相邻两层内具有所述逻辑关系的节点作为一个划分组;
当所述划分组内所有节点位置上的数据全为正数或全为负数时,则按照所述逻辑关系进行连接;
当所述划分组内所有节点位置上的数据不全为正数或不全为负数时,则根据所述划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据所述连接关系进行连接,生成桑基图;
所述根据所述划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据所述连接关系进行连接,包括:
当所述划分组中第一层节点与第二层节点为一对二逻辑关系时,所述第二层节点包括第一节点和第二节点,则判断所述第一层节点对应数据与所述第一节点对应数据是否同号;
若异号,则所述第一节点与所述第二节点相连,所述第一层节点与所述第二节点相连;
若同号,则判断所述第一层节点对应数据的绝对值是否大于所述第一节点对应数据的绝对值;
若大于,则所述第一层节点分别与所述第一节点和所述第二节点相连;
若不大于,则所述第一节点分别与所述第二节点和所述第一层节点相连。
2.根据权利要求1所述的桑基图生成方法,其特征在于,所述根据所述划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据所述连接关系进行连接,包括:
当所述划分组中第一层节点与第二层节点为二对一逻辑关系时,所述第一层节点包括第一节点和第二节点,则判断所述第一节点对应数据与所述第二节点对应数据是否同号;
若同号,则所述第二层节点分别与所述第一节点和所述第二节点相连;
若异号,则判断所述第一节点对应数据的绝对值是否大于所述第二节点对应数据的绝对值;
若大于,则所述第一节点分别与所述第二节点和所述第二层节点相连;
若不大于,则所述第二节点分别与所述第一节点和所述第二层节点相连。
3.根据权利要求1所述的桑基图生成方法,其特征在于,所述根据所述划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据所述连接关系进行连接,包括:
当所述划分组中第一层节点与第二层节点为多对一逻辑关系时,所述第一层节点至少包括3个节点;
当所述第一层节点中存在1个异号数据时,则将所述第一层节点中同号数据的节点放于第一区域,将所述同号数据之和作为和值,在所述第一层节点和所述第二层节点之间建立中间层节点,所述中间层节点的节点宽度为所述和值的绝对值,所述中间层节点分别与所述第一层节点和所述第二层节点相连;
当所述第一层节点中至少存在2个异号数据时,则所述第一层节点中正数数据的节点放于正数区域,将所述第一层节点中负数数据的节点放于负数区域,并在所述第一层节点和所述第二层节点之间建立中间层正数节点和中间层负数节点,所述中间层正数节点的节点宽度为所述正数数据之和,所述中间层负数节点的节点宽度为所述负数数据之和的绝对值,所述中间层正数节点和所述中间层负数节点相连,所述正数数据的节点与所述中间层正数节点相连,所述负数数据的节点与所述中间层负数节点相连,根据所述第二层节点对应数据的正负情况从所述中间层正数节点和所述中间层负数节点之间确定目标节点,所述第二层节点与所述目标节点相连。
4.根据权利要求1所述的桑基图生成方法,其特征在于,所述根据所述划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据所述连接关系进行连接,包括:
当所述划分组中第一层节点与第二层节点为二对二逻辑关系时,所述第一层节点包括第一节点和第二节点,所述第二层节点包括第三节点和第四节点,则判断所述第一节点、所述第二节点和所述第三节点是否同号;
若同号,则根据所述第一节点对应数据绝对值与所述第三节点对应数据绝对值的大小关系、绝对值之和与所述第三节点对应数据的大小关系确定第一连接关系,根据所述第一连接关系进行连接;所述绝对值之和为所述第二节点对应数据绝对值与所述第一节点对应数据绝对值的和;
若异号,则根据所述第一节点对应数据、所述第二节点对应数据和所述第三节点对应数据之间的同异号情况确定第二连接关系,根据所述第二连接关系进行连接。
5.根据权利要求1所述的桑基图生成方法,其特征在于,还包括:
获取各个时间点的数据;
基于所述各个时间点的数据生成动态桑基图。
6.根据权利要求1所述的桑基图生成方法,其特征在于,还包括:
当增加新节点时,获取所述新节点的位置以及所述新节点与其它节点之间的逻辑关系;
为所述新节点的位置匹配上对应的数据,基于新节点的位置匹配的数据,以及所述新节点与其它节点之间的逻辑关系更新所述桑基图。
7.一种桑基图生成装置,其特征在于,包括:
获取模块,用于获取节点位置和各节点之间的逻辑关系;
匹配模块,用于将获取的数据匹配到对应的节点位置上,并将所述数据的绝对值作为节点宽度和连接宽度;所述节点宽度和所述连接宽度的宽度指的是像素值;
划分模块,用于根据节点划分规则对所有节点进行划分,得到多个划分组;所述节点划分规则为将相邻两层内具有所述逻辑关系的节点作为一个划分组;
第一连接模块,用于当所述划分组内所有节点位置上的数据全为正数或全为负数时,则按照所述逻辑关系进行连接;
第二连接模块,用于当所述划分组内所有节点位置上的数据不全为正数或不全为负数时,则根据所述划分组内所有节点位置上的数据的绝对值大小确定连接关系,根据所述连接关系进行连接,生成桑基图;
所述第二连接模块,包括:
第一判断单元,用于当所述划分组中第一层节点与第二层节点为一对二逻辑关系时,所述第二层节点包括第一节点和第二节点,则判断所述第一层节点对应数据与所述第一节点对应数据是否同号;
第一结果单元,用于若异号,则所述第一节点与所述第二节点相连,所述第一层节点与所述第二节点相连;
第二结果单元,用于若同号,则判断所述第一层节点对应数据的绝对值是否大于所述第一节点对应数据的绝对值;
第三结果单元,用于若大于,则所述第一层节点分别与所述第一节点和所述第二节点相连;
第四结果单元,用于若不大于,则所述第一节点分别与所述第二节点和所述第一层节点相连。
8.一种桑基图生成设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的桑基图生成方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至6任一项所述的桑基图生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410071152.4A CN117593406B (zh) | 2024-01-18 | 2024-01-18 | 一种桑基图生成方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410071152.4A CN117593406B (zh) | 2024-01-18 | 2024-01-18 | 一种桑基图生成方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117593406A CN117593406A (zh) | 2024-02-23 |
CN117593406B true CN117593406B (zh) | 2024-05-10 |
Family
ID=89911831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410071152.4A Active CN117593406B (zh) | 2024-01-18 | 2024-01-18 | 一种桑基图生成方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117593406B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106817271A (zh) * | 2015-11-30 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 流量图谱的形成方法和装置 |
US10459938B1 (en) * | 2016-07-31 | 2019-10-29 | Splunk Inc. | Punchcard chart visualization for machine data search and analysis system |
US10459939B1 (en) * | 2016-07-31 | 2019-10-29 | Splunk Inc. | Parallel coordinates chart visualization for machine data search and analysis system |
WO2021051618A1 (zh) * | 2019-09-20 | 2021-03-25 | 平安科技(深圳)有限公司 | 异常预警方法、装置、服务器及存储介质 |
CN113065177A (zh) * | 2020-12-10 | 2021-07-02 | 恒生电子股份有限公司 | 用于有向无环流程图的布局方法、装置及电子设备 |
CN113850884A (zh) * | 2021-08-18 | 2021-12-28 | 北京达佳互联信息技术有限公司 | 桑基图的生成方法、装置、电子设备和存储介质 |
CN117391313A (zh) * | 2023-12-12 | 2024-01-12 | 广东正迪科技股份有限公司 | 基于ai的智能决策方法、***、设备以及介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10120902B2 (en) * | 2014-02-20 | 2018-11-06 | Citus Data Bilgi Islemleri Ticaret A.S. | Apparatus and method for processing distributed relational algebra operators in a distributed database |
-
2024
- 2024-01-18 CN CN202410071152.4A patent/CN117593406B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106817271A (zh) * | 2015-11-30 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 流量图谱的形成方法和装置 |
US10459938B1 (en) * | 2016-07-31 | 2019-10-29 | Splunk Inc. | Punchcard chart visualization for machine data search and analysis system |
US10459939B1 (en) * | 2016-07-31 | 2019-10-29 | Splunk Inc. | Parallel coordinates chart visualization for machine data search and analysis system |
WO2021051618A1 (zh) * | 2019-09-20 | 2021-03-25 | 平安科技(深圳)有限公司 | 异常预警方法、装置、服务器及存储介质 |
CN113065177A (zh) * | 2020-12-10 | 2021-07-02 | 恒生电子股份有限公司 | 用于有向无环流程图的布局方法、装置及电子设备 |
CN113850884A (zh) * | 2021-08-18 | 2021-12-28 | 北京达佳互联信息技术有限公司 | 桑基图的生成方法、装置、电子设备和存储介质 |
CN117391313A (zh) * | 2023-12-12 | 2024-01-12 | 广东正迪科技股份有限公司 | 基于ai的智能决策方法、***、设备以及介质 |
Non-Patent Citations (3)
Title |
---|
基于CIMISS的气象数据处理时效监视***设计与实现;李志鹏;胡佳军;杨立苑;李显风;邓卫华;;气象与减灾研究;20161220(第04期);全文 * |
基于组态软件的桑基图模块设计方案;龚海涛;姬生利;;自动化与仪表;20110615(第06期);全文 * |
桑基图的可视化图式在建成环境领域的应用;周忠凯;赵继龙;林佳潞;刘长安;;山东建筑大学学报;20171215(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117593406A (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109388791B (zh) | 图表动态展示方法、装置、计算机设备及存储介质 | |
CN109783757B (zh) | 渲染网页的方法及装置、***、存储介质、电子装置 | |
CN105338537B (zh) | 一种新增基站站址共享分析的方法及终端 | |
US8269762B2 (en) | Almost rectangular triangulations | |
CN110633959A (zh) | 基于图结构的审批任务创建方法、装置、设备及介质 | |
US10891319B2 (en) | Easy clustering of graphs of nodes preserving node relationships | |
CN117593406B (zh) | 一种桑基图生成方法、装置、设备及计算机可读存储介质 | |
de Andrade Júnior et al. | Fully retroactive minimum spanning tree problem | |
CN115827809A (zh) | 一种地理信息***gis应用的生成方法及装置 | |
WO2022126646A9 (en) | Automated platform for managing, deploying and orchestrating highly distributed service applications | |
CN114490899A (zh) | 多图层空间大数据叠加合并方法、装置、设备及存储介质 | |
CN114327611A (zh) | 接口描述文档的生成方法、装置、计算机设备及存储介质 | |
CN114462859A (zh) | 工作流处理方法、装置、计算机设备和存储介质 | |
CN112347202A (zh) | 一种数据变更消息的通知方法及装置 | |
CN111641518A (zh) | 基于异质网络的社群划分方法、装置、计算机设备及介质 | |
CN114070744B (zh) | 一种网络拓扑的结点坐标生成方法、装置、设备和介质 | |
CN116204554B (zh) | 数据处理方法、***、电子设备和存储介质 | |
CN117130606A (zh) | 前端页面配置方法、装置、计算机设备和存储介质 | |
Bhunia et al. | GeoComputation and Spatial Data Operation | |
CN117453957A (zh) | 资源处理方法、装置、计算机设备和存储介质 | |
CN117806863A (zh) | 缺陷分析方法、装置、计算机设备和存储介质 | |
CN116088721A (zh) | 页面交互方法、装置、设备及存储介质 | |
CN112883023A (zh) | 数据透视的方法和装置 | |
CN114547327A (zh) | 时空大数据关系图谱生成方法、装置、设备及存储介质 | |
CN117435100A (zh) | 元素展示的方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |