掌桥专利:专业的专利平台
掌桥专利
首页

图表排版方法、装置、以及电子设备、可读存储介质

文献发布时间:2023-06-19 11:26:00


图表排版方法、装置、以及电子设备、可读存储介质

技术领域

本申请属于计算机技术领域,具体涉及一种图表排版方法、装置、以及电子设备、可读存储介质。

背景技术

目前,可视化配置虽然给用户带来了极大的便利,但是也存在一些待改善的地方。相关技术中,可视化配置平台的看板中的图表排版基本采用以下两种方式实现,一种是看板开发者一行一行地添加图表,然后通过输入长宽设置图表的大小,这种方式不够灵活,排版效率较低;另外一种是看板开发者通过鼠标对图表进行拖拽、拉伸,实现对图表的排版,这种方式操作灵活,但是对看板开发者的熟练程度有比较高的要求,熟练程度不够的看板开发者,在调整图表位置、大小时候比较困难,排版效率较低。

发明内容

本申请实施例的目的是提供一种图表排版方法、装置以及电子设备、可读存储介质,能够解决相关技术中的图表排版效率较低的问题。

为了解决上述技术问题,本申请是这样实现的:

第一方面,本申请实施例提供了一种图表排版方法,该方法包括:

接收第一输入;

响应于第一输入,创建至少一个目标图表;

接收第二输入;

响应于第二输入,根据至少一个目标图表的第一数量、至少一个目标图表的创建顺序以及每个目标图表的图表类型,在图表绘制区域对至少一个目标图表进行排版。

第二方面,本申请实施例提供了一种图表排版装置,该装置包括:

第一接收单元,用于接收第一输入;

创建单元,用于响应于第一输入,创建至少一个目标图表;

第二接收单元,用于接收第二输入;

排版单元,用于响应于第二输入,根据至少一个目标图表的第一数量、至少一个目标图表的创建顺序以及每个目标图表的图表类型,在图表绘制区域对至少一个目标图表进行排版。

第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如第一方面的图表排版方法的步骤。

第四方面,本申请实施例提供了一种可读存储介质,可读存储介质上存储程序或指令,程序或指令被处理器执行时实现如第一方面的图表排版方法的步骤。

第五方面,本申请实施例提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现如第一方面的图表排版方法。

在本申请实施例中,接收第一输入,响应于第一输入在图表绘制区域创建出至少一个目标图表。进一步地,接收第二输入,响应于第二输入,根据图表绘制区域中至少一个目标图表的总数、每个目标图表的图表类型以及目标图表的创建顺序,通过一定的规则对图表绘制区域中的目标图表进行自动排版,使看板开发者可以快速对图表看板进行排版,避免因为看板开发者排版不熟练而导致排版效率低,效果差的情况,提升图表看板开发效率。

附图说明

图1是本申请实施例的图表排版方法的流程示意图之一;

图2是本申请实施例的图表排版方法的流程示意图之二;

图3是本申请实施例的看板绘制区域的平面直角坐标系的示意图;

图4是本申请实施例的图表排版方法的流程示意图之三;

图5是本申请实施例的图表排版装置的示意框图;

图6是本申请实施例的电子设备的结构示意框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。

下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的图表排版方法、图表排版装置、电子设备和可读存储介质进行详细地说明。

本申请实施例提供一种图表排版方法,如图1所示,该图表排版方法包括:

步骤102,接收第一输入;

步骤104,响应于第一输入,创建至少一个目标图表;

步骤106,接收第二输入;

步骤108,响应于第二输入,根据至少一个目标图表的第一数量、至少一个目标图表的创建顺序以及每个目标图表的图表类型,在图表绘制区域对至少一个目标图表进行排版。

在该实施例中,接收第一输入,响应于第一输入在图表绘制区域(即可视化配置平台的看板)创建出至少一个目标图表。进一步地,接收第二输入,响应于第二输入,根据图表绘制区域中至少一个目标图表的总数(即第一数量)、每个目标图表的图表类型以及目标图表的创建顺序,通过一定的规则对图表绘制区域中的目标图表进行自动排版,使看板开发者可以快速对图表看板进行排版,避免因为看板开发者排版不熟练而导致排版效率低,效果差的情况,提升图表看板开发效率。

需要说明的是,第一输入和第二输入可以为用户的长按输入、滑动输入、点击输入、双击输入、悬浮输入(用户在触控屏附近的输入)等输入,具体的,本申请实施例对第一输入和第二输入的方式不作具体限定,可以为任一可实现的方式。

