层次化数据的动态多级矩形图展示方法技术

技术编号:10357052 阅读:108 留言:0更新日期:2014-08-27 13:16
本发明专利技术公开了一种层次化数据的动态多级矩形图展示方法,本发明专利技术是一种基于上下文的层次布局算法,通过探索数组的矩形的长宽比更好地表现层次数据,并且可以实现在移动平台上的高效、快速绘制矩形图;本发明专利技术具有可以在移动平台上高效、快速地绘制矩形图;可以对层次化数据展示动态多级矩形图的特点。

【技术实现步骤摘要】
层次化数据的动态多级矩形图展示方法
本专利技术涉及层次化数据
,尤其是涉及一种能够在移动平台上高效、快速地绘制矩形图的层次化数据的动态多级矩形图展示方法。
技术介绍
树图作为一种空间层次化数据的可视化展示方法,能够充分地利用显示屏空间,呈现大层次化的数据,并通过其节点的大小、位置重点表现数据节点的量化属性和分布关系。树图的布局算法是树图可视化方法的核心内容,用于根据层次化数据的树图的层次结构、节点权重和节点序列在二维的平面上画出可视化图形。但是,由于树图布局算法的递归特性,不能用于对层次化数据的动态展示。中国专利授权公开号:CN103106197A,授权公开日2011年11月9日,公开了一种层次化数据的展示方法及系统,包括以下步骤:获取节点定位请求;根据所述节点定位请求在层次化数据中查找目标节点;以层级化方式和二维表格的方式展示所述查找到的目标节点。该专利技术的不足之处是,功能单一,不能用于对层次化数据的动态展示。
技术实现思路
本专利技术的专利技术目的是为了克服现有技术中的展示方法的不能用于对层次化数据的动态展示的不足,提供了一种能够在移动平台上高效、快速地绘制矩形图的层次化数据的动态多级矩形图展示方法。为了实现上述目的,本专利技术采用以下技术方案:一种层次化数据的动态多级矩形图展示方法,所述层次化数据存储于移动平台的CPU中,所述层次化数据呈树图状分布,层次化数据包括若干个节点,每个节点包括1个量化属性和若干个非量化属性,value为量化属性值;包括如下步骤:(1-1)CPU按照量化属性值的降序对同层次的所有节点进行排序;所述移动平台的显示屏的宽度为WIDTH,高度为HEIGHT;(1-2)计算所有节点的量化属性值和比例ratio;设定每个节点的量化属性值为所述节点的所有子节点的量化属性值value之和Sum,设定任一节点i的比例ratio为节点i的量化属性值与同层次的所有节点的量化属性值之和sum的比值,CPU计算所有节点的量化属性值及比例ratio;(1-3)CPU将每层的所有节点分别放入数组A和数组B中:(1-3-1)CPU将量化属性值最大的节点放入数组A,将其它节点放入数组B中;(1-4)CPU计算数组的矩形宽度、高度和最佳分割数:(1-4-1)CPU计算数组A中所有节点的比例之和ratioA,并将ratioA设为数组A的比例;当WIDTH<HEIGHT时,CPU设定数组A的矩形宽度为WIDTH,数组A的矩形高度为HEIGHT×ratioA;数组B的矩形宽度为WIDTH,数组B的矩形高度为HEIGHT(1-ratioA);设定判断值当WIDTH≥HEIGHT时,CPU设定数组A的矩形宽度为WIDTH×ratioA,数组A的矩形高度为HEIGHT;数组B的矩形宽度为WIDTH(1-ratioA),数组B的矩形高度为HEIGHT,设定判断值(1-4-2)当DIFF>0.5并且所有节点的数量>=3,设定最佳分割数为2,将数组B中的量化属性值最大的节点移动到数组A中,转入步骤(1-4-1);当DIFF≤0.5,设定最佳分割数为1,转入步骤(1-5);(1-5)当数组A中的节点数量大于1时,返回步骤(1-3-1),将数组A中的所有节点分别放入2个1级子数组中,并计算各个数组的矩形宽度、高度和最佳分割数;当数组B中的节点数量大于1时,返回步骤(1-3-1),将数组B中的所有节点分别放入2个1级子数组中,并计算各个数组的矩形宽度、高度和最佳分割数;当i级子数组中的节点数量大于1时,返回步骤(1-3-1),将i级子数组中的所有节点分别放入2个i+1级子数组中,并计算各个数组的矩形宽度、高度和最佳分割数,i≥1;(1-6)点击显示屏中节点对应的位置,CPU按照所述节点的第一层子节点的数组的矩形高度、宽度和最佳分割数在显示屏中绘制矩形图。本专利技术中点击显示屏中节点对应的位置,CPU按照所述节点的第一层子节点的数组的矩形高度、宽度和最佳分割数在显示屏中绘制矩形图,从而实现了动态展示。在树图中每个节点都以父亲及其孩子节点层次化地表示。例如,某个节点包含以下属性:大小(权重):表示该节点的大小或者在数据集中的权重。可能数据文件的文件大小或者是某个产品的销量,是量化属性;标签(名称):表示该节点的名称作为标签,如服装中的男装,非量化属性;父亲:它指向该节点的父亲节点,非量化属性;孩子:该字段包含指向该节点的所有子节点的数组,非量化属性;高度、宽度:矩形空间的高度和宽度影响其长宽比在其被绘制在显示区域中。这些值通过节点的大小和显示空间的高度与宽度计算所得;非量化属性。本专利技术是一种基于上下文的层次布局算法,通过探索数组的矩形的长宽比更好地表现层次数据,并且可以实现在移动平台上的高效、快速绘制矩形图。本专利技术是通过计算每个节点的量化属性值在同一层次的所有节点的量化属性总和中所占比例将显示屏划分成一个或者多个部分,在移动平台上展示的分割矩形长宽比。作为优选,所述步骤(1-6)中包括如下步骤:当WIDTH<HEIGHT时,CPU控制数组A的矩形以显示屏的(0,0)点为左上顶点绘制矩形。作为优选,所述步骤(1-6)中还包括如下步骤:当WIDTH≥HEIGHT时,CPU控制数组A的矩形以显示屏的(0,0)点为左上顶点绘制矩形。作为优选,步骤(1-6)后还包括如下步骤:CPU在每个矩形内部填充不同颜色,相邻矩形内的颜色相近。本专利技术的移动平台为安卓移动平台。因此,本专利技术具有如下有益效果:(1)可以在移动平台上高效、快速地绘制矩形图;(2)可以对层次化数据展示动态多级矩形图。附图说明图1是本专利技术的实施例的一种流程图;图2是本专利技术的层次化数据的树图;图3是本专利技术的层次化数据的第二层动态数据展示图。图中:analytics1、animate2、data3、display4、flex5、physics6、query7、scale8、util9、vis10。具体实施方式下面结合附图和具体实施方式对本专利技术做进一步的描述。如图1所示的实施例是一种层次化数据的动态多级矩形图展示方法,本实施例的显示屏的WIDTH=1260像素,HEIGHT=696像素,如图2所示,第二层节点包括节点analytics,animate,data,display,flex,physics,query,scale,util和vis,还包括第三层和第四层的各个节点。如图1所示,包括如下步骤:步骤1,按照量化属性值的降序对所有节点进行排序。降序排列结果如下:analytics,animate,data,display,flex,physics,query,scale,util,vis。步骤2,将第二层的所有的节点分成两个数组:数组A和数组B。数组A中包含analytics,数组B中包含animate,data及其它所有节点。步骤3,计算最佳分割数,数组A(即analytics)的初始WIDTH=1260,初始HEIGHT=696,计算得到数组A(即analytics)的比例=0.1996805118210864。根据公式当WIDTH>HEIGHT时,width宽度WIDTHxratio=251.597445,height高度=HEIGHT=696。同时计算出变量DIFF根据公式可得,当本文档来自技高网...
层次化数据的动态多级矩形图展示方法

【技术保护点】
一种层次化数据的动态多级矩形图展示方法,所述层次化数据存储于移动平台的CPU中,所述层次化数据呈树图状分布,层次化数据包括若干个节点,每个节点包括1个量化属性和若干个非量化属性,value为量化属性值;其特征是,包括如下步骤:(1‑1)CPU按照量化属性值的降序对同层次的所有节点进行排序;所述移动平台的显示屏的宽度为WlDTH,高度为HElGHT;(1‑2)计算所有节点的量化属性值和比例ratio;设定每个节点的量化属性值为所述节点的所有子节点的量化属性值value之和Sum,设定任一节点i的比例ratio为节点i的量化属性值与同层次的所有节点的量化属性值之和sum的比值,CPU计算所有节点的量化属性值及比例ratio;(1‑3)CPU将每层的所有节点分别放入数组A和数组B中:(1‑3‑1)CPU将量化属性值最大的节点放入数组A,将其它节点放入数组B中;(1‑4)CPU计算数组的矩形宽度、高度和最佳分割数:(1‑4‑1)CPU计算数组A中所有节点的比例之和ratioA,并将ratioA设为数组A的比例;当WIDTH<HEIGHT时,CPU设定数组A的矩形宽度为WIDTH,数组A的矩形高度为HEIGHT×ratioA;数组B的矩形宽度为WIDTH,数组B的矩形高度为HEIGHT(1‑ratioA);设定判断值DIFF=1-WIDTHHEIGHT×ratioA;]]>当WIDTH≥HEIGHT时,CPU设定数组A的矩形宽度为WIDTH×ratioA,数组A的矩形高度为HEIGHT;数组B的矩形宽度为WIDTH(1‑ratioA),数组B的矩形高度为HEIGHT,设定判断值DIFF=1-WIDTHHEIGHT×ratioA;]]>(1‑4‑2)当DIFF>0.5并且所有节点的数量>=3,设定最佳分割数为2,将数组B中的量化属性值最大的节点移动到数组A中,转入步骤(1‑4‑1);当DIFF≤0.5,设定最佳分割数为1,转入步骤(1‑5);(1‑5)当数组A中的节点数量大于1时,返回步骤(1‑3‑1),将数组A中的所有节点分别放入2个1级子数组中,并计算各个数组的矩形宽度、高度和最佳分割数;当数组B中的节点数量大于1时,返回步骤(1‑3‑1),将数组B中的所有节点分别放入2个1级子数组中,并计算各个数组的矩形宽度、高度和最佳分割数;当i级子数组中的节点数量大于1时,返回步骤(1‑3‑1),将i级子数组中的所有节点分别放入2个i+1级子数组中,并计算各个数组的矩形宽度、高度和最佳分割数,i≥1;(1‑6)点击显示屏中节点对应的位置,CPU按照所述节点的第一层子节点的数组的矩形高度、宽度和最佳分割数在显示屏中绘制矩形图。...

