图表调整方法及装置与流程

文档序号:17289174发布日期:2019-04-03 03:48阅读:282来源:国知局
图表调整方法及装置与流程

本发明涉及信息处理领域,更具体的说,涉及图表调整方法及装置。



背景技术:

在大型商业系统的数据报表展示中,经常需要用到各种图表来展示各项数据指标一段时间内的发展趋势,例如,echarts便是解决这一需求的常用工具。但是,在echarts图表中,图例(legend)容器在生成后,其高度通常是固定不变的,然而,随着用户与图表之间的数据交互,图例的个数是动态变化的,因此,有时则会出现图例的摆放位置超出了图例容器的范围的情况,从而导致排版错乱,甚至遮挡图表中折线图、柱状图等图形。

传统的解决方案,在生成echarts图表中的图例容器前,会先对可能出现的图例个数的最大值进行预估,再根据该图例个数的最大值,为图例容器设置一个最大的高度值,以此最大的高度值来生成图例容器,从而在图例个数发生动态变化时,避免图例摆放位置超出图例容器的高度范围的情况。但是,图例在动态变化过程中,其个数可能会远小于预估的最大值,从而又会导致图例容器中留下很大的空白区域,进而浪费了图例容器的显示空间,并且影响echarts图表的展示效果。而且,当图例个数的随机性较大,使得其最大值无法预估时,使得该传统解决方案丧失可行性,导致无法实施。

因此,目前迫切需要一种能够在echarts图表的图例个数发生变化时,仍保证echarts图表正常显示的技术方案。



技术实现要素:

有鉴于此,本发明提供了一种图表调整方法及装置,以解决目前在echarts图表的图例个数发生变化时,无法保证echarts图表正常显示的技术问题。

为实现上述目的,本发明提供如下技术方案:

一种图表调整方法,所述图表中包括图例容器与至少一个图例;所述方法包括:

获取所述图例容器的宽度,以及,所述至少一个图例中各图例的宽度与高度;

根据所述图例容器的宽度与所述各图例的宽度,确定所述图例容器的目标行数;

根据所述图例容器的目标行数与所述各图例的高度,调整所述图例容器的目标高度。

优选的,所述获取所述至少一个图例中各图例的宽度包括:

分别获取各图例中图例标记的宽度、图例文字的宽度与水平间隔的宽度;

根据所述各图例中图例标记的宽度、图例文字的宽度与水平间隔的宽度之和,分别确定所述各图例的宽度。

优选的,所述获取所述至少一个图例中各图例的高度包括:

获取任一图例中图例标记的高度、图例文字的高度与垂直间隔的高度;

获取所述图例标记的高度与所述图例文字的高度中的最大值;

根据所述最大值与所述垂直间隔的高度之和,确定所述各图例的高度。

优选的,所述根据所述图例容器的宽度与所述各图例的宽度,确定所述图例容器的目标行数包括:

根据所述图例容器的宽度与所述各图例的宽度,将所述至少一个图例划分成n组,其中,任一组中所有图例的总宽度不大于所述图例容器的宽度,n≥1;

根据所述n的值,确定所述图例容器的目标行数。

优选的,所述图例容器包括行数参数与余宽参数;所述根据所述图例容器的宽度与所述各图例的宽度,确定所述图例容器的目标行数包括:

当当前图例的宽度大于所述余宽参数的当前值时,将所述图例容器的宽度与所述当前图例的宽度的差值确定为所述余宽参数的最新值,并将所述行数参数的当前值按照预设步长递增后确定为所述行数参数的最新值;

当当前图例的宽度不大于所述余宽参数的当前值时,将所述余宽参数当前值与所述当前图例的宽度的差值确定为所述余宽参数的最新值;

判断所述当前图例是否为所述至少一个图例中的最后一个图例,若否,将余宽参数的最新值作为余宽参数的当前值,将行数参数的最新值作为行数参数的当前值,再次执行上述步骤;若是,根据所述行数参数的最新值,确定所述图例容器的目标行数。

优选的,所述图例容器包括高度参数;所述根据所述图例容器的目标行数与所述各图例的高度,调整所述图例容器的目标高度包括:

将所述图例容器的目标行数与所述图例的高度之积确定为所述图例容器的高度参数值;

根据所述图例容器的高度参数值,调整所述图例容器的目标高度。

优选的,所述图例文字中包括文字个数、字体高度与字体宽度;

所述图例文字的宽度为所述文字个数与字体宽度的乘积;

所述图例文字的高度为所述字体高度。

一种图表调整装置,所述图表中包括图例容器与至少一个图例;所述装置包括:

数据获取单元,用于获取所述图例容器的宽度,以及,所述至少一个图例中各图例的宽度与高度;

行数确定单元,用于根据所述图例容器的宽度与所述各图例的宽度,确定所述图例容器的目标行数;

图表调整单元,用于根据所述图例容器的目标行数与所述各图例的高度,调整所述图例容器的目标高度。

一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行任一项前述的图表调整方法。

一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任一项前述的图表调整方法。

从上述的技术方案可以看出,本发明提供的图表调整方法及装置,获取图表中的图例容器的宽度以及至少一个图例中各图例的宽度与高度,并根据所述图例容器的宽度与所述各图例的宽度,确定所述图例容器的目标行数,最后根据所述图例容器的目标行数与所述各图例的高度,调整所述图例容器的目标高度,使得图表中图例容器的目标高度能够与各图例的尺寸特征相适应,实现了图例容器的动态调整过程,从而在echarts图表的图例个数发生变化时,仍能保证echarts图表的正常显示。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的图表调整方法的一种流程图;

图2为本申请实施例提供的图表调整方法的另一种流程图;

图3为本申请实施例提供的图表调整方法的又一种流程图;

图4为本申请实施例提供的图表调整方法的再一种流程图;

图5为本申请实施例提供的图表调整装置的一种结构示意图;

图6为本申请实施例提供的图表调整装置的另一种结构示意图;

图7为本申请实施例提供的图表调整装置的又一种结构示意图;

图8为本申请实施例提供的图表调整装置的再一种结构示意图;

图9为本申请实施例提供的图例的一种结构示意图。

具体实施方式

为了引用和清楚起见,下文中使用的技术名词的说明、简写或缩写总结如下:

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

本发明提供的图表调整方法及装置,根据图表中图例容器的宽度与各图例的高度与宽度,调整所述图例容器的目标高度,使得图表中图例容器的目标高度能够与各图例的尺寸特征相适应,解决了目前在echarts图表的图例个数发生变化时,无法保证echarts图表正常显示的技术问题。但是,本发明的技术方案,并不仅仅适用于echarts图表的正常显示,而且还适用于与echarts图表具有类似架构或者类似技术问题的其他图表的正常显示。因此,本发明实施例中所提及的“图表”包括存在本发明所解决技术问题的各类图表,而并不局限于echarts图表。

请参阅图1,图1为本申请实施例提供的图表调整方法的一种流程图。

在实际应用中,图表中除了包括折线图、柱状图、饼状图等图形本体外,通常还包括图例以及用于承载图例的图例容器。

如图1所示,所述方法包括:

s101:获取所述图例容器的宽度,以及,所述至少一个图例中各图例的宽度与高度。

在图表中,图例容器的最大宽度会受到图表界面的最大宽度的限制,而图表界面的高度通常是不受限的,所以,图例容器的最大高度通常也不会受到限制。图表中各图例的高度通常是相同的,但因为各图例中图例文字的文字个数可能相同,也可以不同,所以会导致各图例的宽度可能相同,也可能不同相同。

s102:根据所述图例容器的宽度与所述各图例的宽度,确定所述图例容器的目标行数。

图表中的图例容器用于承载图表中的至少一个图例,图例通常是按行排列在所述图例容器中的,所以,在已知图例容器的宽度与各图例的宽度的前提下,根据所述图例容器的宽度与所述各图例的宽度,可以确定出要将所述至少一个图例全部排列在所述图例容器中需要排多少行,从而确定出图例容器为了承载所述至少一个图例所需要的行数。

s103:根据所述图例容器的目标行数与所述各图例的高度,调整所述图例容器的目标高度。

将各图例按行排列在图例容器中时,为了避免上下两行的图例之间相互遮挡,需要使图例容器中每一行的高度(行高)不小于所述图例的高度。

在一示例中,图例容器包括高度参数。所述步骤s103包括:

a、根据所述图例的高度确定所述图例容器的目标行高。

其中,所述图例容器的目标行高大于所述图例的高度。

b、将所述图例容器的目标行数与所述图例容器的目标行高之积确定为所述图例容器的高度参数值。

c、根据所述图例容器的高度参数值,调整所述图例容器的目标高度。其中,图例容器的目标高度不小于所述高度参数值。

在另一示例中,图例容器包括高度参数。所述步骤s103包括:

a、将所述图例容器的目标行数与所述图例的高度之积确定为所述图例容器的高度参数值.

b、根据所述图例容器的高度参数值,调整所述图例容器的目标高度。其中,图例容器的目标高度等于所述高度参数值。

图例容器包括高度参数。将所述图例的高度确定为所述图例容器的目标行高。

在该示例中,直接将所述图例容器的目标行数与所述图例的高度之积确定为所述图例容器的高度参数值,相当于是将所述图例的高度确定为所述图例容器的目标行高,并使得图例容器的目标高度等于所述高度参数值,这样不仅保证了各图例在图例容器中的正常显示,还保证了图例容器的空间利用率,避免了显示空间的浪费。

本实施例提供的图表调整方法,根据图例容器的宽度与各图例的高度与宽度,调整所述图例容器的目标高度,使得图表中图例容器的目标高度能够与各图例的尺寸特征相适应,实现了图例容器的动态调整过程,从而在echarts图表的图例个数发生变化时,仍能保证echarts图表的正常显示。

请参阅图2,图2为本申请实施例提供的图表调整方法的另一种流程图。

在本实施例中,如图9所示,图例1由图例标记11、图例文字12、水平间隔13与垂直间隔14组成。其中,图例的水平间隔13是指该图例中邻近该图例左侧边界或右侧边界的空白区域,图例的垂直间隔14是指该图例中邻近该图例上侧边界或下侧边界的空白区域。

如图2所示,所述方法包括:

s201:获取所述图例容器的宽度。

s202:分别获取各图例中图例标记的宽度、图例文字的宽度与水平间隔的宽度。

s203:根据所述各图例中图例标记的宽度、图例文字的宽度与水平间隔的宽度之和,分别确定所述各图例的宽度。

图例中图例标记的宽度、图例文字的宽度与水平间隔的宽度决定了该图例的宽度。

在具体示例中,将各图例中图例标记的宽度、图例文字的宽度与水平间隔的宽度之和分别确定为各图例的宽度。

s204:获取任一图例中图例标记的高度、图例文字的高度与垂直间隔的高度。

s205:获取所述图例标记的高度与所述图例文字的高度中的最大值。

s206:根据所述最大值与所述垂直间隔的高度之和,确定所述各图例的高度。

其中,所述最大值与所述垂直间隔的高度之和即为所述任一图例的高度。

图例中图例标记的高度、图例文字的高度与垂直间隔的高度共同决定了该图例的宽度。由于图表中各图例的高度都是相同的,所以根据任一图例的高度,便可确定各图例的高度。

在具体示例中,将所述最大值与所述垂直间隔的高度之和确定为所述各图例的高度。

s207:根据所述图例容器的宽度与所述各图例的宽度,确定所述图例容器的目标行数。

s208:根据所述图例容器的目标行数与所述各图例的高度,调整所述图例容器的目标高度。

在一示例中,图例文字中包括文字个数、字体高度与字体宽度。

图例文字的宽度为文字个数与字体宽度的乘积;图例文字的高度为字体高度。

其中,步骤s207-s208与前述实施例中的步骤s102-s103相类似,在此不再赘述。

本实施例提供的图表调整方法,根据各图例中图例标记的宽度、图例文字的宽度与水平间隔的宽度之和,分别确定各图例的宽度,根据各图例中图例标记的高度与图例文字的高度中的最大值与垂直间隔的高度之和,确定各图例的高度,提高了获取各图例的高度与宽度的准确性,进而根据图例容器的宽度与各图例准确的高度与宽度,调整图例容器的目标高度,进一步保证了图表中图例容器的目标高度与各图例的尺寸特征的适应性。

请参阅图3,图3为本申请实施例提供的图表调整方法的又一种流程图。

如图3所示,所述方法包括:

s301:获取所述图例容器的宽度,以及,所述至少一个图例中各图例的宽度与高度。

其中,该步骤s301可通过执行前述实施例中的步骤s201-s206来实现。

s302:根据所述图例容器的宽度与所述各图例的宽度,将所述至少一个图例划分成n组。

其中,任一组中所有图例的总宽度不大于图例容器的宽度,n≥1。

图例容器的每一行中可摆放一个或多个图例,在根据图例的宽度与图例容器的宽度进行摆放时,为了保证图例不超出图例容器的水平边界,需要每一行的图例的总宽度不大于图例容器的宽度。因此,可以将至少一个图例划分成n组,使任一组中所有图例的总宽度不大于图例容器的宽度,这样将每一组图例分别摆放到图例容器的每一行中,便可保证各图例在图例容器中的正常显示。

s303:根据所述n的值,确定所述图例容器的目标行数。

在一示例中,图例容器的目标行数等于n的值,使每一组图例刚好摆放到图例容器的每一行中,不仅保证了各图例在图例容器中的正常显示,而且还保证了图例容器的空间利用率,避免了显示空间的浪费。

s304:根据所述图例容器的目标行数与所述各图例的高度,调整所述图例容器的目标高度。

其中,该步骤s304与前述实施例中的步骤s103相类似,在此不再赘述。

本实施例提供的图表调整方法,根据图例容器的宽度与各图例的宽度,将至少一个图例划分成n组,使任一组中所有图例的总宽度不大于图例容器的宽度,再根据n的值,确定图例容器的目标行数,实现了图例容器的目标行数的确定,并根据图例容器的目标行数与各图例的高度,调整图例容器的目标高度,进一步保证了图表中图例容器的目标高度与各图例的尺寸特征的适应性。

请参阅图图4为本申请实施例提供的图表调整方法的再一种流程图。

本实施例中,图例容器包括行数参数与余宽参数,行数参数与余宽参数均为变量,应用于根据图例容器的宽度与各图例的宽度确定所述图例容器的目标行数的运算过程。其中,行数参数用于在运算过程中动态指示图例容器所需的目标行数,余宽参数用于在运算过程中动态指示图例容器当前行的剩余宽度。

如图4所示,所述方法包括:

s401:获取所述图例容器的宽度,以及,所述至少一个图例中各图例的宽度与高度。

其中,该步骤s401可通过执行前述实施例中的步骤s201-s206来实现。

s402:判断当前图例的宽度是否大于所述余宽参数的当前值,若是,执行步骤s403;若否,执行步骤s404。

判断当前图例的宽度是否大于余宽参数的当前值,若当前图例的宽度大于余宽参数的当前值,表明图例容器的当前行已不足以容纳当前图例;若当前图例的宽度不大于余宽参数的当前值,表明图例容器的当前行可以容纳当前图例。

s403:将所述图例容器的宽度与所述当前图例的宽度的差值确定为所述余宽参数的最新值,并将所述行数参数的当前值按照预设步长递增后确定为所述行数参数的最新值。

当当前图例的宽度大于余宽参数的当前值时,将行数参数的当前值按照预设步长递增后确定为行数参数的最新值,即作换行处理,同时重设余宽参数的值,将图例容器的宽度与当前图例的宽度的差值确定为余宽参数的最新值。

当当前图例为第一个图例时,余宽参数的当前值与行数参数的当前值为各自的初始值。

在一具体示例中,图例容器的宽度totalwidth=50px,行数参数rownum与余宽参数surpluswidth的初始值均为0,预设步长steplen=1,第一个图例的宽度为legendwidth[1]=8px。显然,legendwidth[1]>surpluswidth,则利用公式surpluswidth=totalwidth-legendwidth[1]计算出surpluswidth的最新值为42px,并利用公式rownum=rownum+steplen迭代计算出rownum的最新值为1。

在其他示例中,行数参数rownum的初始值为1,余宽参数surpluswidth的初始值为图例容器的宽度totalwidth。

s404:将所述余宽参数当前值与所述当前图例的宽度的差值确定为所述余宽参数的最新值。

当当前图例的宽度不大于余宽参数的当前值时,表明可以将当前图例继续放入图例容器的当前行,所以,无需做换行处理,只需根据余宽参数当前值与当前图例的宽度更新余宽参数的值,将余宽参数当前值与当前图例的宽度的差值确定为余宽参数的最新值即可。

s405:判断所述当前图例是否为所述至少一个图例中的最后一个图例,若否,执行步骤s406;若是,执行步骤s407;

s406:将余宽参数的最新值作为余宽参数的当前值,将行数参数的最新值作为行数参数的当前值,再次执行步骤s402-s405;

s407:根据所述行数参数的最新值,确定所述图例容器的目标行数。

在基于所有图例执行完上述步骤s402-s406后,所有图例均可放入图例容器中,此时,行数参数的最新值则表征了图例容器能够容纳所有图例的最小行数。

在一示例中,图例容器的目标行数等于行数参数的最新值,使每一组图例刚好摆放到图例容器的每一行中,不仅保证了各图例在图例容器中的正常显示,而且还保证了图例容器的空间利用率,避免了显示空间的浪费。

s408:根据所述图例容器的目标行数与所述各图例的高度,调整所述图例容器的目标高度。

其中,该步骤s408与前述实施例中的步骤s103相类似,在此不再赘述。

本实施例提供的图表调整方法,根据每一图例的宽度与图例容器的余宽参数的当前值之间的大小关系,对图例容器的余宽参数与行数参数进行迭代更新,得到最终的行数参数的最新值,根据行数参数的最新值,确定图例容器的目标行数,并根据图例容器的目标行数与各图例的高度,调整图例容器的目标高度,进一步保证了图表中图例容器的目标高度与各图例的尺寸特征的适应性。

本发明实施例中所涉及的图例容器的宽度、图例容器的目标高度、图例的宽度、图例的高度、图例标记的宽度、图例标记的高度、图例文字的宽度、图例文字的高度、水平间隔的宽度、垂直间隔的高度、字体高度和字体宽度以及余宽参数的当前值、余宽参数的最新值以及图例容器的高度参数值等要素的单位相同。例如,上述各要素的单位均为像素(px),或,均为毫米(mm)。

对应于前述的图表调整方法,本发明实施例还提供了相应的图表调整装置。

请参阅图5,图5为本申请实施例提供的图表调整装置的一种结构示意图。

本实施例的图表调整装置,用于实施前述实施例的图表调整方法,如图5所示,所述装置包括:

数据获取单元u101,用于获取所述图例容器的宽度,以及,所述至少一个图例中各图例的宽度与高度。

行数确定单元u102,用于根据所述图例容器的宽度与所述各图例的宽度,确定所述图例容器的目标行数。

图表调整单元u103,用于根据所述图例容器的目标行数与所述各图例的高度,调整所述图例容器的目标高度。

本实施例提供的图表调整装置,根据图例容器的宽度与各图例的高度与宽度,调整所述图例容器的目标高度,使得图表中图例容器的目标高度能够与各图例的尺寸特征相适应,实现了图例容器的动态调整过程,从而在echarts图表的图例个数发生变化时,仍能保证echarts图表的正常显示。

请参阅图6,图6为本申请实施例提供的图表调整装置的另一种结构示意图。

本实施例的图表调整装置,包括前述实施例中的数据获取单元u101、行数确定单元u102和图表调整单元u103。其中,所述数据获取单元u101包括:

第一获取单元u1011,用于分别获取各图例中图例标记的宽度、图例文字的宽度与水平间隔的宽度。

第一确定单元u1012,用于根据所述各图例中图例标记的宽度、图例文字的宽度与水平间隔的宽度之和,分别确定所述各图例的宽度。

第二获取单元u1013,用于获取任一图例中图例标记的高度、图例文字的高度与垂直间隔的高度。

最大取值单元u1014,用于获取所述图例标记的高度与所述图例文字的高度中的最大值。

第二确定单元u1015,用于根据所述最大值与所述垂直间隔的高度之和,确定所述各图例的高度。

本实施例提供的图表调整装置,根据各图例中图例标记的宽度、图例文字的宽度与水平间隔的宽度之和,分别确定各图例的宽度,根据各图例中图例标记的高度与图例文字的高度中的最大值与垂直间隔的高度之和,确定各图例的高度,提高了获取各图例的高度与宽度的准确性,进而根据图例容器的宽度与各图例准确的高度与宽度,调整图例容器的目标高度,进一步保证了图表中图例容器的目标高度与各图例的尺寸特征的适应性。

请参阅图7,图7为本申请实施例提供的图表调整装置的又一种结构示意图。

本实施例的图表调整装置,包括前述实施例中的数据获取单元u101、行数确定单元u102和图表调整单元u103,其中,所述行数确定单元u102包括:

图例分组单元u1021,用于根据所述图例容器的宽度与所述各图例的宽度,将所述至少一个图例划分成n组。

其中,任一组中所有图例的总宽度不大于所述图例容器的宽度,n≥1。

第三确定单元u1022,用于根据所述n的值,确定所述图例容器的目标行数。

本实施例提供的图表调整装置,根据图例容器的宽度与各图例的宽度,将至少一个图例划分成n组,使任一组中所有图例的总宽度不大于图例容器的宽度,再根据n的值,确定图例容器的目标行数,实现了图例容器的目标行数的确定,并根据图例容器的目标行数与各图例的高度,调整图例容器的目标高度,进一步保证了图表中图例容器的目标高度与各图例的尺寸特征的适应性。

请参阅图8,图8为本申请实施例提供的图表调整装置的再一种结构示意图。

本实施例的图表调整装置,包括前述实施例中的数据获取单元u101、行数确定单元u102和图表调整单元u103,所述图例容器包括行数参数与余宽参数,所述行数参数与余宽参数的初始值分别为各自对应的预设值。其中,所述行数确定单元u102包括:行数更新单元u1023、余宽更新单元u1024、迭代控制单元u1025与第四确定单元u1026;

行数更新单元u1023,用于当当前图例的宽度大于所述余宽参数的当前值时,将所述图例容器的宽度与所述当前图例的宽度的差值确定为所述余宽参数的最新值,并将所述行数参数的当前值按照预设步长递增后确定为所述行数参数的最新值。

余宽更新单元u1024,用于当当前图例的宽度不大于所述余宽参数的当前值时,将所述余宽参数当前值与所述当前图例的宽度的差值确定为所述余宽参数的最新值。

迭代控制单元u1025,用于判断所述当前图例是否为所述至少一个图例中的最后一个图例,若否,将余宽参数的最新值作为余宽参数的当前值,将行数参数的最新值作为行数参数的当前值,指示行数更新单元u1023与宽更新单元u1024再次执行其功能;若是,指示第四确定单元u1026执行其功能;

第四确定单元u1026,用于根据所述行数参数的最新值,确定所述图例容器的目标行数。

本实施例提供的图表调整装置,根据每一图例的宽度与图例容器的余宽参数的当前值之间的大小关系,对图例容器的余宽参数与行数参数进行迭代更新,得到最终的行数参数的最新值,根据行数参数的最新值,确定图例容器的目标行数,并根据图例容器的目标行数与各图例的高度,调整图例容器的目标高度,进一步保证了图表中图例容器的目标高度与各图例的尺寸特征的适应性。

本发明实施例提供的图表调整装置,包括处理器和存储器,上述数据获取单元u101、行数确定单元u102和图表调整单元u103、第一获取单元u1011、第一确定单元u1012、第二获取单元u1013、最大取值单元u1014、第二确定单元u1015、图例分组单元u1021、第三确定单元u1022、行数更新单元u1023、余宽更新单元u1024、迭代控制单元u1025、第四确定单元u1026等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决目前在echarts图表的图例个数发生变化时,无法保证echarts图表正常显示的技术问题。

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

本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行任一项前述的图表调整方法。

本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任一项前述的图表调整方法。

本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:

获取所述图例容器的宽度,以及,所述至少一个图例中各图例的宽度与高度;

根据所述图例容器的宽度与所述各图例的宽度,确定所述图例容器的目标行数;

根据所述图例容器的目标行数与所述各图例的高度,调整所述图例容器的目标高度。

优选的,所述获取所述至少一个图例中各图例的宽度包括:

分别获取各图例中图例标记的宽度、图例文字的宽度与水平间隔的宽度;

根据所述各图例中图例标记的宽度、图例文字的宽度与水平间隔的宽度之和,分别确定所述各图例的宽度。

优选的,所述获取所述至少一个图例中各图例的高度包括:

获取任一图例中图例标记的高度、图例文字的高度与垂直间隔的高度;

获取所述图例标记的高度与所述图例文字的高度中的最大值;

根据所述最大值与所述垂直间隔的高度之和,确定所述各图例的高度。

优选的,所述根据所述图例容器的宽度与所述各图例的宽度,确定所述图例容器的目标行数包括:

根据所述图例容器的宽度与所述各图例的宽度,将所述至少一个图例划分成n组,其中,任一组中所有图例的总宽度不大于所述图例容器的宽度,n≥1;

根据所述n的值,确定所述图例容器的目标行数。

优选的,所述图例容器包括行数参数与余宽参数;所述根据所述图例容器的宽度与所述各图例的宽度,确定所述图例容器的目标行数包括:

当当前图例的宽度大于所述余宽参数的当前值时,将所述图例容器的宽度与所述当前图例的宽度的差值确定为所述余宽参数的最新值,并将所述行数参数的当前值按照预设步长递增后确定为所述行数参数的最新值;

当当前图例的宽度不大于所述余宽参数的当前值时,将所述余宽参数当前值与所述当前图例的宽度的差值确定为所述余宽参数的最新值;

判断所述当前图例是否为所述至少一个图例中的最后一个图例,若否,将余宽参数的最新值作为余宽参数的当前值,将行数参数的最新值作为行数参数的当前值,再次执行上述步骤;若是,根据所述行数参数的最新值,确定所述图例容器的目标行数。

优选的,所述图例容器包括高度参数;所述根据所述图例容器的目标行数与所述各图例的高度,调整所述图例容器的目标高度包括:

将所述图例容器的目标行数与所述图例的高度之积确定为所述图例容器的高度参数值;

根据所述图例容器的高度参数值,调整所述图例容器的目标高度。

优选的,所述图例文字中包括文字个数、字体高度与字体宽度;

所述图例文字的宽度为所述文字个数与字体宽度的乘积;

所述图例文字的高度为所述字体高度。

本文中的设备可以是服务器、pc、pad、手机等。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:

获取所述图例容器的宽度,以及,所述至少一个图例中各图例的宽度与高度;

根据所述图例容器的宽度与所述各图例的宽度,确定所述图例容器的目标行数;

根据所述图例容器的目标行数与所述各图例的高度,调整所述图例容器的目标高度。

优选的,所述获取所述至少一个图例中各图例的宽度包括:

分别获取各图例中图例标记的宽度、图例文字的宽度与水平间隔的宽度;

根据所述各图例中图例标记的宽度、图例文字的宽度与水平间隔的宽度之和,分别确定所述各图例的宽度。

优选的,所述获取所述至少一个图例中各图例的高度包括:

获取任一图例中图例标记的高度、图例文字的高度与垂直间隔的高度;

获取所述图例标记的高度与所述图例文字的高度中的最大值;

根据所述最大值与所述垂直间隔的高度之和,确定所述各图例的高度。

优选的,所述根据所述图例容器的宽度与所述各图例的宽度,确定所述图例容器的目标行数包括:

根据所述图例容器的宽度与所述各图例的宽度,将所述至少一个图例划分成n组,其中,任一组中所有图例的总宽度不大于所述图例容器的宽度,n≥1;

根据所述n的值,确定所述图例容器的目标行数。

优选的,所述图例容器包括行数参数与余宽参数;所述根据所述图例容器的宽度与所述各图例的宽度,确定所述图例容器的目标行数包括:

当当前图例的宽度大于所述余宽参数的当前值时,将所述图例容器的宽度与所述当前图例的宽度的差值确定为所述余宽参数的最新值,并将所述行数参数的当前值按照预设步长递增后确定为所述行数参数的最新值;

当当前图例的宽度不大于所述余宽参数的当前值时,将所述余宽参数当前值与所述当前图例的宽度的差值确定为所述余宽参数的最新值;

判断所述当前图例是否为所述至少一个图例中的最后一个图例,若否,将余宽参数的最新值作为余宽参数的当前值,将行数参数的最新值作为行数参数的当前值,再次执行上述步骤;若是,根据所述行数参数的最新值,确定所述图例容器的目标行数。

优选的,所述图例容器包括高度参数;所述根据所述图例容器的目标行数与所述各图例的高度,调整所述图例容器的目标高度包括:

将所述图例容器的目标行数与所述图例的高度之积确定为所述图例容器的高度参数值;

根据所述图例容器的高度参数值,调整所述图例容器的目标高度。

优选的,所述图例文字中包括文字个数、字体高度与字体宽度;

所述图例文字的宽度为所述文字个数与字体宽度的乘积;

所述图例文字的高度为所述字体高度。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

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

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

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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