在本申请实施例中,根据至少一个目标图表的第一数量、至少一个目标图表的创建顺序以及每个目标图表的图表类型,在图表绘制区域对至少一个目标图表进行排版的步骤,包括:根据图表类型和第一数量,确定每个图表类型对应的目标图表的第二数量;根据图表类型和第二数量,对目标图表进行分组,并分别对每组目标图表设定长度值和宽度值;在图表绘制区域,按照设定的长度值和宽度值,对分组后的至少一个目标图表进行排版。

在该实施例中,确定每个图表类型对应的目标图表的第二数量,再根据图表类型和第二数量,对目标图表进行分组标记,例如,将同一类型的目标图表划分至一个分组中,并标记该分组对应的图表类型以及该分组下的图表数量(即第二数量),需要说明的是,该分组下的图表数量也就是该图表类型的图表数量。进一步地,对每组设定长度值和宽度值,也即,同一组中的目标图表的长度值和宽度值相同。例如,按照图表类型将所有目标图像分为三组,第一组中3个图表,第二组中5个图表,第三组中4个图表,将第一组中的目标图像均设定为第一长度值a1和第一宽度值b1,将第二组设定为第二长度值a2和第二宽度值b2,将第三组设定为第三长度值a3和第三宽度值b3。最后,按照设定的长度值和宽度值,对分组后的目标图表进行排版。通过上述方式,对相同类型的图表设置相同的长度值和宽度值,进而进行自动排版,使得排版的效率更高,以及使得最终得到的图表的排版布局更加清晰。

需要说明的是,图表类型包括筛选器、指标卡以及其他类型图表,而其他类型图表包括饼图、雷达图、柱状图、折线图等等。

在本申请实施例中,根据图表类型和第二数量,对目标图表进行分组的步骤,包括:根据图表类型,确定目标图表是否具有横向坐标轴分类数组;在目标图表具有横向坐标轴分类数组的情况下,获取横向坐标轴分类数组的数量,并根据图表类型、第二数量以及横向坐标轴分类数组的数量,对目标图表进行分组;在目标图表不具有横向坐标轴分类数组的情况下,根据图表类型和第二数量,对目标图表进行分组。

在该实施例中,当目标图表具有横向坐标轴分类数组,例如,目标图表为饼图、雷达图、柱状图或折线图等,此时,需要考虑到目标图表的横向坐标轴分类数组的数量,根据图表类型、第二数量以及横向坐标轴分类数组的数量,对目标图表进行分组;当目标图表不具有横向坐标轴分类数组,例如,目标图表为筛选器或指标卡,此时,可直接根据图表类型和第二数量,对目标图表进行分组。

通过上述方式,根据目标图表是否具有横向坐标轴分类数组,区分对不同类型的目标图表的排版方式,使得对目标图表的排版更加精准,且提高了排版的灵活性。

在本申请实施例中,在根据图表类型、第二数量以及横向坐标轴分类数组的数量,对目标图表进行分组之前,还包括:根据预设数量阈值,对横向坐标轴分类数组的数量进行分组。

在该实施例中,当目标图表具有横向坐标轴分类数组时,通常一个看板页面每行默认展示三个图表,如果是有横向坐标轴的目标图表,每个目标图表的横向坐标轴分类数组的数量在预设数量阈值内时,图表展示效果较好。如果大于预设数量阈值,看板页面每行还显示三个图表的话,则图表横向坐标轴的数据显示会太拥挤,影响查看效果。因此,本申请实施例中限定了根据预设数量阈值对横向坐标轴分类数组的数量进行分组,避免每行显示的图表太拥挤,提高查看效果。

在一些实施例中,预设数量阈值可根据看板长度设置。

在本申请实施例中,在图表绘制区域,按照设定的长度值和宽度值,对至少一个目标图表进行排版的步骤,包括:根据图表类型,或者根据图表类型和横向坐标轴分类数组的数量,确定目标图表对应的长度值和宽度值;利用目标图表的创建顺序标号、图表类型、长度值和宽度值,对每个目标图表建立图表坐标数组;按照图表坐标数组,在图表绘制区域对至少一个目标图表进行排版。

在该实施例中,在对一个目标图表进行排版时,如果目标图表不具有横向坐标轴分类数组,则根据该目标图表的图表类型,确定该目标图表对应的分组,进而确定该分组的对的应长度值和宽度值,也即确定该目标图表的长度值和宽度值;如果目标图表具有横向坐标轴分类数组,则根据该目标图表的图表类型和横向坐标轴分类数组的数量,确定该目标图表对应的分组,进而确定该分组的对应的长度值和宽度值,也即确定该目标图表的长度值和宽度值。进一步地,在确定了该目标图表的长度值和宽度值之后,利用目标图表的顺序标号(目标图表的顺序标号为在创建图表的时候进行标记)、图表类型、长度值和宽度值,对每个目标图表建立图表坐标数组,也即确定出每个目标图表在图表绘制区域上的坐标,再按照图表坐标数组,在图表绘制区域对目标图表进行排版。本申请实施例,通过一定的规则对图表绘制区域中的目标图表进行自动排版,使看板开发者可以快速对图表看板进行排版,避免因为看板开发者排版不熟练而导致排版效率低,效果差的情况,提升图表看板开发效率。

在本申请实施例中,利用目标图表的创建顺序标号、图表类型、长度值和宽度值,对每个目标图表建立图表坐标数组的步骤,包括:对于顺序标号为第一个的第一目标图表,将第一目标图表的图表坐标记为第一坐标(0,0);将第一目标图表的顺序标号、长度值和宽度值以及第一坐标,组成第一目标图表的图表坐标数组。

在该实施例中,将第一个建立的第一目标图表的图表坐标记为第一坐标,也即(0,0),再将第一目标图表的顺序标号、长度值和宽度值以及图表坐标,组成第一目标图表的图表坐标数组,例如第一目标图表的图表坐标数组arr=[id1,L1,W1,0,0],其中,id1为第一目标图表的顺序标号,L1为第一目标图表的长度值,W1为第一目标图表的宽度值,0为第一目标图表的横坐标,0为第一目标图表的纵坐标。通过上述方式,确定出第一目标图表的图表坐标数组,为后续的排版提供基础,提高排版效率和准确率。

在本申请实施例中,利用目标图表的创建顺序标号、图表类型、长度值和宽度值,对每个目标图表建立图表坐标数组的步骤,包括:对于顺序标号为第N个的第二目标图表,在第二目标图表的图表类型与第N-1个目标图表的图表类型相同的情况下,使第二目标图表的横坐标等于第N-1个目标图表的横坐标与第二目标图表的长度值的加和,以及使第二目标图表的纵坐标等于第N-1个目标图表的纵坐标,其中,N为大于1的正整数;在第二目标图表的横坐标小于或等于图表绘制区域的最大长度的情况下,将第二目标图表的顺序标号、长度值和宽度值以及图表坐标,组成第二目标图表的图表坐标数组。

在该实施例中,对于不是第一个建立的目标图表,即第二目标图表,需要说明的是,这里第二目标图表并不是仅限定为第二个建立的目标图表,而是所有非第一个建立的目标图表,例如,第二个建立的目标图表、第三个建立的目标图表等均可定义为第二目标图表。将第二目标图表的图表类型与第二目标图表的前一个目标图表的图表类型进行比较,如果二者的图表类型相同,则将第二目标图表与其前一个目标图表排版至同一行,具体地,令第二目标图表的横坐标等于其前一个目标图表的横坐标与其长度值的加和,以及令第二目标图表的纵坐标等于其前一个目标图表的纵坐标。进一步地,在第二目标图表的横坐标小于或等于图表绘制区域的最大长度,也即,第二目标图表排版后没有超出图表绘制区域的情况下,将第二目标图表的顺序标号、长度值和宽度值以及图表坐标,组成第二目标图表的图表坐标数组,例如,第二目标图表的图表坐标数组arr=[id2,L2,W2,x2,y2],其中,id2为第二目标图表的顺序标号,L2为第二目标图表的长度值,W2为第二目标图表的宽度值,x2为第二目标图表的横坐标,y2为第二目标图表的纵坐标。通过上述方式,确定出非第一个建立的目标图表的图表坐标数组,为后续的排版提供基础,提高排版效率和准确率。

在本申请实施例中,该图表排版方法还包括:在第二目标图表的横坐标大于图表绘制区域的最大长度的情况下,计算图表绘制区域的最大长度与第N-1个目标图表的横坐标的差值,将第N-1个目标图表的长度值更新为差值与第N-1个目标图表的长度值的加和;使第二目标图表的横坐标等于0,使第二目标图表的纵坐标等于第N-1个目标图表的宽度值与第二目标图表的宽度值的加和。

在该实施例中,在确定了第二目标图表的横坐标和纵坐标后,如果第二目标图表的横坐标大于图表绘制区域的最大长度,也即,第二目标图表排版后超出了图表绘制区域的情况下,对第二目标图表的前一个目标图表的长度值进行修改,使得前一个目标图表所在行被占满,并将第二目标图表排版至下一行。具体地,计算图表绘制区域的最大长度与前一个目标图表的横坐标的差值,将前一个目标图表的长度值更新为差值与前一个目标图表的长度值的加和,从而使得第二目标图表的前一个目标图表将图表绘制区域的该行占满,以及将第二目标图表的横坐标等于0,使第二目标图表的纵坐标等于前一个目标图表的宽度值与第二目标图表的宽度值的加和,使得第二目标图表被排版至下一行。通过上述方式,提高排版效率和排版美观性。

在本申请实施例中,利用目标图表的创建顺序标号、图表类型、长度值和宽度值,对每个目标图表建立图表坐标数组的步骤,包括:对于顺序标号为第M个的第三目标图表,在第三目标图表的图表类型与第M-1个目标图表的图表类型不相同的情况下,使第三目标图表的横坐标等于0,使第三目标图表的纵坐标等于第M-1个目标图表的宽度值与第三目标图表的宽度值的加和,其中,M为大于1的正整数;将第三目标图表的顺序标号、长度值和宽度值以及图表坐标,组成第三目标图表的图表坐标数组。

在该实施例中,对于不是第一个建立的目标图表,即第三目标图表,需要说明的是,这里第三目标图表并不是仅限定为第三个建立的目标图表,而是所有非第一个建立的目标图表,例如,第二个建立的目标图表、第三个建立的目标图表等均可定义为第三目标图表。在第三目标图表的图表类型与第三目标图表的前一个目标图表的图表类型不相同的情况下,则将第三目标图表排版至其前一个目标图表的下一行(即,第三目标图表排版与其前一个目标图表不在同一行),具体地,令第三目标图表的横坐标等于0,以及令第三目标图表的纵坐标等于其前一个目标图表的宽度值与其宽度值的加和。进一步地,将第三目标图表的顺序标号、长度值和宽度值以及图表坐标,组成第三目标图表的图表坐标数组,例如,第三目标图表的图表坐标数组arr=[id3,L3,W3,x3,y3],其中,id3为第三目标图表的顺序标号,L3为第三目标图表的长度值,W3为第三目标图表的宽度值,x3为第三目标图表的横坐标,y3为第三目标图表的纵坐标。通过上述方式,确定出非第一个建立的目标图表的图表坐标数组,为后续的排版提供基础,提高排版效率和准确率。

在本申请实施例中,在接收第一输入之前,该图表排版方法还包括:将图表绘制区域划分为多个栅格单元;为图表绘制区域标记坐标系,坐标系为以图表绘制区域的左上角为原点、以图表绘制区域的长度方向为横向坐标轴以及以图表绘制区域的宽度方向为纵向坐标轴;以栅格单元为单位,设置不同图表类型的图表的长度值和宽度值。

在该实施例中,限定了在进行图表排版前需进行的准备工作。具体为,将图表绘制区域进行栅格化处理,也即,将图表绘制区域的长度、宽度进行栅格划分,划分出多个栅格单元。进一步地,在图表绘制区域中引入平面直角坐标系,具体地,将图表绘制区域左上角设置为原点,向右(也即长度方向)设置为横向坐标轴的正方向,向下(也即宽度方向)设置为纵向坐标轴正方向。最后,以栅格单元为单位,为不同图表类型的图表设置初始的长度值和宽度值。通过上述方式,为后续的排版提供基础,提高排版效率和准确率。

在本申请的具体实施例中,提供一种基于栅格对看板图表进行自动排版的方法,如图2所示,该方法包括:

步骤202,将看板绘制区域进行栅格化,并引入平面直角坐标系。具体步骤如下:

(1)宽度栅格化,获取看板绘制区域的长度,将看板绘制区域的长度24等份;高度栅格化,设置一个栅格高度为30px。栅格设置好后,后续图表的长、宽都是以一个栅格单元为单位。例如,看板绘制区域长是1200px,每个栅格单元格的长度就是1200/24等于50px,假设一个图表的长、宽是300px×300px,那么以栅格单元为单位,对应的长、宽就是6×10。

(2)引入平面直角坐标系,如图3所示,将看板绘制区域左上角设置为原点,向右(即长度方向)设置为x轴正方向,向下(即宽度方向)设置为y轴正方向。

步骤204,以栅格单元为单位,设置各类型图表的长、宽的默认值。具体步骤如下:

(1)图表类型可以分成三大类,分别为筛选器A、指标卡B和其他类型图表C。

(2)三大类型的图表的长、宽默认的最小值分别如表1所示。

表1

步骤206,按照图表的长、宽高默认值在看板绘制区域创建图表,并根据创建的顺序给图表标上对应的序号。

步骤208,点击自动排版按钮,获取看板绘制区域上各类型图表的个数、图表x轴分类(categories)数组元素个数(需要说明的是,筛选器A、指标卡B无此参数),并对图表的x轴categories数组元素个数m进行分组。一般一个页面每行默认展示三个图表(在栅格中长×宽就是8×13),默认情况下如果是有x轴的图表类型(如柱状图、折线图等),每个图表的x轴categories数组元素个数m的数值在L1[0,15],展示效果较好。如果m>15,页面每行还显示三个图表,则图表x轴数据显示的会太挤导致影响图表的查看效果,此时要适当增加宽度,根据经验可以将m的数值分为L1[0,15]、L2(15,25]、L3(25,+∞)三段,分别对应的长×宽是L1(8×13)、L2(16×13)、L3(24×13),像饼图、雷达图等可以认为m=1归属于L1。由此可以根据看板绘制区域上图表类型×个数×图表x轴categories数组元素个数进行分组,表1中的筛选器A和指标卡B没有x轴,各自只有一种组合A×N1、B×N2,其中,N1为筛选器A的图表个数,N2为指标卡B的图表个数。

其他类型图表C中包含两种图表类型,一种是包含x轴,例如折线图、柱状图,那么会有三种组合C×N3×L1、C×N4×L2、C×N5×L3,其中,N3为第一种组合的图表个数,N4为第二种组合的图表个数,N5为第三种组合的图表个数;另一种是不包含x轴,例如饼图、雷达图,那么会有一种组合C×N6×L1,其中,N6为该种组合的图表个数,该种组合可以和C×N3×L1合并成一个组合C×N7×L1,其中N7为该两种组合的图表个数总和。综上,可以得到以下五种组合:A×N1、B×N2、C×N7×L1、C×N4×L2、C×N5×L3。

步骤210,基于栅格单元,根据看板绘制区域中各类型图表的个数、图表的长、宽默认值、图表x轴categories数组元素个数对看板绘制区域上的图表进行自动化排版。需要说明的是,在该步骤210中,结合步骤204中各类型图表的长、宽默认值,将步骤208得到的组合转化成长×宽×个数,可以得到筛选器A的组合为24×3×N1,指标卡B的组合为6×5×N2,其他图表类型C的组合有8×13×N7、16×13×N4、24×13×N5。综上,可得到下面五种组合:

组合1:24×3×N1;

组合2:6×5×N2;

组合3:8×13×N7;

组合4:16×13×N4;

组合5:24×13×N5。

在后面的步骤中,在获取每个图表的长度值和宽度值时,利用到上述组合。例如,当图表不具有x轴分类时,根据组合的类型确定对应的组合,进而确定该组合对应的长度值和宽度值;当图表具有x轴分类时,根据组合的类型和x轴categories数组元素个数m确定对应的组合,进而确定该组合对应的长度值和宽度值。

具体地,步骤210中,根据看板绘制区域中各类型图表的个数、图表的长、宽默认值、图表x轴categories数组元素个数对看板绘制区域上的图表进行自动化排版,如图4所示,具体步骤如下:

步骤402,将看板绘制区域中的图表按照创建顺序,生成数组T=[[id

步骤404,定义以下变量:图表坐标数组arr[]、横坐标变量x

步骤406,判断i是否小于或等于数组T内的元素数量,若是,则进入步骤408,若否,则结束。

步骤408,判断i是否等于1,若是,则进入步骤410,若否,则进入步骤414。

步骤410,得到第一个图表的左上角坐标为(0,0),把第一个图表的创建顺序标号、长度值、宽度值以及左上角坐标一起放到数组arr中,得到第一个图表的图表坐标数组arr=[[id

步骤412,将循环变量i=1自增i++,并返回步骤406。

步骤414,判断type

步骤416,使x

步骤418,使type

步骤420,使x

步骤422,判断x

步骤424,将上一个图标的长度值修改为[24-(x

步骤426,把该图表的创建顺序标号、长度值、宽度值以及左上角坐标[id

本申请实施例基于栅格,根据看板绘制区域中各类型图表的个数、图表的长、宽的默认值、图表x轴categories数组个数,通过一定的规则对看板中的图表进行自动排版,使看板开发者可以快速对看板进行排版,提升看板开发效率,同时避免因为排版不熟练而导致排版效率低、效果差的情况。

本申请实施例不仅可用应用于可视化配置平台的看板的图表排版,Excel、word、ppt等需要对图表进行排版的,同样可以采用该方案进行自动快速地排版。

需要说明的是,本申请实施例提供的图表排版方法,执行主体可以为图表排版装置,或者,该图表排版装置中的用于执行加载图表排版方法的控制模块。本申请实施例中以图表排版装置执行加载图表排版方法为例,说明本申请实施例提供的图表排版装置。

如图5所示,该图表排版装置500,包括:

第一接收单元502,用于接收第一输入;

创建单元504,用于响应于第一输入,创建至少一个目标图表;

第二接收单元506,用于接收第二输入;

排版单元508,用于响应于第二输入,根据至少一个目标图表的第一数量、至少一个目标图表的创建顺序以及每个目标图表的图表类型,在图表绘制区域对至少一个目标图表进行排版。

在该实施例中,接收第一输入,响应于第一输入在图表绘制区域(即可视化配置平台的看板)创建出至少一个目标图表。进一步地,接收第二输入,响应于第二输入,根据图表绘制区域中至少一个目标图表的总数(即第一数量)、每个目标图表的图表类型以及目标图表的创建顺序,通过一定的规则对图表绘制区域中的目标图表进行自动排版,使看板开发者可以快速对图表看板进行排版,避免因为看板开发者排版不熟练而导致排版效率低,效果差的情况,提升图表看板开发效率。

在本申请实施例中,排版单元508,具体用于:根据图表类型和第一数量,确定每个图表类型对应的目标图表的第二数量;根据图表类型和第二数量,对目标图表进行分组,并分别对每组目标图表设定长度值和宽度值;在图表绘制区域,按照设定的长度值和宽度值,对分组后的至少一个目标图表进行排版。

在本申请实施例中,排版单元508,具体用于:根据图表类型,确定目标图表是否具有横向坐标轴分类数组;在目标图表具有横向坐标轴分类数组的情况下,获取横向坐标轴分类数组的数量,并根据图表类型、第二数量以及横向坐标轴分类数组的数量,对目标图表进行分组;在目标图表不具有横向坐标轴分类数组的情况下,根据图表类型和第二数量,对目标图表进行分组。

在本申请实施例中,排版单元508,还用于:在根据图表类型、第二数量以及横向坐标轴分类数组的数量,对目标图表进行分组之前,根据预设数量阈值,对横向坐标轴分类数组的数量进行分组。

在本申请实施例中,排版单元508,具体用于:根据图表类型,或者根据图表类型和横向坐标轴分类数组的数量,确定目标图表对应的长度值和宽度值;利用目标图表的创建顺序标号、图表类型、长度值和宽度值,对每个目标图表建立图表坐标数组;按照图表坐标数组,在图表绘制区域对至少一个目标图表进行排版。

在本申请实施例中,排版单元508,具体用于:对于顺序标号为第一个的第一目标图表,将第一目标图表的图表坐标记为第一坐标;将第一目标图表的顺序标号、长度值和宽度值以及第一坐标,组成第一目标图表的图表坐标数组。

在本申请实施例中,排版单元508,具体用于:对于顺序标号为第N个的第二目标图表,在第二目标图表的图表类型与第N个目标图表的图表类型相同的情况下,使第二目标图表的横坐标等于第N个目标图表的横坐标与第二目标图表的长度值的加和,以及使第二目标图表的纵坐标等于第N-1个目标图表的纵坐标,其中,N为大于1的正整数;在第二目标图表的横坐标小于或等于图表绘制区域的最大长度的情况下,将第二目标图表的顺序标号、长度值和宽度值以及图表坐标,组成第二目标图表的图表坐标数组。

在本申请实施例中,排版单元508,还用于:在第二目标图表的横坐标大于图表绘制区域的最大长度的情况下,计算图表绘制区域的最大长度与第N-1个目标图表的横坐标的差值,将第N-1个目标图表的长度值更新为差值与第N-1个目标图表的长度值的加和;使第二目标图表的横坐标等于0,使第二目标图表的纵坐标等于第N-1个目标图表的宽度值与第二目标图表的宽度值的加和。

在本申请实施例中,排版单元508,具体用于:对于顺序标号为第M个的第三目标图表,在第三目标图表的图表类型与第M-1个目标图表的图表类型不相同的情况下,使第三目标图表的横坐标等于0,使第三目标图表的纵坐标等于第M-1个目标图表的宽度值与第三目标图表的宽度值的加和,其中,M为大于1的正整数;将第三目标图表的顺序标号、长度值和宽度值以及图表坐标,组成第三目标图表的图表坐标数组。

在本申请实施例中,排版单元508,还用于:在第一接收单元接收第一输入之前,将图表绘制区域划分为多个栅格单元;为图表绘制区域标记坐标系,坐标系为以图表绘制区域的左上角为原点、以图表绘制区域的长度方向为横向坐标轴以及以图表绘制区域的宽度方向为纵向坐标轴;以栅格单元为单位,设置不同图表类型的图表的长度值和宽度值。

本申请实施例中的图表排版装置可以是装置,也可以是终端中的部件、集成电路或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(Ultra-Mobile Personal Computer,UMPC)、上网本或者个人数字助理(PersonalDigital Assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(NetworkAttached Storage,NAS)、个人计算机(Personal Computer,PC)、电视机(Television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。

本申请实施例中的图表排版装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。

本申请实施例提供的图表排版装置能够实现图1至图4的方法实施例中实现的各个过程,为避免重复,这里不再赘述。

可选的,本申请实施例还提供一种电子设备,包括处理器620,存储器618,存储在存储器618上并可在处理器620上运行的程序或指令,该程序或指令被处理器620执行时实现上述图表排版方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

需要注意的是,本申请实施例中的电子设备包括上述的移动电子设备和非移动电子设备。

图6为实现本申请实施例的一种电子设备的硬件结构示意图。

该电子设备600包括但不限于:射频单元602、网络模块604、音频输出单元606、输入单元608、传感器610、显示单元612、用户输入单元614、接口单元616、存储器618、以及处理器620等部件。

本领域技术人员可以理解,电子设备600还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器620逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图6中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。

其中,用户输入单元614,用于接收第一输入;处理器620,用于响应于第一输入,创建至少一个目标图表;用户输入单元614,还用于接收第二输入;处理器620,还用于响应于第二输入,根据至少一个目标图表的第一数量、至少一个目标图表的创建顺序以及每个目标图表的图表类型,在图表绘制区域对至少一个目标图表进行排版。

在该实施例中,接收第一输入,响应于第一输入在图表绘制区域(即可视化配置平台的看板)创建出至少一个目标图表。进一步地,接收第二输入,响应于第二输入,根据图表绘制区域中至少一个目标图表的总数(即第一数量)、每个目标图表的图表类型以及目标图表的创建顺序,通过一定的规则对图表绘制区域中的目标图表进行自动排版,使看板开发者可以快速对图表看板进行排版,避免因为看板开发者排版不熟练而导致排版效率低,效果差的情况,提升图表看板开发效率。

在本申请实施例中,处理器620,具体用于:根据图表类型和第一数量,确定每个图表类型对应的目标图表的第二数量;根据图表类型和第二数量,对目标图表进行分组,并分别对每组目标图表设定长度值和宽度值;在图表绘制区域,按照设定的长度值和宽度值,对分组后的至少一个目标图表进行排版。

在本申请实施例中,处理器620,具体用于:根据图表类型,确定目标图表是否具有横向坐标轴分类数组;在目标图表具有横向坐标轴分类数组的情况下,获取横向坐标轴分类数组的数量,并根据图表类型、第二数量以及横向坐标轴分类数组的数量,对目标图表进行分组;在目标图表不具有横向坐标轴分类数组的情况下,根据图表类型和第二数量,对目标图表进行分组。

在本申请实施例中,处理器620,还用于:在根据图表类型、第二数量以及横向坐标轴分类数组的数量,对目标图表进行分组之前,根据预设数量阈值,对横向坐标轴分类数组的数量进行分组。

在本申请实施例中,处理器620,具体用于:根据图表类型,或者根据图表类型和横向坐标轴分类数组的数量,确定目标图表对应的长度值和宽度值;利用目标图表的创建顺序标号、图表类型、长度值和宽度值,对每个目标图表建立图表坐标数组;按照图表坐标数组,在图表绘制区域对至少一个目标图表进行排版。

在本申请实施例中,处理器620,具体用于:对于顺序标号为第一个的第一目标图表,将第一目标图表的图表坐标记为第一坐标;将第一目标图表的顺序标号、长度值和宽度值以及第一坐标,组成第一目标图表的图表坐标数组。

在本申请实施例中,处理器620,具体用于:对于顺序标号为第N个的第二目标图表,在第二目标图表的图表类型与第N-1个目标图表的图表类型相同的情况下,使第二目标图表的横坐标等于第N-1个目标图表的横坐标与第二目标图表的长度值的加和,以及使第二目标图表的纵坐标等于第N-1个目标图表的纵坐标,其中,N为大于1的正整数;在第二目标图表的横坐标小于或等于图表绘制区域的最大长度的情况下,将第二目标图表的顺序标号、长度值和宽度值以及图表坐标,组成第二目标图表的图表坐标数组。

在本申请实施例中,处理器620,还用于:在第二目标图表的横坐标大于图表绘制区域的最大长度的情况下,计算图表绘制区域的最大长度与第N-1个目标图表的横坐标的差值,将第N-1个目标图表的长度值更新为差值与第N-1个目标图表的长度值的加和;使第二目标图表的横坐标等于0,使第二目标图表的纵坐标等于第N-1个目标图表的宽度值与第二目标图表的宽度值的加和。

在本申请实施例中,处理器620,具体用于:对于顺序标号为第M个的第三目标图表,在第三目标图表的图表类型与第M-1个目标图表的图表类型不相同的情况下,使第三目标图表的横坐标等于0,使第三目标图表的纵坐标等于第M-1个目标图表的宽度值与第三目标图表的宽度值的加和,其中,M为大于1的正整数;将第三目标图表的顺序标号、长度值和宽度值以及图表坐标,组成第三目标图表的图表坐标数组。

在本申请实施例中,处理器620,还用于:在第一接收单元接收第一输入之前,将图表绘制区域划分为多个栅格单元;为图表绘制区域标记坐标系,坐标系为以图表绘制区域的左上角为原点、以图表绘制区域的长度方向为横向坐标轴以及以图表绘制区域的宽度方向为纵向坐标轴;以栅格单元为单位,设置不同图表类型的图表的长度值和宽度值。

应理解的是,本申请实施例中,射频单元602可用于收发信息或收发通话过程中的信号,具体的,接收基站的下行数据或向基站发送上行数据。射频单元602包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。

网络模块604为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。

音频输出单元606可以将射频单元602或网络模块604接收的或者在存储器618中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元606还可以提供与电子设备600执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元606包括扬声器、蜂鸣器以及受话器等。

输入单元608用于接收音频或视频信号。输入单元608可以包括图形处理器(Graphics Processing Unit,GPU)6082和麦克风6084,图形处理器6082对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元612上,或者存储在存储器618(或其它存储介质)中,或者经由射频单元602或网络模块604发送。麦克风6084可以接收声音,并且能够将声音处理为音频数据,处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元602发送到移动通信基站的格式输出。

电子设备600还包括至少一种传感器610,比如指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器以及其他传感器。

显示单元612用于显示由用户输入的信息或提供给用户的信息。显示单元612可包括显示面板6122,可以采用液晶显示器、有机发光二极管等形式来配置显示面板6122。

用户输入单元614可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元614包括触控面板6142以及其他输入设备6144。触控面板6142也称为触摸屏,可收集用户在其上或附近的触摸操作。触控面板6142可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器620,接收处理器620发来的命令并加以执行。其他输入设备6144可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。

进一步的,触控面板6142可覆盖在显示面板6122上,当触控面板6142检测到在其上或附近的触摸操作后,传送给处理器620以确定触摸事件的类型,随后处理器620根据触摸事件的类型在显示面板6122上提供相应的视觉输出。触控面板6142与显示面板6122可作为两个独立的部件,也可以集成为一个部件。

接口单元616为外部装置与电子设备600连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元616可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备600内的一个或多个元件或者可以用于在电子设备600和外部装置之间传输数据。

存储器618可用于存储软件程序以及各种数据。存储器618可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据移动终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器618可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

处理器620通过运行或执行存储在存储器618内的软件程序和/或模块,以及调用存储在存储器618内的数据,执行电子设备600的各种功能和处理数据,从而对电子设备600进行整体监控。处理器620可包括一个或多个处理单元;优选的,处理器620可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。

本申请实施例还提供一种可读存储介质,可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述图表排版方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

其中,处理器为上述实施例中的电子设备中的处理器。可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等。

本申请实施例还提供了一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行程序或指令,实现上述图表排版方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

相关技术
  • 图表排版方法、装置、以及电子设备、可读存储介质
  • 图表渲染方法、装置、可读存储介质及电子设备
技术分类

06120112922756