【技术特征摘要】
1.一种层次化数据的动态多级矩形图展示方法,所述层次化数据存储于移动平台的CPU中,所述层次化数据呈树图状分布,层次化数据包括若干个节点,每个节点包括1个量化属性和若干个非量化属性,value为量化属性值;其特征是,包括如下步骤:(1-1)CPU按照量化属性值的降序对同层次的所有节点进行排序;所述移动平台的显示屏的宽度为WIDTH,高度为HEIGHT;(1-2)计算所有节点的量化属性值和比例ratio;设定每个节点的量化属性值为所述节点的所有子节点的量化属性值value之和Sum,设定任一节点i的比例ratio为节点i的量化属性值与同层次的所有节点的量化属性值之和sum的比值,CPU计算所有节点的量化属性值及比例ratio;(1-3)CPU将每层的所有节点分别放入数组A和数组B中:(1-3-1)CPU将量化属性值最大的节点放入数组A,将其它节点放入数组B中;(1-4)CPU计算数组的矩形宽度、高度和最佳分割数:(1-4-1)CPU计算数组A中所有节点的比例之和ratioA,并将ratioA设为数组A的比例;当WIDTH<HEIGHT时,CPU设定数组A的矩形宽度为WIDTH,数组A的矩形高度为HEIGHT×ratioA;数组B的矩形宽度为WIDTH,数组B的矩形高度为HEIGHT(1-ratioA);设定判断值当WIDTH≥HEIGHT时,CPU设定数组A的矩形宽度为WIDTH×ratioA,数组A的矩形高度为HEIGHT;数组B的矩形宽度为WIDTH(1-ratioA),数组B的矩形高度为HEIGHT,设定判断值(1-4-2)...

【专利技术属性】
技术研发人员:孔丁科刘菁菁刘丹卢挺黄道峰王勋
申请(专利权)人:浙江工商大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1