CN104281681B - 针对层次数据的正方化有序树图布局方法 - Google Patents

针对层次数据的正方化有序树图布局方法 Download PDF

Info

Publication number
CN104281681B
CN104281681B CN201410523310.1A CN201410523310A CN104281681B CN 104281681 B CN104281681 B CN 104281681B CN 201410523310 A CN201410523310 A CN 201410523310A CN 104281681 B CN104281681 B CN 104281681B
Authority
CN
China
Prior art keywords
node
rectangle
mrow
authority value
present
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
Application number
CN201410523310.1A
Other languages
English (en)
Other versions
CN104281681A (zh
Inventor
陈谊
胡海云
甄远刚
刘瑞军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Technology and Business University
Original Assignee
Beijing Technology and Business University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Technology and Business University filed Critical Beijing Technology and Business University
Priority to CN201410523310.1A priority Critical patent/CN104281681B/zh
Publication of CN104281681A publication Critical patent/CN104281681A/zh
Application granted granted Critical
Publication of CN104281681B publication Critical patent/CN104281681B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于信息可视化领域,具体涉及针对层次数据的正方化有序树图布局方法。其操作步骤为:A.将待可视化数据集DS中的数据,按照层次关系表示为一棵树T。B.从上向下依次对树T中的每一层节点进行处理,同一层次的同父节点经过处理后得到一个大权值节点集。C.设置一个长宽比为6:4的矩形R。D.针对得到的每一个大权值节点集,根据最短边路径原则,依次布局大权值节点集中的大权值节点。E.对每一个包含的节点个数大于2个的大权值节点进行处理,得到一个大权值节点集;然后执行步骤D的布局过程,直至所有布局节点皆为非组合节点。本发明方法可以保证生成的树图在平均长宽比、平稳性、平稳的平衡性、连续性和可读性这5项评价指标上具有良好的表现。

Description

针对层次数据的正方化有序树图布局方法
技术领域
本发明属于信息可视化领域,具体涉及针对层次数据的正方化有序树图布局方法,用于对层次数据进行可视化。
背景技术
大数据时代,如何对大数据进行有效的显示,从而帮助人们分析数据是当今大数据处理的一个热点研究方向。大规模层次数据的可视分析研究是其中的重点之一。经典的层次数据可视化方法有节点-链接(Node-link)和树图(Treemap)两种表现形式。节点-链接能够充分表现数据的层次和关联特性。但是,由于其点线链接的结构,在布局上存在较大的空间浪费。当数据量大的时候,由于屏幕大小和像素的限制,使用节点-链接方法会引起节点覆盖的问题。树图在大规模层次数据的可视化上已经得到了广泛应用,包括经济,政治和文化传播等各个领域。通过树图技术,能够得到一个充分利用显示空间,具有一定层次和顺序关系的可视化视图。可以通过矩形的面积分析节点权值的大小;通过对矩形的颜色和纹理等属性进行标注和对节点相关属性分析,从而帮助人们对数据进行可视分析。节点-链接方法在关系性网络的可视分析中得到广泛应用,而树图在关注权值大小对比的层次数据可视化中应用更为广泛。
Squarified布局算法由Mark Burls等于1999年为解决最初的Slice and Dice中存在大量长宽比恶劣的矩形,导致长条状矩形难以识别的缺点而提出。Squarified布局算法在进行布局时,打乱了数据原本的顺序,通过对数据按权值进行排序,采取贪心策略,将权值大的节点首先进行填充,对每一个节点矩形的填充,都选择平局长宽比更接近1的方式,从而保证树图中所有矩形的平均长宽比接近1,使布局的矩形接近正方形,人们容易对其进行辨识、交互和分析。但节点的原本顺序被打乱,在布局中无规律可循。正因为该算法无序的缺点,局限了该技术的应用。Pivot布局算法由Ben Shneiderman等于2001年为了解决Squarified布局算法中无序的缺点提出的一种方法。Pivot布局算法采用分治的思想,运用pivot节点将数据集T的填充区域划分为四部分,分别为R1,RP,R2和R3,在当前的封闭矩形内进行布局。对于R1,R2和R3的区域内,若节点数量大于1个,则重复pivot节点选择进行子问题划分并布局。但是总体而言,通过分治方法,在保证了树图布局部分有序的同时,保证每个节点填充的大致位置和长宽变化在数据更新时变化较小,从而确保其布局的稳定性和稳定的平衡性,有利于对时变更新的数据进行追踪。为了使树图布局算法具有更好的连续性和可读性,方便用户对数据进行查找。Bederson等于2002年提出了Strip布局算法。对节点采取从左到右的带状顺序进行填充,从而保证布局的连续性和可读性。为了进一步提高数据的连续性,减少Strip算法中由于权值变化引起的布局不稳定,Ying Tu等于2007提出Spiral布局算法。该算法在路径上将带状路径改为螺旋形路径,从而相对于Strip布局算法提高了布局的连续性和稳定的平衡性。
总结前人的工作:Squarifeid使用排序规则,贪心选择权值最大的节点优先填充,因此得到平均长宽比非常接近1的布局;Pivot将问题分而治之,使相邻顺序的数据集中在某一个区域,具有较好的稳定性和稳定的平衡性;Strip和Spiral通过填充方向的限制,使布局效果具有很好的连续性和可读性。但现有方法都在一定程度上满足一个到两个指标,但都不能将所有的评价指标综合考虑。
发明内容
本发明目的是克服已有针对层次数据的树图布局方法,提供一种针对层次数据的正方化有序树图布局方法。该方法可以保证生成的树图在平均长宽比、平稳性、平稳的平衡性、连续性和可读性这5项评价指标上具有良好的表现。
本发明的目的是通过如下技术方案实现的。
本发明提供一种针对层次数据的正方化有序树图布局方法,对待显示的数据集(用符号DS表示)进行可视化处理,所述待显示的数据集DS是一组通过层次结构关系互相关联的数据,即层次数据;其具体操作步骤如下:
A.将待可视化数据集DS中的数据,按照层次关系表示为一棵树(用符号T表示)。
B.从上向下依次对树T中的每一层节点进行处理,同一层次的同父节点经过处理后得到一个大权值节点集,因此树T中的每一层节点进行处理后得到1个以上大权值节点集。
C.在二维平面上设置一个长宽比为6:4的矩形(用符号R表示),其面积用符号S表示。
D.针对步骤B或步骤D得到的每一个大权值节点集,根据最短边路径原则,依次布局大权值节点集中的大权值节点。
所述最短边路径原则具体为:保持连续性的情况下,采用最短边路径进行布局。所述最短边路径是对带状路径和螺旋状路径进行优化,每个节点布局时都毗邻上一个节点,并且布局方向紧靠剩余布局空间的最短边。所述带状路径是从左向右、从上到下依次布局;所述螺旋状路径是沿螺旋外环向内环依次布局;
E.对于包含的节点个数大于2个的大权值节点,称其为虚拟父节点;将其包含的全部节点看做为同父节点。依次对每一个包含的节点个数大于2个的大权值节点进行处理,得到一个大权值节点集;然后执行步骤D的布局过程,直至所有布局节点皆为非组合节点。
经过上述步骤的操作,即可完成对待显示的数据集DS的正方化有序树图布局。
步骤B中所述对树T中的同一层次的节点进行处理后得到大权值节点集的具体操作步骤为:
B1.将当前节点的所有兄弟节点,记作节点集U。节点集U中的节点数量用符号Mu表示。设置变量p、Mp、k和m,并给变量p赋初始值为0;给变量k赋初始值为1;给变量m赋初始值为2。
B2.对于当前节点集U中所有未经过处理的节点,查找其最大值节点,最大值节点的序号用符号max表示,其值用符号U[max]表示。给变量Mp赋值为U[max],并使变量p自增1。
B3.判断1≤k<m<max≤Mu是否成立,如成立,则通过公式(1)计算第k个至第m个节点的节点值之和(用符号TempSumk~m表示),然后执行步骤B4的操作;否则,将TempSumk~(m-1)作为一个新节点放入大权值节点集合(用符号U′表示)中,并对当前节点集U中的第k个至第m-1个节点标记为已处理节点,然后给变量k赋值为m+1,给m赋值为k+1,执行步骤B5的操作。
B4.判断|TempSumk~m-Mp|<|TempSumk~(m-1)-Mp|是否成立,如成立,则使变量m值自增1,然后重复B3至步骤B4的操作;否则,将TempSumk~(m-1)作为一个新节点放入大权值节点集合U′中,并对当前节点集U中的第k个至第m-1个节点标记为已处理节点,然后给变量k赋值为m,给m赋值为k+1,然后重复B3至步骤B4的操作。
B5.将U[max]作为一个节点,添加至大权值节点集合U′中,并对当前节点集U中的第max个节点标记为已处理节点。然后,重复步骤B2至B5的操作,直至将原节点集U中所有节点通过合并组合添加至大权值节点集合U′。
经过步骤B1至B5的操作,得到的大权值节点集合U′中的节点称为大权值节点。
步骤D中所述针对每一个大权值节点集,根据优化后的最短路径,依次布局大权值节点集中的大权值节点的具体操作步骤为:
D1.对于由树T的第二个层次的节点得到的大权值节点集,在步骤C设置的6:4的矩形R上布局节点;对于其它大权值节点集,在其父节点或虚拟父节点对应的矩形(用符号表示)中布局节点。
D2.依次对大权值节点集合U′中的每一个节点进行处理,得到当前节点在矩形R或中对应矩形(用符号r表示)的相邻两条边的长度和所处位置。
用符号s表示当前节点的序号,用符号U′[s]表示当前节点s的节点值,用符号SUMU′表示大权值节点集合U′中所有节点值的和,用符号MU′表示大权值节点集合U′中的节点数量,1≤s≤MU′。矩形r相邻两条边的长度,分别用符号a和b表示。前一节点s-1在矩形R或中对应矩形(用符号r′表示)的相邻两条边的长度,分别用符号a′和b′表示。
对当前节点进行处理时,分成两种情况处理:
情况1:当s的值为1或者a′<b′时,执行步骤D2.a至D2.c的操作。
D2.a:对当前节点s处理,为其在矩形R或的当前剩余部分中分配一个矩形r。矩形R或的当前剩余部分仍为矩形,称为剩余矩形(用符号R′表示),用符号l表示剩余矩形R′的短边的长度,则:当前节点s在矩形R或中的对应矩形r的相邻两条边中的一条边长a=l,另一条边长b可根据公式(2)计算得到。
D2.b:确定当前节点s对应的矩形r在矩形R或中的所处位置:矩形r位于剩余矩形R′中,与前一节点s-1对应的矩形相邻,并且矩形r的一条长度为a的边与剩余矩形R′的短边重合,矩形r的一条长度为b的边与剩余矩形R′的长边的一部分重合,从而确定当前节点s对应的矩形r在矩形R或中的所处位置。
D2.c:如当前节点s不是最后一个节点,则:令a′=a;b′=b;然后重复步骤D2,处理下一节点;否则,结束操作。
情况2:当s的值不为1并且a′≥b′时,则布局当前节点时,需调整前一节点s-1在矩形R或中对应的矩形r′的相邻两条边的长度以及位置,因此,此时的当前剩余矩形R′中包含前一节点s-1在矩形R或中对应的矩形;具体执行步骤D2.1至D2.4的操作。
D2.1:当前节点s在矩形R或中的对应矩形r的相邻两条边中一条边长a可根据公式(3)计算得到,另一条边长b可根据公式(4)计算得到。
D2.2:前一节点s-1在矩形R或中对应的矩形r′的相邻两条边中一条边长a′=l-a,另一条边长b′=b。
D2.3:确定前一节点s-1对应的矩形r′在矩形R或中的所处位置:矩形r′位于剩余矩形R′中,与节点s-2对应的矩形相邻,并且矩形r′的一条长度为a′的边与剩余矩形R′的短边的一部分重合,矩形r′的一条长度为b′的边与剩余矩形R′的长边的一部分重合,从而确定前一节点s-1对应的矩形r′在矩形R或中的所处位置;
D2.4:确定当前节点s对应的矩形r在矩形R或中的所处位置:矩形r位于剩余矩形R′中,与前一节点s-1对应的矩形相邻,并且矩形r的一条长度为b的边与剩余矩形R′的长度为b′的边重合,矩形r与矩形r′相互不重叠,从而确定当前节点s对应的矩形r在矩形R或中的所处位置。
D2.5:如当前节点s不是最后一个节点,则:令a′=a;b′=b;然后重复步骤D2,处理下一节点;否则,结束操作。
有益效果
本发明提出的一种针对层次数据的正方化有序树图布局方法可以保证生成的树图在平均长宽比、平稳性、平稳的平衡性、连续性和可读性这5项评价指标上具有良好的表现。
附图说明
图1为本发明具体实施方式中可视化数据集DS中的数据,按照层次关系表示为一棵树T的树图;
图2为本发明具体实施方式中对树T第二层节点对应的大权值节点集合U′中的节点进行正方化有序树图布局的结果示意图;其中,图2(a)表示第1个节点处理完以后的结果示意图;图2(b)表示第2个节点处理完以后的结果示意图;图2(c)表示第3个节点处理完以后的结果示意图;图2(d)表示第4个节点处理完以后的结果示意图;图2(e)表示第5个节点处理完以后的结果示意图;图2(f)表示第6个节点处理完以后的结果示意图。
图3为本发明具体实施方式中树T第二层节点对应的大权值节点集合U′中,对于每个包含的节点个数大于2个的大权值节点采用步骤D的布局过程完成布局后,得到的布局示意图。
具体实施方式
下面结合附图和实施例,对本发明技术方案作进一步的说明。
本实施例中的待可视化数据集DS为北京市部分超市农产品的农药残留超标检出频次结果,如表1所示。
表1 北京市部分超市农产品的农药残留超标检出频次结果数据表
样品名称 城市 地区 超市 检出频次
葡萄 北京市 昌平区 A农副产品批发市场(昌平区) 5
葡萄 北京市 昌平区 B农副产品批发市场(昌平区) 4
葡萄 北京市 昌平区 C物美超市(昌平区) 6
番茄 北京市 昌平区 D美廉美超市(昌平区) 7
芹菜 北京市 昌平区 E家乐福超市(昌平区) 6
番茄 北京市 大兴区 A华冠超市(大兴区) 8
黄瓜 北京市 大兴区 B沃尔玛(大兴区) 1
葡萄 北京市 大兴区 C物美超市(大兴区) 1
木瓜 北京市 东城区 A乐天玛特超市(东城区) 10
芹菜 北京市 东城区 B新世界超市(东城区) 13
蘑菇 北京市 东城区 C世纪华联超市(东城区) 7
番茄 北京市 平谷区 A峪田批发市场(平谷区) 9
芹菜 北京市 平谷区 B农副产品批发市场(平谷区) 15
白菜 北京市 平谷区 C农副产品批发市场(平谷区) 6
奶白菜 北京市 朝阳区 A卜蜂莲花超市(青年路店) 8
圣女果 北京市 朝阳区 B华堂超市(朝阳区) 4
北京市 朝阳区 B华堂超市(朝阳区) 5
紫甘蓝 北京市 朝阳区 B华堂超市(朝阳区) 7
苹果 北京市 朝阳区 B华堂超市(朝阳区) 2
李子 北京市 朝阳区 B华堂超市(朝阳区) 4
白菜 北京市 朝阳区 C康家园农产品市场(朝阳区) 16
油菜 北京市 朝阳区 D欧尚超市(朝阳北路店) 24
卷心菜 北京市 朝阳区 E物美超市(青年路店) 5
油菜 北京市 朝阳区 F美廉美超市(青年路店) 19
北京市 朝阳区 G沃尔玛超市(青年路店) 6
油菜 北京市 丰台区 A新发地农贸产品批发市场(丰台区) 15
卷心菜 北京市 丰台区 B岳各庄农副产品批发市场(丰台区) 4
青椒 北京市 丰台区 B岳各庄农副产品批发市场(丰台区) 2
北京市 丰台区 B岳各庄农副产品批发市场(丰台区) 9
黄瓜 北京市 丰台区 B岳各庄农副产品批发市场(丰台区) 1
茄子 北京市 丰台区 B岳各庄农副产品批发市场(丰台区) 3
生菜 北京市 丰台区 C青塔农副产品批发市场(丰台区) 12
芹菜 北京市 丰台区 D五棵松农副产品批发市场(丰台区) 7
苹果 北京市 丰台区 E六里桥农副产品批发市场(丰台区) 8
葡萄 北京市 海淀区 A海淀区锦绣大地综合批发市场(海淀区) 9
韭菜 北京市 海淀区 B美廉美超市(增光路店) 2
番茄 北京市 海淀区 C美廉美超市(中关村店) 11
番茄 北京市 延庆县 日上综合商品批发市场(延庆县) 10
番茄 北京市 西城区 阜成门华联BHG超市(西城区) 3
黄瓜 北京市 西城区 美廉美超市(三里河店) 7
黄瓜 北京市 西城区 美廉美超市(三里河店) 6
番茄 北京市 西城区 美廉美超市(三里河店) 12
生菜 北京市 西城区 美廉美超市(三里河店) 10
生菜 北京市 西城区 美廉美超市(三里河店) 5
苹果 北京市 西城区 美廉美超市(三里河店) 7
番茄 北京市 通州区 A华润万家(官庄店) 1
豇豆 北京市 通州区 B家乐福超市(通州区) 7
豇豆 北京市 通州区 C沃尔玛超市(通州区) 10
黄瓜 北京市 通州区 D华润万家超市(通州区) 12
采用本发明提出的针对层次数据的正方化有序树图布局方法,对上述待显示的数据集DS进行可视化操作,其具体操作步骤为:
A.将待可视化数据集DS中的数据,按照层次关系表示为一棵树T,如图1所示。树T的第一层节点为北京市农药检出的总频次,第二层节点为10个区的检出频次,第三层节点为区内各超市的检出频次,如果超市内一种以上水果蔬菜被检测出农药残留超标,则用第四层节点表示超市内各水果蔬菜的检出频次。
B.从上向下依次对树T中的每一层节点进行处理,同一层次的同父节点经过处理后得到一个大权值节点集,因此树T中的每一层节点进行处理后得到1个以上大权值节点集。
以树T的第二层节点为例,说明大权值节点集的生成过程:
B1.树T的第二层节点组成节点集U={30,10,20,30,100,60,10,20,50,30}。节点集U中的节点数量Mu=10。设置变量p、Mp、k和m,并给变量p赋初始值为0;给变量k赋初始值为1;给变量m赋初始值为2。
B2.对于当前节点集U中所有未经过处理的节点,查找其最大值节点,最大值节点的序号max=5,其值U[max]=100。给变量Mp赋值为100,并使变量p自增1。
B3.1≤k<m<max≤Mu成立,通过公式(1)计算第k个至第m个节点的节点值之和TempSumk~m=40,然后执行步骤B4的操作;
B4.|TempSumk~m-Mp|<|TempSumk~(m-1)-Mp|成立,使变量m值自增1,m=3,然后重复B3至步骤B4的操作。
B3.1≤k<m<max≤Mu成立,通过公式(1)计算第k个至第m个节点的节点值之和TempSumk~m=60,然后执行步骤B4的操作。
B4.|TempSumk~m-Mp|<|TempSumk~(m-1)-Mp|成立,使变量m值自增1,m=4,然后重复B3至步骤B4的操作。
B3.1≤k<m<max≤Mu成立,通过公式(1)计算第k个至第m个节点的节点值之和TempSumk~m=90,然后执行步骤B4的操作。
B4.|TempSumk~m-Mp|<|TempSumk~(m-1)-Mp|成立,则使变量m值自增1,m=5,然后重复B3至步骤B4操作。
B3.1≤k<m<max≤Mu不成立,将TempSumk~(m-1)作为一个新节点放入大权值节点集合U′中,U′={90}并对当前节点集U中的第k个至第m-1个节点标记为已处理节点,然后给变量k赋值为m+1,给m赋值为k+1,执行步骤B5的操作。
B5.将U[max]作为一个节点,添加至大权值节点集合U′中,U′={90,100}。然后,重复步骤B2至B5的操作,直至将原节点集U中所有节点通过合并组合添加至大权值节点集合U′,最终U′={90,100,60,30,50,30}。
采用相同的方法,对树T第三层节点和第四层节点进行处理,均可得到其对应的大权值节点集合。
C.在二维平面上设置一个长宽比为6:4的矩形R,其面积用符号S表示。
D.针对步骤B得到的每一个大权值节点集,根据最短边路径原则,依次布局大权值节点集中的大权值节点。
以树T第二层节点对应的大权值节点集合U′={90,100,60,30,50,30}为例,具体说明对大权值节点集中的大权值节点进行布局的过程。
D1.对于由树T的第二个层次的节点得到的大权值节点集,在步骤C设置的6:4的矩形R上布局节点。
D2.对U′中第s个节点进行布局,s=1。
D2.a:对当前节点s处理,当前节点s在矩形R中的对应矩形r的相邻两条边中的一条边长a=4,另一条边长b=1.5。
D2.b:确定当前节点s对应的矩形r在矩形R中的所处位置:矩形r位于剩余矩形R′中,矩形r的一条长度为a的边与剩余矩形R′的短边重合,矩形r的一条长度为b的边与剩余矩形R′的长边的一部分重合,从而确定当前节点s对应的矩形r在矩形R中的所处位置,如图2(a)所示。
D2.c:当前节点s不是最后一个节点,令a′=4;b′=1.5;然后重复步骤D2,处理下一节点。
D2.对U′中第s个节点进行布局,s=2。
由于s的值不为1并且a′≥b′时,则布局当前节点时,需调整前一节点s-1在矩形R中对应的矩形r′的相邻两条边的长度以及位置,因此,此时的当前剩余矩形R′中包含前一节点s-1在矩形R或中对应的矩形;具体执行步骤D2.1至D2.4的操作。
D2.1:当前节点s在矩形R中的对应矩形r的相邻两条边中一条边长a可根据公式(3)计算得到,l=4,另一条边长b可根据公式(4)计算得到,
D2.2:前一节点s-1在矩形R中对应的矩形r′的相邻两条边中一条边长a′=l-a=1.89,另一条边长b′=3.17。
D2.3:确定前一节点s-1对应的矩形r′在矩形R或中的所处位置:矩形r′位于剩余矩形R′中,与节点s-2对应的矩形相邻,并且矩形r′的一条长度为a′的边与剩余矩形R′的短边的一部分重合,矩形r′的一条长度为b′的边与剩余矩形R′的长边的一部分重合,从而确定前一节点s-1对应的矩形r′在矩形R中的所处位置。
D2.4:确定当前节点s对应的矩形r在矩形R中的所处位置:矩形r位于剩余矩形R′中,与前一节点s-1对应的矩形相邻,并且矩形r的一条长度为b的边与剩余矩形R′的长度为b′的边重合,矩形r与矩形r′相互不重叠,从而确定当前节点s对应的矩形r在矩形R或中的所处位置。排布结果如图2(b)所示。
D2.5:当前节点s不是最后一个节点,则:令a′=a;b′=b;然后重复步骤D2,处理下一节点。
第3个节点处理完以后的结果如图2(c)所示;第4个节点处理完以后的结果如图2(d)所示;第4个节点处理完以后的结果如图2(d)所示;第5个节点处理完以后的结果如图2(e)所示;第6个节点处理完以后的结果如图2(f)所示;为了更清楚的显示可视化结果,使用由浅至深的灰度色填充第1个节点至第6个节点。图中R′表示剩余矩形。
E.对于包含的节点个数大于2个的大权值节点,称其为虚拟父节点;将其包含的全部节点看做为同父节点。依次对每一个包含的节点个数大于2个的大权值节点进行处理,得到一个大权值节点集;然后执行步骤D的布局过程,直至所有布局节点皆为非组合节点。
仍以树T第二层节点对应的大权值节点集合U′={90,100,60,30,50,30}为例,对于每个包含的节点个数大于2个的大权值节点采用步骤D的布局过程完成布局后,重新使用由浅至深的灰度色按节点顺序填充其所对应矩形,最终得到的布局图如图3所示。
本发明的主要内容已通过上述优选实例作了详细介绍,应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (1)

1.一种针对层次数据的正方化有序树图布局方法,对待显示的数据集DS进行可视化处理,所述待显示的数据集DS是一组通过层次结构关系互相关联的数据,即层次数据;其特征在于:其具体操作步骤如下:
A.将待可视化数据集DS中的数据,按照层次关系表示为一棵树T;
B.从上向下依次对树T中的每一层节点进行处理,同一层次的同父节点经过处理后得到一个大权值节点集,因此树T中的每一层节点进行处理后得到1个以上大权值节点集;
C.在二维平面上设置一个长宽比为6:4的矩形R,其面积用符号S表示;
D.针对步骤B得到的每一个大权值节点集,根据最短边路径原则,依次布局大权值节点集中的大权值节点;
所述最短边路径原则具体为:保持连续性的情况下,采用最短边路径进行布局;所述最短边路径是对带状路径和螺旋状路径进行优化,每个节点布局时都毗邻上一个节点,并且布局方向紧靠剩余布局空间的最短边;所述带状路径是从左向右、从上到下依次布局;所述螺旋状路径是沿螺旋外环向内环依次布局;
E.对于包含的节点个数大于2个的大权值节点,称其为虚拟父节点;将其包含的全部节点看做为同父节点;依次对每一个包含的节点个数大于2个的大权值节点进行处理,得到一个大权值节点集;然后执行步骤D的布局过程,直至所有布局节点皆为非组合节点;
经过上述步骤的操作,即可完成对待显示的数据集DS的正方化有序树图布局;
步骤B中所述对树T中的同一层次的节点进行处理后得到大权值节点集的具体操作步骤为:
B1.将当前节点的所有兄弟节点,记作节点集U;节点集U中的节点数量用符号Mu表示;设置变量p、Mp、k和m,并给变量p赋初始值为0;给变量k赋初始值为1;给变量m赋初始值为2;
B2.对于当前节点集U中所有未经过处理的节点,查找其最大值节点,最大值节点的序号用符号max表示,其值用符号U[max]表示;给变量Mp赋值为U[max],并使变量p自增1;
B3.判断1≤k<m<max≤Mu是否成立,如成立,则通过公式(1)计算第k个至第m个节点的节点值之和TempSumk~m,然后执行步骤B4的操作;否则,将TempSumk~(m-1)作为一个新节点放入大权值节点集合U'中,并对当前节点集U中的第k个至第m-1个节点标记为已处理节点,然后给变量k赋值为m+1,给m赋值为k+1,执行步骤B5的操作;
<mrow> <msub> <mi>TempSum</mi> <mrow> <mi>k</mi> <mo>~</mo> <mi>m</mi> </mrow> </msub> <mo>=</mo> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mi>k</mi> </mrow> <mi>m</mi> </munderover> <mi>U</mi> <mo>&amp;lsqb;</mo> <mi>i</mi> <mo>&amp;rsqb;</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
B4.判断|TempSumk~m-Mp|<|TempSumk~(m-1)-Mp|是否成立,如成立,则使变量m值自增1,然后重复B3至步骤B4的操作;否则,将TempSumk~(m-1)作为一个新节点放入大权值节点集合U'中,并对当前节点集U中的第k个至第m-1个节点标记为已处理节点,然后给变量k赋值为m,给m赋值为k+1,然后重复B3至步骤B4的操作;
B5.将U[max]作为一个节点,添加至大权值节点集合U'中,并对当前节点集U中的第max个节点标记为已处理节点;然后,重复步骤B2至B5的操作,直至将原节点集U中所有节点通过合并组合添加至大权值节点集合U';
经过步骤B1至B5的操作,得到的大权值节点集合U'中的节点称为大权值节点;
步骤D中所述针对每一个大权值节点集,根据优化后的最短路径,依次布局大权值节点集中的大权值节点的具体操作步骤为:
D1.对于由树T的第二个层次的节点得到的大权值节点集,在步骤C设置的6:4的矩形R上布局节点;对于其它大权值节点集,在其父节点或虚拟父节点对应的矩形中布局节点;
D2.依次对大权值节点集合U'中的每一个节点进行处理,得到当前节点在矩形R或中对应矩形r的相邻两条边的长度和所处位置;
用符号s表示当前节点的序号,用符号U'[s]表示当前节点s的节点值,用符号SUMU'表示大权值节点集合U'中所有节点值的和,用符号MU'表示大权值节点集合U'中的节点数量,1≤s≤MU';矩形r相邻两条边的长度,分别用符号a和b表示;前一节点s-1在矩形R或中对应矩形r'的相邻两条边的长度,分别用符号a'和b'表示;
对当前节点进行处理时,分成两种情况处理:
情况1:当s的值为1或者a'<b'时,执行步骤D2.a至D2.c的操作;
D2.a:对当前节点s处理,为其在矩形R或的当前剩余部分中分配一个矩形r;矩形R或的当前剩余部分仍为矩形,称为剩余矩形R',用符号l表示剩余矩形R'的短边的长度,则:当前节点s在矩形R或中的对应矩形r的相邻两条边中的一条边长a=l,另一条边长b可根据公式(2)计算得到;
<mrow> <mi>b</mi> <mo>=</mo> <mfrac> <mi>S</mi> <mi>a</mi> </mfrac> <mo>&amp;times;</mo> <mfrac> <mrow> <msup> <mi>U</mi> <mo>&amp;prime;</mo> </msup> <mo>&amp;lsqb;</mo> <mi>s</mi> <mo>&amp;rsqb;</mo> </mrow> <mrow> <msub> <mi>SUM</mi> <msup> <mi>U</mi> <mo>&amp;prime;</mo> </msup> </msub> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>
D2.b:确定当前节点s对应的矩形r在矩形R或中的所处位置:矩形r位于剩余矩形R'中,与前一节点s-1对应的矩形相邻,并且矩形r的一条长度为a的边与剩余矩形R'的短边重合,矩形r的一条长度为b的边与剩余矩形R'的长边的一部分重合,从而确定当前节点s对应的矩形r在矩形R或中的所处位置;
D2.c:如当前节点s不是最后一个节点,则:令a'=a;b'=b;然后重复步骤D2,处理下一节点;否则,结束操作;
情况2:当s的值不为1并且a'≥b'时,则布局当前节点时,需调整前一节点s-1在矩形R或中对应的矩形r'的相邻两条边的长度以及位置,因此,此时的当前剩余矩形R'中包含前一节点s-1在矩形R或中对应的矩形;具体执行步骤D2.1至D2.4的操作;
D2.1:当前节点s在矩形R或中的对应矩形r的相邻两条边中一条边长a可根据公式(3)计算得到,另一条边长b可根据公式(4)计算得到;
<mrow> <mi>a</mi> <mo>=</mo> <mi>l</mi> <mo>&amp;times;</mo> <mfrac> <mrow> <msup> <mi>U</mi> <mo>&amp;prime;</mo> </msup> <mrow> <mo>&amp;lsqb;</mo> <mi>s</mi> <mo>&amp;rsqb;</mo> </mrow> </mrow> <mrow> <msup> <mi>U</mi> <mo>&amp;prime;</mo> </msup> <mrow> <mo>&amp;lsqb;</mo> <mi>s</mi> <mo>&amp;rsqb;</mo> </mrow> <mo>+</mo> <msup> <mi>U</mi> <mo>&amp;prime;</mo> </msup> <mrow> <mo>&amp;lsqb;</mo> <mrow> <mi>s</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>&amp;rsqb;</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>
<mrow> <mi>b</mi> <mo>=</mo> <mfrac> <mi>S</mi> <mi>l</mi> </mfrac> <mo>&amp;times;</mo> <mfrac> <mrow> <msup> <mi>U</mi> <mo>&amp;prime;</mo> </msup> <mo>&amp;lsqb;</mo> <mi>s</mi> <mo>&amp;rsqb;</mo> <mo>+</mo> <msup> <mi>U</mi> <mo>&amp;prime;</mo> </msup> <mo>&amp;lsqb;</mo> <mi>s</mi> <mo>-</mo> <mn>1</mn> <mo>&amp;rsqb;</mo> </mrow> <mrow> <msub> <mi>SUM</mi> <msup> <mi>U</mi> <mo>&amp;prime;</mo> </msup> </msub> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>
D2.2:前一节点s-1在矩形R或中对应的矩形r'的相邻两条边中一条边长a′=l-a,另一条边长b′=b;
D2.3:确定前一节点s-1对应的矩形r'在矩形R或中的所处位置:矩形r'位于剩余矩形R'中,与节点s-2对应的矩形相邻,并且矩形r'的一条长度为a'的边与剩余矩形R'的短边的一部分重合,矩形r'的一条长度为b'的边与剩余矩形R'的长边的一部分重合,从而确定前一节点s-1对应的矩形r'在矩形R或中的所处位置;
D2.4:确定当前节点s对应的矩形r在矩形R或中的所处位置:矩形r位于剩余矩形R'中,与前一节点s-1对应的矩形相邻,并且矩形r的一条长度为b的边与剩余矩形R'的长度为b'的边重合,矩形r与矩形r'相互不重叠,从而确定当前节点s对应的矩形r在矩形R或中的所处位置;
D2.5:如当前节点s不是最后一个节点,则:令a'=a;b'=b;然后重复步骤D2,处理下一节点;否则,结束操作。
CN201410523310.1A 2014-10-07 2014-10-07 针对层次数据的正方化有序树图布局方法 Active CN104281681B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410523310.1A CN104281681B (zh) 2014-10-07 2014-10-07 针对层次数据的正方化有序树图布局方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410523310.1A CN104281681B (zh) 2014-10-07 2014-10-07 针对层次数据的正方化有序树图布局方法

Publications (2)

Publication Number Publication Date
CN104281681A CN104281681A (zh) 2015-01-14
CN104281681B true CN104281681B (zh) 2017-11-17

Family

ID=52256554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410523310.1A Active CN104281681B (zh) 2014-10-07 2014-10-07 针对层次数据的正方化有序树图布局方法

Country Status (1)

Country Link
CN (1) CN104281681B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512218B (zh) * 2015-11-30 2018-11-23 北京工商大学 一种关联层次数据的可视化方法和应用
CN105573836B (zh) * 2016-02-23 2018-12-28 中国农业银行股份有限公司 数据处理方法及装置
CN115345125B (zh) * 2022-10-19 2023-02-17 中电云数智科技有限公司 一种基于树形大纲生成推荐布局的方法及终端设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4613946A (en) * 1984-06-07 1986-09-23 Forman Ernest H Method and apparatus for generating hierarchical displays
CN103164520B (zh) * 2013-03-08 2014-04-16 山东大学 一种面向层次化数据的交互可视方法及装置

Also Published As

Publication number Publication date
CN104281681A (zh) 2015-01-14

Similar Documents

Publication Publication Date Title
CN103049580B (zh) 一种层次数据的可视化方法和设备
Deng et al. Accounting and structure decomposition analysis of embodied carbon trade: A global perspective
CN104281681B (zh) 针对层次数据的正方化有序树图布局方法
Scullion et al. Assessing the influence of land-cover change and conflicting land-use authorizations on ecosystem conversion on the forest frontier of Madre de Dios, Peru
Marinoni et al. Development of a system to produce maps of agricultural profit on a continental scale: an example for Australia
CN105354335B (zh) 针对时变层次数据的时变树图布局方法和应用
CN105512218B (zh) 一种关联层次数据的可视化方法和应用
CN103761276B (zh) 一种树形结构数据比较的展示方法和装置
CN103970850B (zh) 网站信息推荐方法和系统
Han et al. Object-based classification using SPOT-5 imagery for Moso bamboo forest mapping
CN105404643B (zh) 针对具有多维属性的层次结构数据的可视化方法和应用
CN106227828B (zh) 一种同构层次数据对比可视分析方法和应用
CN101727498A (zh) 一种基于web结构的网页信息自动提取方法
He et al. Managing the trade-offs among yield increase, water resources inputs and greenhouse gas emissions in irrigated wheat production systems
Ji et al. The mutual benefits from Sino-Africa trade: Evidence on emission transfer along the global supply chain
CN105808766A (zh) 一种基于事务项约束扩展的多层关联规则挖掘方法
Agnusdei et al. Towards circular economy in the agrifood sector: Water footprint assessment of food loss in the Italian fruit and vegetable supply chains
Metaragakusuma et al. The current status of sago production in South Sulawesi: Its market and challenge as a new food-industry source
Li et al. Multiple perspective accountings of cropland soil erosion in China reveal its complex connection with socioeconomic activities
Boyte et al. Validating a time series of annual grass percent cover in the sagebrush ecosystem
Bi et al. Improvement and application of the three-dimensional ecological footprint model
Leung Data science for big data applications and services: data lake management, data analytics and visualization
Tsonkova et al. Application of partial order ranking to identify enhancement potentials for the provision of selected ecosystem services by different land use strategies
Huang et al. Development of global soil erosion research at the watershed scale: a bibliometric analysis of the past decade
CN106056649A (zh) 流程图的生成方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant