一种关系图的打印方法和装置与流程

文档序号:17048000发布日期:2019-03-05 19:45阅读:152来源:国知局
一种关系图的打印方法和装置与流程

本发明涉及计算机领域,尤其涉及一种关系图的打印方法和装置。



背景技术:

进行关系网络(relationalnetwork)分析时,分析时所用的视图(后文称为关系图)往往会变得非常大,里面包含着成千上万的节点和关系;其中,关系图可以用于直观的展示关系网络的拓扑结构,一般是由多个节点及连接节点的线所构成的图形,其中每个节点可以分别对应于特定事物(比如用户、设备、地点等),两个节点之间的连接线可以表示两个事物之间的关系。

在对关系图进行打印的时候,如果关系网络较大,又要按1:的1比例在一张纸上打印,那这张纸往往需要长宽达几米,如果按比例缩小打印,则看不清关系图中的细节,比如图1所示的关系图如果打印在一页a4纸或更小尺寸的纸上,节点中的字符将无法看清,或需要很费劲才能看清。

目前一般采用分页打印的方案,是在实际尺寸的基础上,按照打印尺寸的大小等宽或等高分页。例如图2所示中每一个等宽和等高的格子就是要打印的一页。

等宽或等高分页打印的问题在于:

图区中会有很多空白打印区域,浪费纸张。

打破了关系网络原本的层次和关系结构,不便于单张阅读。



技术实现要素:

本申请提供一种关系图的打印方法和装置,能够将关系图自动拆分到分页中进行打印。

本申请采用如下技术方案。

一种关系图的打印方法,包括:

当待打印的关系图的整体视图超过设置的打印尺寸时,根据节点的属性信息,对所述待打印的关系图中的节点进行聚类,以使得聚类后的关系图的整体视图在所述打印尺寸范围内;

对所述聚类后的关系图的整体视图,以及对聚类的节点形成的子视图分别进行打印。

其中,所述对待打印的关系图中的节点进行聚类后还可以包括:

在所述待打印的关系图的整体视图中,分别将聚类得到的各类节点对应的区域缩小,得到聚类后的关系图的整体视图;

或者,在所述待打印的关系图的整体视图中,将聚类得到的各类节点各自显示成一个节点,得到聚类后的关系图的整体视图。

其中,对聚类的节点形成的子视图进行打印可以包括:

对于聚类所得到的各类节点可以分别进行如下操作:

如果该类节点形成的子视图在所述打印尺寸范围内,则打印该类节点形成的子视图;

如果该类节点形成的子视图超过所述打印尺寸,则根据该类节点的属性信息,对该类节点进行聚类得到下一层级的各类节点,以使得聚类后该类节点形成的子视图在所述打印尺寸范围内;打印聚类后该类节点形成的子视图。

其中,所述对该类节点进行聚类后还可以包括:

在该类节点形成的子视图中,分别将聚类得到的下一层级的各类节点对应的区域缩小,得到聚类后该类节点形成的子视图;

或者,在该类节点形成的子视图中,将聚类得到的下一层级的各类节点各自显示成一个节点,得到聚类后该类节点形成的子视图。

其中,所述聚类所得到的各类节点可以包括以下一种或多种:

对所述待打印的关系图中的节点进行聚类得到的各类节点;

对一类节点进行聚类得到的下一层级的各类节点。

其中,所述聚类的节点形成的子视图可以包括:聚类得到的各类节点各自形成的子视图;其中,一类节点形成的子视图是包括该类节点的最大连通子图。

一种关系图的打印装置,包括:处理器和存储器;

所述存储器用于保存用于打印关系图的程序;所述用于打印关系图的程序在被所述处理器读取执行时,进行如下操作:

当待打印的关系图的整体视图超过设置的打印尺寸时,根据节点的属性信息,对所述待打印的关系图中的节点进行聚类,以使得聚类后的关系图的整体视图在所述打印尺寸范围内;

对所述聚类后的关系图的整体视图,以及对聚类的节点形成的子视图分别进行打印。

其中,对聚类的节点形成的子视图进行打印可以包括:

对于聚类所得到的各类节点可以分别进行如下操作:

如果该类节点形成的子视图在所述打印尺寸范围内,则打印该类节点形成的子视图;

如果该类节点形成的子视图超过所述打印尺寸,则根据该类节点的属性信息,对该类节点进行聚类得到下一层级的各类节点,以使得聚类后该类节点形成的子视图在所述打印尺寸范围内;打印聚类后该类节点形成的子视图。

其中,所述聚类所得到的各类节点可以包括以下一种或多种:

对所述待打印的关系图中的节点进行聚类得到的各类节点;

对一类节点进行聚类得到的下一层级的各类节点。

一种关系图的打印装置,包括:

拆分模块,用于当待打印的关系图的整体视图超过设置的打印尺寸时,根据节点的属性信息,对所述待打印的关系图中的节点进行聚类,以使得聚类后的关系图的整体视图在所述打印尺寸范围内;

打印模块,用于对所述聚类后的关系图的整体视图,以及对聚类的节点形成的子视图分别进行打印。

其中,所述打印模块对聚类的节点形成的子视图进行打印可以包括:

所述打印模块对于聚类所得到的各类节点分别进行如下操作:

如果该类节点形成的子视图在所述打印尺寸范围内,则打印该类节点形成的子视图;

如果该类节点形成的子视图超过所述打印尺寸,则指示所述拆分模块根据该类节点的属性信息,对该类节点进行聚类得到下一层级的各类节点,以使得聚类后该类节点形成的子视图在所述打印尺寸范围内;打印聚类后该类节点形成的子视图。

其中,所述聚类所得到的各类节点可以包括以下一种或多种:

对所述待打印的关系图中的节点进行聚类得到的各类节点;

对一类节点进行聚类得到的下一层级的各类节点。

本申请至少一个实施例中,在打印关系图时,可根据打印纸张的大小,自动的对关系图中的节点进行聚类,从而对关系图进行拆分打印;既可以保证打印的层次感,又能看清关系图的细节。

当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

图1是举例所用的一张打印时无法清晰显示细节的关系图;

图2是分页打印图1所示的关系图的示意图;

图3是实施例一的关系图的打印方法的流程图;

图4是实施例一的例子中的流程图;

图5是实施例一的例子中拆分出层级子图的示意图;

图6~10是实施例一的例子中各层级子图在一页内打印出来的效果;

图11是实施例三的关系图生成装置的示意图。

具体实施方式

下面将结合附图及实施例对本申请的技术方案进行更详细的说明。

需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

在一种配置中,进行关系图打印的计算设备可包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存(memory)。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。内存可能包括一个或多个模块。

计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom),快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

实施例一、一种关系图的打印方法,如图3所示,包括步骤s110~s120:

s110、当待打印的关系图的整体视图超过设置的打印尺寸时,根据节点的属性信息,对所述待打印的关系图中的节点进行聚类,以使得聚类后的关系图的整体视图在所述打印尺寸范围内;

s120、对所述聚类后的关系图的整体视图,以及对聚类的节点形成的子视图分别进行打印。

本实施例中,在打印关系图时,可根据打印纸张的大小,自动的对关系图中的节点进行聚类,从而对关系图进行拆分打印;既可以保证打印的层次感,又能看清关系图的细节。

本实施例的方法可以但不限于应用于大数据产品中,由于大数据的关系图经常比较复杂,且关系图比较大,往往无法在一张纸上打印;而采用本实施例的方法则可以自动对关系图进行分层打印,从而满足用户的需求。

本实施例中,可以按照关系网络本身的层次结构得到多个视图,除了整体视图以外,其它视图可以是聚类后的各类节点各自形成的子视图,因此不会出现一页中大部分区域是空白区域的情况。

本实施例的步骤可以由电子设备执行,该电子设备可以是物理机或虚拟机、可以是独立的单台设备或分布式设备、可以是用户的个人设备或远程的服务器。

本实施例中,关系图中各节点的属性信息可以从用于生成或采集关系网络的数据的设备上获取,或可以由人工输入并保存在执行上述步骤s110~s120的设备中。

本实施例中,所述节点的属性信息可以包括以下一项或多项:节点的坐标、节点的属性值、该节点和其它节点的关系等。

其中,节点和其它节点的关系,在视图中可以体现为节点之间的连线。

其中,节点的属性值可以有一个或多个,比如节点的等级、内容等。

比如假设图1(图1中各部分的详细内容参见图6~10)的关系图用于表示公司结构的关系网络,则该关系图中心节点q的属性值可以是总公司,和节点q相连的q1~q6的属性值可以分别是不同的分公司,qi-1~qi-5(i=1、2、3、4、5)的属性值可以分别是节点qi对应的子公司中的各部门;qi-j-1~qi-j-5(j=1、2、3、4、5)的属性值可以是节点qi对应的子公司中,qj部门中的各人员的工号。

本实施例中,打印尺寸可以是默认的、预置的、或用户输入的尺寸;还可以是用户在一批默认尺寸中选定的尺寸,比如该打印尺寸可以是用户选定的某个型号的纸张的尺寸,如a4纸。

本实施例中,当关系图的整体视图超过打印尺寸时,可以提示用户是否要进行自动拆分;如果用户选择自动拆分,则进行聚类和步骤s120;也可以根据用户的选择改为手动拆分,比如由用户选择关系图中哪些节点放在一类里。

本实施例中,可以采用关系图中各节点的最小外包矩形的尺寸和打印尺寸进行比对,来判断关系图的整体视图是否超过打印尺寸;如果最小外包矩形的长和宽中有一个超过打印尺寸,则可以判断关系图的整体视图超过打印尺寸。

本实施例中,聚类算法可以自行选择,比如k-means、层次聚类、自组织映射(self-organizingmaps,som)等算法及其变形算法。

本实施例中,可以自行根据关系网络的类型或节点的属性值决定所采用的聚类算法。

本实施例中,聚类的目的是可以看出关系图中哪些节点更为类似,或者说从视觉上来看在视图中这部分节点“集中在一起”;将这部分节点作为一类,放在一个子视图中,可以更方便观看。

本实施例中,可以根据需要自行设置聚类时所依据的参数,比如可以根据节点的属性值,也可以依据节点的坐标,还可以依据节点的多个属性信息进行聚类。

本实施例中,聚类可以从一批节点中拆分出一类或多类节点。

本实施例中,任一类节点形成的子视图可以用于体现出该类中各节点之间的关系;比如可以用该类中各节点的分布位置以及连接线来体现。

本实施例中,聚类的节点形成的子视图可以作为和整体视图并列的独立视图进行处理;聚类的节点形成的子视图可以看成是从整体视图中拆分出的层级子图。比如,如果打印尺寸是a4纸的尺寸,则步骤s120可以在多张a4纸上,分别打印出聚类后的关系图的整体视图,以及聚类的节点形成的子视图。

本实施例中,聚类后的关系图的整体视图,以及聚类的节点形成的子视图的打印顺序可以自行设定;可以是放入打印队列依次打印,也可以是放入预定位置,由用户选取打印。

一种实现方式中,对待打印的关系图中的节点进行聚类后还可以包括:

在所述待打印的关系图的整体视图中,分别将聚类得到的各类节点对应的区域缩小,得到聚类后的关系图的整体视图;

或者,在所述待打印的关系图的整体视图中,将聚类得到的各类节点各自显示成一个节点,得到聚类后的关系图的整体视图。

本实现方式中,相当于更新了待打印的关系图的整体视图(即原整体视图,将原整体视图中各类节点对应的区域(一类节点对应的区域,即整体视图中包含该类节点的那部分视图)分别缩小,或用一个节点代替后,得到聚类后的关系图的整体视图。

本实现方式中,将聚类得到的各类节点各自显示成一个节点,即用一个新的节点代替一类节点,比如聚类得到五类节点,则将整体视图中这五类节点的区域,替换成五个新节点,其中一类节点的区域替换成一个新节点,新节点的属性值可以是这类节点所共有的属性值。

本实现方式中,缩小各类节点对应的区域的幅度可以根据打印尺寸确定;比如可以计算目前整体视图如果要小于或等于打印尺寸,需要缩小多少,假设是原整体视图的尺寸的60%;则在缩小各类节点对应的区域时,也可以缩小为原尺寸的60%。

本实现方式中,将各类节点对应的区域缩小可以包括:

生成各类节点形成的子视图的缩略图;

用各类节点形成的子视图的缩略图,分别替换所述待打印的关系图的整体视图中该类节点对应的区域。

这样在聚类后的关系图的整体视图中,各类节点对应的区域是缩小的,但能看清独立节点的细节,以及各类节点之间、各类节点和独立节点之间的关系(即连线);而一类节点的细节,比如该类的各节点本身的标识、该类的各节点之间的关系等,都可以在该类节点形成的子视图中看清楚。

其中,独立节点可以是指聚类后不属于任何一个类的节点;在整体视图中,独立节点可以不进行更改。

其中,缩略图的缩小比例,也可以根据打印尺寸确定。

其它实现方式中,也可以将原整体视图整体根据打印尺寸缩小后,再放大其中的独立节点。

其它实现方式中,也可以将各类节点对应的区域用其它方式缩小,或替换,以使得聚类后的关系图的整体视图在所述打印尺寸范围内。

一种实现方式中,对聚类的节点形成的子视图进行打印可以包括:

如果该类节点形成的子视图在所述打印尺寸范围内,则打印该类节点形成的子视图;

如果该类节点形成的子视图超过所述打印尺寸,则根据该类节点的属性信息,对该类节点进行聚类得到下一层级的各类节点,以使得聚类后该类节点形成的子视图在所述打印尺寸范围内;打印聚类后该类节点形成的子视图。

本实现方式中,所述聚类所得到的各类节点包括以下一种或多种:

对所述待打印的关系图中的节点进行聚类得到的各类节点;

对一类节点进行聚类得到的下一层级的各类节点。

本实现方式中,对聚类的节点形成的子视图进行打印的一种实现过程可以包括如下步骤21~24:

21、将对待打印的关系图中的节点进行聚类得到的各类节点形成的子视图放入打印队列;

22、如果打印队列中还存在子视图,则取出打印队列中一类节点形成的子视图,进行步骤23;如果打印队列已空,则结束;

23、如果该类节点形成的子视图在打印尺寸的范围内则直接打印;返回步骤22;如果该类节点形成的子视图超过打印尺寸,则进行步骤24;

24、根据该类节点的属性信息,对该类节点进行聚类,得到该类节点下一层级的各类节点,将下一层级的各类节点形成的子视图也放入上述打印队列;返回步骤22。

本实现方式中,相当于对关系图逐层拆分;能很好的保留关系网络本身的层次结构,而且可以保证关系网络中每个部分的清晰度,分页的排布是符合关系网络层次递进式的阅读习惯的。

本实现方式中,可以采用一类节点的最小外包矩形的尺寸和打印尺寸进行比对,来判断该类节点形成的子视图是否超过打印尺寸;如果该类节点的最小外包矩形的长和宽中有一个超过打印尺寸,则可以判断该类节点形成的子视图超过打印尺寸。

本实现方式中,比如假设关系网络中本身包含1000个节点,在步骤s110中,对待打印的关系图中的节点进行聚类后分成5类节点;其中x类包含500个节点,x类节点形成的子视图超过打印尺寸;此情况下可以对x类节点再进行聚类,比如分成8类:x-1~x-8;其中,x-1~x-8类的节点就是x类的下一层级的各类节点。假设x-2类包含50个节点,形成的子视图仍超过打印尺寸,则可以再对x-2类节点进行聚类;以此类推,直到各类节点(包括对待打印的关系图聚类得到的各类节点,和步骤24中聚类得到的各类节点)形成的子视图都不超过打印尺寸。

本实现方式中,如果步骤s110中对待打印的关系图中的节点进行聚类,得到的各类节点形成的子视图都没有超过打印尺寸,则可以不再进行聚类,直接打印各类节点形成的子视图。

本实现方式中,所述对该类节点进行聚类后还可以包括:

在该类节点形成的子视图中,分别将聚类得到的下一层级的各类节点对应的区域缩小,得到聚类后该类节点形成的子视图;

或者,在该类节点形成的子视图中,将聚类得到的下一层级的各类节点各自显示成一个节点,得到聚类后该类节点形成的子视图。

其中,将聚类得到的下一层级的各类节点对应的区域缩小的做法,相当于更新超过打印尺寸的子视图,用下一层级各类节点对应的区域缩小后,分别代替超过打印尺寸的子视图中该类下一层级节点原先所占的区域;比如上例中,就是在x类节点形成的子视图中,将x-1~x-8类节点缩小后,再分别代替x-1~x-8类节点原先所占的区域。

该做法的实现细节可以参见更新整体视图时的情况。

其中,缩小的幅度可以根据打印尺寸确定,比如上例中,假设x类节点形成的子视图需要缩小到原尺寸的80%才能不超过打印尺寸,则在缩小下一层级各类节点的区域时,也可以缩小为原尺寸的80%。

其中,可以通过生成下一层级各类节点形成的子视图的缩略图,并使用下一层级各类节点缩略图,分别替换原图中该类下一层级节点对应的区域的方式来进行缩小;比如上例中,可以生成x-1~x-8类节点形成的子视图的缩略图,再用这些缩略图分别相应替换x类节点形成的子视图中,x-1~x-8类节点对应的区域。

在其它实现方式中,也可以直接将x类节点形成的子视图根据打印尺寸直接进行缩小。

一种实现方式中,关系图的整体视图可以是指包括关系图中各节点的最大连通子图。

聚类得到的各类节点各自形成的子视图;其中,一类节点形成的子视图是包括该类节点的最大连通子图。

其中,连通子图的计算是图论中的比较常见的问题,图论中有许多经典的求解连通子图的算法,本实施例都可以使用。

其中,连通子图可以有效的将一副大图拆分成相对独立的单元,这些单元可以被认为是一个团伙,一个组织,或者具有相近关系和属性的群组,每个单元放在一个视图中更容易完整的保留关系图的信息。如图1所示的可以看成包括关系图中各节点的最大连通子图。

结合上述的实现方式,可以保证每个连通子图中的节点在一个视图或者一组视图里面。

下面用一个例子说明本实施例。本例子以图1作为待打印的关系图,打印的过程如图4所示,包括以下步骤401~406:

401、接收用户所输入的打印尺寸。

402、获取待打印的关系图中各节点的属性信息,根据所获取的属性信息计算包含关系图中各节点的最大连通子图,即关系图的整体视图,比如本例中计算出的最大连通子图就是图1所示的关系图。

其中,节点的属性信息可以包括节点的标识、坐标、属性值、和其它节点的关系等;属性值可以有一个或多个,属性值还可以包括节点的层级,该层级也可以在节点的标识中体现出来,比如层级越高,节点的标识越短。

其中,一个节点和其它节点的关系在图中可以表示为连接线。

其中,一个节点和其它节点的关系可以包括层级上的上下级关系,比如该节点从属于哪一个上一层级节点,包含哪个或哪几个子层级节点;比如图1中最高层级的是节点q,包含6个子层级节点q1~q6;节点qi(i=1,2,3,4,5)包含5个子层级节点qi-1~qi-5;qi-j(j=1,2,3,4,5)包含5个子层级节点qi-j-1~qi-j-5,

其中,上下级关系也可以从节点的标识体现出,比如子层级节点的标识中包含所属上一层级节点的标识。

其中,一个节点和其它节点的关系还可以包括其它的关联关系,比如两个同层级节点之间有交互,再比如两个不同层级、也非上下级关系的节点之间有交互,如图1中节点q1和q3都与q5-5连接。

以计算出的最大连通子图作为当前连通子图,进行步骤403。

403、根据打印尺寸判断当前连通子图是否可在一页内按原尺寸(即1:1的比例)进行打印(可称为等比打印)。即:判断包含当前连通子图中各节点的最小外包矩形的长和宽,是否分别小于或等于打印尺寸的长和宽;如果长和宽均小于打印尺寸,则认为可以在一页内等比打印;如果长和宽中有一个大于打印尺寸,则认为不能在一页内等比打印。

如果可以等比打印,则直接打印(如果当前还有待打印的连通子图,则可以先放入打印堆栈,等候打印);打印后以子图队列中下一个连通子图作为当前连通子图,返回403;如果打印堆栈已空,则结束。

如果不能等比打印,则进行步骤404。比如图1所示的连通子图为当前连通子图时,由于比较庞大,有许多层级和分支,无法在一页中按照1:1比例打印,这个时候就需要对该连通子图通过节点聚类的方式进行拆分(即进行步骤404),本例中将拆分得到的层级子图(即各类节点形成的子视图)以缩略图的方式进行打印,这样既保证了该连通子图的完整性,又能在一页内打印完成,只是损失部分层级子图上的打印效果,而这个会在后续步骤通过分别打印各层级子图来进行弥补。

404、对当前连通子图进行拆分,采用聚类算法将当前连通子图中的节点分为多个聚类;在当前连通子图中,分别确定各类节点的最大连通子图(即:各类节点形成的子视图),作为当前连通子图的层级子图,层级子图是当前连通子图中的一个组成部分;将各类节点的连通子图都放入打印堆栈。去除已分到某个聚类的节点后,当前连通子图的节点中可能还会剩余不属于任何一个聚类的一个或多个独立节点。

比如当图1所示的图为当前连通子图时,假设聚类结果是q1-j-1~q1-j-5(j=1、2、3、4、5)是一类,q2-j-1~q2-j-5是一类,q3-j-1~q3-j-5是一类,q4-j-1~q4-j-5是一类,q5-j-1~q5-j-5是一类,则根据聚类结果可以拆分出五个层级子图51~55,如图5所示,还会剩余独立节点q和q6。

405、生成当前连通子图的各层级子图的缩略图,更新当前连通子图,以层级子图的缩略图代替当前连通子图中相应节点的区域,比如用层级子图51的缩略图代替层级子图51中节点所占区域,以此类推。

比如当前连通子图是如图1所示的图时,对这五个层级子图按照单页比例压缩,生成缩略图,以确保图1所示的连通子图能在一页内打印,这样就能先看到图1所示的连通子图的整体结构了。用缩略图更新图1后如图5所示(图5中的虚线圈是为了标识出层级子图的范围,在打印出的图中并不存在),从图5中虽然看不到各类节点形成的子视图的细节,但可以看出各类节点之间、以及与独立节点之间的整体结构,而且可以清楚看到独立节点的细节。

由于节点之间的关系并没有改变,即原先的连接线两头的节点并没有改变,因此各层级子图的缩略图中,原先与其它子图或独立节点相连的节点,仍会按照原先的连接关系进行连接;比如图5中,层级子图的缩略图中的节点q1~q5仍和节点q相连,节点q3及节点q1仍分别连接节点q5-5。

406、打印更新后的当前连通子图(如果当前还有待打印的连通子图,则可以先放入打印堆栈,等候打印),将打印堆栈中的下一个连通子图(比如子图51)作为当前连通子图并返回步骤403;如果子图队列已空,则结束。

相当于重复上述步骤403~406,直到打印堆栈中的所有连通子图都可以在一页内打印完毕为止。

返回步骤403,即意味着:对层级子图继续进行是否可在一页内等比打印的判断,对不能在一页内等比打印的层级子图,继续按照步骤404,拆分成更细的层级子图并生成缩略图,并将拆分出的更细的层级子图也放入打印堆栈,等待判断能否在一页内等比打印,以此类推;最终将一副大图逐层从总览到细节分层打印,而递归的打印顺序也保证了关系图的层次递进关系,更方便阅读者阅读整个关系图。

比如图5所示的5个层级子图51~55会依次进行步骤403,假设层级子图51~55都能在一页内打印,则打印出来的效果分别如图6~10所示。假设层级子图55不能在一页内打印,则可以将层级子图55再按照步骤404的方式,拆分出一个或多个层级子图;按照步骤405生成这些层级子图的缩略图,并更新层级子图55,然后再对这些拆分出的层级子图分别判断能否在一页内打印,并相应直接放入打印堆栈或再进行聚类和拆分;以此类推。

本例中,如果先将关系图先全部分层拆分好,保证每个层级子图可以在一页内等比打印,再按照某种预定顺序进行打印,或由用户决定打印哪些图和打印顺序,也是可行的。比如406中先不打印,而是将更新后的当前连通子图先放入打印队列,或标识为待打印的文件。

实施例二、一种关系网络的视图生成装置,包括:处理器和存储器;

所述存储器用于保存用于打印关系图的程序;所述用于打印关系图的程序在被所述处理器读取执行时,进行如下操作:

当待打印的关系图的整体视图超过设置的打印尺寸时,根据节点的属性信息,对所述待打印的关系图中的节点进行聚类,以使得聚类后的关系图的整体视图在所述打印尺寸范围内;

对所述聚类后的关系图的整体视图,以及对聚类的节点形成的子视图分别进行打印。

一种实现方式中,所述用于打印关系图的程序在被所述处理器读取执行时,还可以进行如下操作:

对待打印的关系图中的节点进行聚类后,在所述待打印的关系图的整体视图中,分别将聚类得到的各类节点对应的区域缩小,得到聚类后的关系图的整体视图;

或者,对待打印的关系图中的节点进行聚类后,在所述待打印的关系图的整体视图中,将聚类得到的各类节点各自显示成一个节点,得到聚类后的关系图的整体视图

一种实现方式中,对聚类的节点形成的子视图进行打印可以包括:

对于聚类所得到的各类节点分别进行如下操作:

如果该类节点形成的子视图在所述打印尺寸范围内,则打印该类节点形成的子视图;

如果该类节点形成的子视图超过所述打印尺寸,则根据该类节点的属性信息,对该类节点进行聚类得到下一层级的各类节点,以使得聚类后该类节点形成的子视图在所述打印尺寸范围内;打印聚类后该类节点形成的子视图。

本实现方式中,所述聚类所得到的各类节点包括以下一种或多种:

对所述待打印的关系图中的节点进行聚类得到的各类节点;

对一类节点进行聚类得到的下一层级的各类节点。

本实现方式中,所述用于打印关系图的程序在被所述处理器读取执行时,还可以进行如下操作:

对一类节点进行聚类后,在该类节点形成的子视图中,分别将聚类得到的下一层级的各类节点对应的区域缩小,得到聚类后该类节点形成的子视图;

或者,对一类节点进行聚类后,在该类节点形成的子视图中,将聚类得到的下一层级的各类节点各自显示成一个节点,得到聚类后该类节点形成的子视图。

一种实现方式中,聚类的节点形成的子视图可以包括:聚类得到的各类节点各自形成的子视图;其中,一类节点形成的子视图是包括该类节点的最大连通子图。

本实施例中,所述用于打印关系图的程序在被所述处理器读取执行时,所进行的操作可以对应于实施例一的步骤s110~s120,其它实现细节可参见实施例一。

实施例三、一种关系图的打印装置,如图11所示,包括:

拆分模块31,用于当待打印的关系图的整体视图超过设置的打印尺寸时,根据节点的属性信息,对所述待打印的关系图中的节点进行聚类,以使得聚类后的关系图的整体视图在所述打印尺寸范围内;

打印模块32,用于对所述聚类后的关系图的整体视图,以及对聚类的节点形成的子视图分别进行打印。

一种实现方式中,拆分模块还可以用于在对待打印的关系图中的节点进行聚类后,在所述待打印的关系图的整体视图中,分别将聚类得到的各类节点对应的区域缩小,得到聚类后的关系图的整体视图;

或者,拆分模块还可以用于在对待打印的关系图中的节点进行聚类后,在所述待打印的关系图的整体视图中,将聚类得到的各类节点各自显示成一个节点,得到聚类后的关系图的整体视图。

一种实现方式中,打印模块对聚类的节点形成的子视图进行打印可以包括:打印模块对于聚类所得到的各类节点分别进行如下操作:

如果该类节点形成的子视图在所述打印尺寸范围内,则打印该类节点形成的子视图;

如果该类节点形成的子视图超过所述打印尺寸,则指示所述拆分模块根据该类节点的属性信息,对该类节点进行聚类得到下一层级的各类节点,以使得聚类后该类节点形成的子视图在所述打印尺寸范围内;打印聚类后该类节点形成的子视图。

本实现方式中,所述聚类所得到的各类节点可以包括以下一种或多种:

对所述待打印的关系图中的节点进行聚类得到的各类节点;

对一类节点进行聚类得到的下一层级的各类节点。

本实现方式中,打印模块还可以用于在对一类节点进行聚类后,在该类节点形成的子视图中,分别将聚类得到的下一层级的各类节点对应的区域缩小,得到聚类后该类节点形成的子视图;

或者,打印模块还可以用于在对一类节点进行聚类后,在该类节点形成的子视图中,将聚类得到的下一层级的各类节点各自显示成一个节点,得到聚类后该类节点形成的子视图。

一种实现方式中,聚类的节点形成的子视图可以包括:聚类得到的各类节点各自形成的子视图;其中,一类节点形成的子视图是包括该类节点的最大连通子图。

本实施例中,所述拆分模块和打印模块所进行的操作可以分别对应于实施例一的步骤s110~s120,其它实现细节可参见实施例一。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。

当然,本申请还可有其他多种实施例,在不背离本申请精神及其实质的情况下,熟悉本领域的技术人员当可根据本申请作出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请的权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1