饼图标签显示方法、系统、可读存储介质和计算机设备与流程

文档序号:16811146发布日期:2019-02-10 13:39阅读:390来源:国知局
饼图标签显示方法、系统、可读存储介质和计算机设备与流程

本发明涉及图表处理技术领域,特别是涉及一种饼图标签显示方法、系统、可读存储介质和计算机设备。



背景技术:

在数据统计处理过程中,经常会使用到统计图表,如折线图、柱状图、饼图等。其中饼图可以显示一个数据系列中各项的大小与各项总和的比例。饼图中的数据点显示为整个饼图的百分比。饼状图可以比较清楚地反映出部分与部分、部分与整体之间的数量关系,易于显示每组数据相对于总数的大小,而且显现方式直观。

饼图在实际使用时,为了便于了解饼图中数据的占比,会在饼图上进行相应数据的标注,一般会以标签的形式标注在饼图周围;在实现本发明过程中,发明人发现传统技术中,至少存在如下问题:随着数据项数的增大,且存在较多的占比小且连续相邻的数据时,标注的标签较多,容易出现标签堆叠,导致标签文本显示不清楚。



技术实现要素:

基于此,有必要针对传统的饼图显示时容易出现标签堆叠,导致标签文本显示不清楚的问题,提供一种饼图标签显示方法、系统、可读存储介质和计算机设备。

一种饼图标签显示方法,包括以下步骤:

获取饼图的各标签文本的默认初始位置,默认初始位置是标签文本相对于饼图中心的相对位置;

获取标签文本的显示间距,显示间距是相邻的标签文本分隔显示时的距离;

根据显示间距和各默认初始位置确定各标签文本的目标位置,并在各目标位置显示对应的标签文本。

根据上述饼图标签显示方法,其是获取饼图的各标签文本的默认初始位置,以及标签文本的显示间距,根据显示间距和各默认初始位置确定各标签文本的目标位置,并在各目标位置显示对应的标签文本,利用显示间距对标签文本的默认初始位置进行调整,从而确定标签文本的目标位置,在目标位置可以确保标签文本分隔显示,解决标签文本堆叠的问题,在利用标签文本对饼图的各扇形区域进行标注时,使饼图的标签文本清楚显示。

在其中一个实施例中,获取饼图的各标签文本的默认初始位置的步骤包括以下步骤:

获取各标签文本的纵向位置,其中,纵向位置是标签文本中预设参考点相对于饼图中心的纵向坐标;

根据显示间距和各默认初始位置确定各标签文本的目标位置的步骤包括以下步骤:

根据显示间距和各纵向坐标确定各标签文本的目标位置。

在其中一个实施例中,根据显示间距和各纵向坐标确定各标签文本的目标位置的步骤包括以下步骤:

获取任意两个相邻的标签文本的纵向坐标的坐标差值;

若坐标差值小于显示间距,对坐标差值对应的标签文本的纵向坐标进行调整,获取坐标差值对应的标签文本的目标位置。

在其中一个实施例中,对坐标差值对应的标签文本的纵向坐标进行调整的步骤包括以下步骤:

在坐标差值对应的标签文本中,将纵向坐标较大的标签文本作为第一标签文本,根据第一标签文本的纵向坐标的坐标值与显示间距的和值更新第一标签文本的纵向坐标的坐标值;

或者,

在坐标差值对应的标签文本中,将纵向坐标较小的标签文本作为第二标签文本,根据第二标签文本的纵向坐标的坐标值与显示间距的差值更新第二标签文本的纵向坐标的坐标值。

在其中一个实施例中,根据显示间距和各纵向坐标确定各标签文本的目标位置的步骤包括以下步骤:

按照纵向坐标的坐标值从小到大的顺序对第三标签文本进行排序,第三标签文本是位于饼图第一象限中的标签文本;

选取排序第一的第三标签文本作为当前第三标签文本,若下一第三标签文本的纵向坐标与当前第三标签文本的纵向坐标的坐标差值小于显示间距,根据当前第三标签文本的纵向坐标的坐标值与显示间距的和值更新下一第三标签文本的纵向坐标的坐标值;

将下一第三标签文本作为当前第三标签文本,直至遍历所有的第三标签文本;

或者,

按照纵向坐标的坐标值从小到大的顺序对第四标签文本进行排序,第四标签文本是位于饼图第二象限中的标签文本;

选取排序第一的第四标签文本作为当前第四标签文本,若下一第四标签文本的纵向坐标与当前第四标签文本的纵向坐标的坐标差值小于显示间距,根据当前第四标签文本的纵向坐标的坐标值与显示间距的和值更新下一第四标签文本的纵向坐标的坐标值;

将下一第四标签文本作为当前第四标签文本,直至遍历所有的第四标签文本。

在其中一个实施例中,根据显示间距和各纵向坐标确定各标签文本的目标位置的步骤包括以下步骤:

按照纵向坐标的坐标值从大到小的顺序对第五标签文本进行排序,第五标签文本是位于饼图第三象限中的标签文本;

选取排序第一的第五标签文本作为当前第五标签文本,若当前第五标签文本的纵向坐标与下一第五标签文本的纵向坐标的坐标差值小于显示间距,根据当前第五标签文本的纵向坐标的坐标值与显示间距的差值更新下一第五标签文本的纵向坐标的坐标值;

将下一第五标签文本作为当前第五标签文本,直至遍历所有的第五标签文本;

或者,

按照纵向坐标的坐标值从大到小的顺序对第六标签文本进行排序,第六标签文本是位于饼图第四象限中的标签文本;

选取排序第一的第六标签文本作为当前第六标签文本,若当前第六标签文本的纵向坐标与下一第六标签文本的纵向坐标的坐标差值小于显示间距,根据当前第六标签文本的纵向坐标的坐标值与显示间距的差值更新下一第六标签文本的纵向坐标的坐标值;

将下一第六标签文本作为当前第六标签文本,直至遍历所有的第六标签文本。

在其中一个实施例中,获取各标签文本的纵向位置的步骤包括以下步骤:

获取扇形区域的中心线与饼图平面坐标系中纵向正轴的夹角,其中,扇形区域对应标签文本;

根据饼图的半径和夹角获取对应扇形区域的标签文本的纵向坐标。

在其中一个实施例中,获取各标签文本的纵向位置的步骤包括以下步骤:

获取扇形区域的中心线与饼图平面坐标系中纵向正轴的夹角,其中,扇形区域对应标签文本;

根据饼图的半径、标签文本的引线长度和夹角获取对应扇形区域的标签文本的纵向坐标,其中,引线用于从扇形区域引出至标签文本。

在其中一个实施例中,获取标签文本的显示间距的步骤包括以下步骤:

获取标签文本的字体大小值和最小行间距,根据字体大小值和最小行间距计算显示间距。

一种饼图标签显示系统,包括:

位置获取单元,用于获取饼图的各标签文本的默认初始位置,默认初始位置是标签文本相对于饼图中心的相对位置;

间距获取单元,用于获取标签文本的显示间距,显示间距是相邻的标签文本分隔显示时的距离;

位置确定单元,用于根据显示间距和各默认初始位置确定各标签文本的目标位置。

标签显示单元,用于在各目标位置显示对应的标签文本。

根据上述饼图标签显示系统,其是通过标签文本对饼图的各扇形区域进行标注,位置获取单元用于获取饼图的各标签文本的默认初始位置,间距获取单元用于获取标签文本的显示间距,位置确定单元用于根据显示间距和各默认初始位置确定各标签文本的目标位置,标签显示单元用于在各目标位置显示对应的标签文本,本饼图标签显示系统利用显示间距对标签文本的默认初始位置进行调整,从而确定标签文本的目标位置,在目标位置可以确保标签文本分隔显示,解决标签文本堆叠的问题,使饼图的标签文本清楚显示。

在其中一个实施例中,位置获取单元获取各标签文本的纵向位置,其中,纵向位置是标签文本中预设参考点相对于饼图中心的纵向坐标;

位置确定单元根据显示间距和各纵向坐标确定各标签文本的目标位置。

在其中一个实施例中,位置确定单元获取任意两个相邻的标签文本的纵向坐标的坐标差值;若坐标差值小于显示间距,对坐标差值对应的标签文本的纵向坐标进行调整,获取坐标差值对应的标签文本的目标位置。

在其中一个实施例中,位置确定单元在坐标差值对应的标签文本中,将纵向坐标较大的标签文本作为第一标签文本,根据第一标签文本的纵向坐标的坐标值与显示间距的和值更新第一标签文本的纵向坐标的坐标值;

或者,

位置确定单元在坐标差值对应的标签文本中,将纵向坐标较小的标签文本作为第二标签文本,根据第二标签文本的纵向坐标的坐标值与显示间距的差值更新第二标签文本的纵向坐标的坐标值。

在其中一个实施例中,位置确定单元按照纵向坐标的坐标值从小到大的顺序对第三标签文本进行排序,第三标签文本是位于饼图第一象限中的标签文本;选取排序第一的第三标签文本作为当前第三标签文本,若下一第三标签文本的纵向坐标与当前第三标签文本的纵向坐标的坐标差值小于显示间距,根据当前第三标签文本的纵向坐标的坐标值与显示间距的和值更新下一第三标签文本的纵向坐标的坐标值;将下一第三标签文本作为当前第三标签文本,直至遍历所有的第三标签文本;

或者,

位置确定单元按照纵向坐标的坐标值从小到大的顺序对第四标签文本进行排序,第四标签文本是位于饼图第二象限中的标签文本;选取排序第一的第四标签文本作为当前第四标签文本,若下一第四标签文本的纵向坐标与当前第四标签文本的纵向坐标的坐标差值小于显示间距,根据当前第四标签文本的纵向坐标的坐标值与显示间距的和值更新下一第四标签文本的纵向坐标的坐标值;将下一第四标签文本作为当前第四标签文本,直至遍历所有的第四标签文本。

在其中一个实施例中,位置确定单元按照纵向坐标的坐标值从大到小的顺序对第五标签文本进行排序,第五标签文本是位于饼图第三象限中的标签文本;选取排序第一的第五标签文本作为当前第五标签文本,若当前第五标签文本的纵向坐标与下一第五标签文本的纵向坐标的坐标差值小于显示间距,根据当前第五标签文本的纵向坐标的坐标值与显示间距的差值更新下一第五标签文本的纵向坐标的坐标值;将下一第五标签文本作为当前第五标签文本,直至遍历所有的第五标签文本;

或者,

位置确定单元按照纵向坐标的坐标值从大到小的顺序对第六标签文本进行排序,第六标签文本是位于饼图第四象限中的标签文本;选取排序第一的第六标签文本作为当前第六标签文本,若当前第六标签文本的纵向坐标与下一第六标签文本的纵向坐标的坐标差值小于显示间距,根据当前第六标签文本的纵向坐标的坐标值与显示间距的差值更新下一第六标签文本的纵向坐标的坐标值;将下一第六标签文本作为当前第六标签文本,直至遍历所有的第六标签文本。

在其中一个实施例中,位置获取单元获取扇形区域的中心线与饼图平面坐标系中纵向正轴的夹角,其中,扇形区域对应标签文本;根据饼图的半径和夹角获取对应扇形区域的标签文本的纵向坐标。

在其中一个实施例中,位置获取单元获取扇形区域的中心线与饼图平面坐标系中纵向正轴的夹角,其中,各扇形区域对应标签文本;根据饼图的半径、标签文本的引线长度和夹角获取对应扇形区域的标签文本的纵向坐标,其中,引线用于从扇形区域引出至标签文本。

在其中一个实施例中,间距获取单元获取标签文本的字体大小值和最小行间距,根据字体大小值和最小行间距计算显示间距。

一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述饼图标签显示方法的步骤。

上述可读存储介质,通过其存储的可执行程序,实现了利用显示间距对标签文本的默认初始位置进行调整,从而确定标签文本的目标位置,在目标位置可以确保标签文本分隔显示,解决标签文本堆叠的问题,使饼图的标签文本清楚显示。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述饼图标签显示方法的步骤。

上述计算机设备,通过处理器上运行的可执行程序,实现了利用显示间距对标签文本的默认初始位置进行调整,从而确定标签文本的目标位置,在目标位置可以确保标签文本分隔显示,解决标签文本堆叠的问题,使饼图的标签文本清楚显示。

一种交互智能平板,在显示屏上显示饼图时应用权利要求1至9中任意一项的饼图标签显示方法。

上述交互智能平板,在显示屏上显示饼图时可以应用饼图标签显示方法,实现了利用显示间距对标签文本的默认初始位置进行调整,从而确定标签文本的目标位置,在目标位置可以确保标签文本分隔显示,解决标签文本堆叠的问题,使饼图的标签文本清楚显示。

附图说明

图1为一个实施例中的饼图标签显示方法的流程示意图;

图2为另一个实施例中的饼图标签显示方法的流程示意图;

图3为再一个实施例中的饼图标签显示方法的流程示意图;

图4(a)、4(b)、4(c)、4(d)为一个实施例中的饼图标签显示方法使用前后的对比示意图;

图5(a)、5(b)、5(c)、5(d)为另一个实施例中的饼图标签显示方法使用前后的对比示意图;

图6为一个实施例中的饼图、标签文本和引线的位置关系示意图;

图7(a)、7(b)为一个实施例中的饼图标签显示方法的实际应用效果对比示意图;

图8为一个实施例中的饼图标签显示系统的结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。

图1为一个实施例中饼图标签显示方法的流程示意图,本实施例提供的饼图标签显示方法可以由饼图显示设备执行,该饼图显示设备可以通过软件和/或硬件的方式实现,该饼图显示设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。该饼图显示设备可以是电脑、手机、平板、投影仪或交互智能平板等。在实施例中,以交互智能平板为饼图显示设备为例进行描述,其中,交互智能平板可以是通过触控技术对显示在显示平板上的内容进行操控和实现人机交互操作的一体化设备,其集成了投影机、电子白板、幕布、音响、电视机以及视频会议终端等一种或多种功能。

交互智能平板中安装有饼图显示软件,该饼图显示软件可以预先安装在上述交互智能平板中,也可以在交互智能平板启动饼图显示时,从第三方设备或服务器进行下载并安装使用。其中,第三方设备在实施例中不作限定。具体的,饼图显示软件用于获取待显示的数据,将数据转换成饼图结构进行显示,在显示的过程中可以应用饼图标签显示方法。

饼图标签显示方法包括以下步骤:

步骤s110:获取饼图的各标签文本的默认初始位置,默认初始位置是标签文本相对于饼图中心的相对位置;

在本步骤中,标签文本用于对饼图的各个扇形区域进行标注,显示各个扇形区域的数据内容以及占比;在显示饼图时一般可以自动生成标签文本,自动生成的标签文本位于默认初始位置,该默认初始位置一般与对应的扇形区域紧邻,可以在饼图外围,默认初始位置可以饼图中心为参考点;

步骤s120:获取标签文本的显示间距,显示间距是相邻的标签文本分隔显示时的距离;

在本步骤中,标签文本较多时,标签文本容易产生堆叠,只有相隔一定距离才能使各个标签文本分隔显示,该距离为显示间距,显示间距的具体大小需要保证各个标签文本分隔显示,同时为了饼图显示的完整和协调,显示间距不宜过大,因此显示间距可以设置在适当的大小范围内;

步骤s130:根据显示间距和各默认初始位置确定各标签文本的目标位置,并在各目标位置显示对应的标签文本。

在本步骤中,各标签文本处于默认初始位置时,各标签文本之间可能产生堆叠,以显示间距为基准,可以确定各标签文本的目标位置,在各目标位置上显示标签文本,各标签文本可以清楚显示,避免堆叠。

在本实施例中,获取饼图的各标签文本的默认初始位置,以及标签文本的显示间距,根据显示间距和各默认初始位置确定各标签文本的目标位置,并在各目标位置显示对应的标签文本,利用显示间距对标签文本的默认初始位置进行调整,从而确定标签文本的目标位置,在目标位置可以确保标签文本分隔显示,解决标签文本堆叠的问题,在利用标签文本对饼图的各扇形区域进行标注时,使饼图的标签文本清楚显示。

需要说明的是,标签文本可以是饼图程序生成的,默认初始位置也可以是饼图程序生成标签文本时设定的位置,本发明实施例的目的是对标签文本的位置进行调整和优化。

在一个实施例中,如图2所示,获取饼图的各标签文本的默认初始位置的步骤包括以下步骤:

获取各标签文本的纵向位置,其中,纵向位置是标签文本中预设参考点相对于饼图中心的纵向坐标;

根据显示间距和各默认初始位置确定各标签文本的目标位置的步骤包括以下步骤:

根据显示间距和各纵向坐标确定各标签文本的目标位置。

在本实施例中,饼图的各标签文本一般在紧邻扇形区域的情况下分布在饼图的周围,标签文本产生堆叠主要是因为在饼图所在平面纵向坐标上,标签文本分隔显示的纵向间距不足,在确定标签文本的目标位置时,可以获取各标签文本的纵向位置坐标,利用显示间距对纵向位置坐标进行调整,以确定标签文本的目标位置,通过标签文本在纵向方向上的位置调整即可实现标签文本的分隔显示,处理过程简单而快捷。

需要说明的是,标签文本本身具有一定的大小,饼图中心是一个点,为了便于计算标签文本的纵向坐标,选取标签文本中预设参考点来计算标签文本相对于饼图中心的纵向坐标,预设参考点可以是标签文本的中心、角点或指定边上的指定点等,可以根据饼图显示的需要进行具体设置。

在一个实施例中,如图3所示,根据显示间距和各纵向坐标确定各标签文本的目标位置的步骤包括以下步骤:

获取任意两个相邻的标签文本的纵向坐标的坐标差值;

若坐标差值小于显示间距,对坐标差值对应的标签文本的纵向坐标进行调整,获取坐标差值对应的标签文本的目标位置。

在本实施例中,先获取两个相邻的标签文本的纵向坐标的坐标差值,若标签文本产生堆叠,两个相邻的标签文本的间距较小,此时对应的坐标差值小于显示间距,以此可以确定两个标签文本产生堆叠,对其纵向坐标进行调整,以得到目标位置,通过标签文本的纵向坐标的调整即可实现标签文本的分隔显示。

具体的,在对标签文本的纵向坐标进行调整时,标签文本的横向坐标保持不变;若两个标签文本的坐标差值大于显示间距,表明两个标签文本原本就已分隔显示,无需再对其进行调整;上述过程是针对任意两个相邻的标签文本,在实际处理过程中,可以多次重复执行,直至饼图的任意两个标签文本的坐标差值大于或等于显示间距,使所有的标签文本分隔显示;进一步的,在对标签文本的纵向坐标进行调整时,后调整的标签文本会受到之前调整的标签文本位置的影响,因此在对各标签文本的位置进行调整时,可以按照一定的顺序依次选取相邻的两个标签文本执行上述步骤,如从饼图的12点位置开始,按逆时针方向进行选取,或者,从饼图的6点位置开始,按顺时针方向进行选取等等,具体的顺序可以根据实际需要进行调整。

在一个实施例中,对坐标差值对应的标签文本的纵向坐标进行调整的步骤包括以下步骤:

在坐标差值对应的标签文本中,将纵向坐标较大的标签文本作为第一标签文本,根据第一标签文本的纵向坐标的坐标值与显示间距的和值更新第一标签文本的纵向坐标的坐标值;

或者,

在坐标差值对应的标签文本中,将纵向坐标较小的标签文本作为第二标签文本,根据第二标签文本的纵向坐标的坐标值与显示间距的差值更新第二标签文本的纵向坐标的坐标值。

在本实施例中,提供了两种不同的纵向坐标调整方式,一种是相邻的两个标签文本中,对纵向坐标较大的第一标签文本进行调整,具体过程是将第一标签文本的纵向坐标值增大,增大的幅值为显示间距的值,调整更新之后相邻的两个标签文本之间的间距大于显示间距,可以使相邻的两个标签文本清楚显示;另一种是相邻的两个标签文本中,对纵向坐标较小的第二标签文本进行调整,具体过程是将第二标签文本的纵向坐标值减小,减小的幅值为显示间距的值,调整更新之后相邻的两个标签文本之间的间距大于显示间距,同样可以使相邻的两个标签文本清楚显示。

在一个实施例中,根据显示间距和各纵向坐标确定各标签文本的目标位置的步骤包括以下步骤:

按照纵向坐标的坐标值从小到大的顺序对第三标签文本进行排序,第三标签文本是位于饼图第一象限中的标签文本;

选取排序第一的第三标签文本作为当前第三标签文本,若下一第三标签文本的纵向坐标与当前第三标签文本的纵向坐标的坐标差值小于显示间距,根据当前第三标签文本的纵向坐标的坐标值与显示间距的和值更新下一第三标签文本的纵向坐标的坐标值;

将下一第三标签文本作为当前第三标签文本,直至遍历所有的第三标签文本;

或者,

按照纵向坐标的坐标值从小到大的顺序对第四标签文本进行排序,第四标签文本是位于饼图第二象限中的标签文本;

选取排序第一的第四标签文本作为当前第四标签文本,若下一第四标签文本的纵向坐标与当前第四标签文本的纵向坐标的坐标差值小于显示间距,根据当前第四标签文本的纵向坐标的坐标值与显示间距的和值更新下一第四标签文本的纵向坐标的坐标值;

将下一第四标签文本作为当前第四标签文本,直至遍历所有的第四标签文本。

在本实施例中,按照纵向坐标的坐标值从小到大分别对饼图第一象限或第二象限中的标签文本进行排序,计算排序第一的当前标签文本和下一标签文本的纵向坐标差值,将坐标差值与显示间距相比较,若小于显示间距,将下一标签文本的纵向坐标的坐标值增大,增大的幅值为显示间距的值,选择下一标签文本作为当前标签文本,再次执行计算对当前标签文本和下一标签文本的纵向坐标差值,如排序为1的标签文本为当前标签文本,下一标签文本的排序为2,排序为2的标签文本为当前标签文本时,下一标签文本的排序为3;

标签文本一般标注在饼图周围,在第一象限或第二象限中,标签文本分布在饼图上方,排序第一的标签文本最接近饼图的横向坐标轴,增大排序靠后的标签文本的纵向坐标值,变化后的标签文本与饼图的距离也会增大,避免标签文本与饼图重叠,同时,按照逆时针方向,第一象限中各相邻标签文本的纵向坐标变化趋势是依次增大,第二象限中各相邻标签文本的变化趋势是依次减小,两者的变化趋势不同,针对第一象限和第二象限分别进行处理,可以防止在排序时第一象限中的标签文本纵向坐标值和第二象限中的标签文本纵向坐标值相互影响,避免纵向坐标调整的混乱,处理前后的饼图如图4(a)、4(b)、4(c)和4(d)所示。

需要说明的是,遍历所有的第三标签文本,是指所有的第三标签文本均参与了纵向坐标的比较,在排序倒数第二的第三标签文本为当前标签文本时,其与下一标签文本的纵向坐标相比较,即与排序倒数第一的第三标签文本的纵向坐标相比较,若坐标差值小于显示间距,将排序倒数第一的第三标签文本的纵向坐标值增大,增大的幅值为显示间距的值,到此执行过程结束;同理,遍历所有的第四标签文本也是相似的执行过程,在此不予赘述;

另外,在第一象限中,若坐标差值大于显示间距,则直接跳转至将下一第三标签文本作为当前第三标签文本;在第二象限中,若坐标差值大于显示间距,则直接跳转至将下一第四标签文本作为当前第四标签文本。

在一个实施例中,根据显示间距和各纵向坐标确定各标签文本的目标位置的步骤包括以下步骤:

按照纵向坐标的坐标值从大到小的顺序对第五标签文本进行排序,第五标签文本是位于饼图第三象限中的标签文本;

选取排序第一的第五标签文本作为当前第五标签文本,若当前第五标签文本的纵向坐标与下一第五标签文本的纵向坐标的坐标差值小于显示间距,根据当前第五标签文本的纵向坐标的坐标值与显示间距的差值更新下一第五标签文本的纵向坐标的坐标值;

将下一第五标签文本作为当前第五标签文本,直至遍历所有的第五标签文本;

或者,

按照纵向坐标的坐标值从大到小的顺序对第六标签文本进行排序,第六标签文本是位于饼图第四象限中的标签文本;

选取排序第一的第六标签文本作为当前第六标签文本,若当前第六标签文本的纵向坐标与下一第六标签文本的纵向坐标的坐标差值小于显示间距,根据当前第六标签文本的纵向坐标的坐标值与显示间距的差值更新下一第六标签文本的纵向坐标的坐标值;

将下一第六标签文本作为当前第六标签文本,直至遍历所有的第六标签文本。

在本实施例中,按照纵向坐标的坐标值从大到小分别对饼图第三象限或第四象限中的标签文本进行排序,计算排序第一的当前标签文本和下一标签文本的纵向坐标差值,将坐标差值与显示间距相比较,若小于显示间距,将下一标签文本的纵向坐标的坐标值减小,减小的幅值为显示间距的值,选择下一标签文本作为当前标签文本,再次执行计算对当前标签文本和下一标签文本的纵向坐标差值,如排序为1的标签文本为当前标签文本,下一标签文本的排序为2,排序为2的标签文本为当前标签文本时,下一标签文本的排序为3;

标签文本一般标注在饼图周围,在第三象限或第四象限中,标签文本分布在饼图下方,排序第一的标签文本最接近饼图的横向坐标轴,减小排序靠后的标签文本的纵向坐标值,变化后的标签文本与饼图的距离也会增大,避免标签文本与饼图重叠,同时,按照逆时针方向,第一象限中各相邻标签文本的纵向坐标变化趋势是依次减小,第二象限中各相邻标签文本的变化趋势是依次增大,两者的变化趋势不同,针对第三象限和第四象限分别进行处理,可以防止在排序时第一象限中的标签文本纵向坐标值和第二象限中的标签文本纵向坐标值相互影响,避免纵向坐标调整的混乱,处理前后的饼图如图5(a)、5(b)、5(c)和5(d)所示。

需要说明的是,遍历所有的第五标签文本,是指所有的第五标签文本均参与了纵向坐标的比较,在排序倒数第二的第五标签文本为当前标签文本时,其与下一标签文本的纵向坐标相比较,即与排序倒数第一的第五标签文本的纵向坐标相比较,若坐标差值小于显示间距,将排序倒数第一的第三标签文本的纵向坐标值增大,增大的幅值为显示间距的值,到此执行过程结束;同理,遍历所有的第六标签文本也是相似的执行过程,在此不予赘述;

另外,在第三象限中,若坐标差值大于显示间距,则直接跳转至将下一第五标签文本作为当前第五标签文本;在第四象限中,若坐标差值大于显示间距,则直接跳转至将下一第六标签文本作为当前第六标签文本。

在实际应用中,若有标签文本同时占据第二象限和第三象限,则将该标签文本归属于第二象限或第三象限;若有标签文本同时占据第一象限和第四象限,则将该标签文本归属于第一象限或第四象限,总之,将一个标签文本归属于一个象限。

在一个实施例中,获取各标签文本的纵向位置的步骤包括以下步骤:

获取扇形区域的中心线与饼图平面坐标系中纵向正轴的夹角,其中,扇形区域对应标签文本;

根据饼图的半径和夹角获取对应扇形区域的标签文本的纵向坐标。

在本实施例中,标签文本用于标注饼图的扇形区域,标签文本的纵向位置可以利用扇形区域在饼图中的位置来确定,而且标签文本的默认初始位置一般设置在扇形区域的中心线上,获取中心线与饼图平面坐标系中纵向正轴的夹角,这一夹角可以表示标签文本与饼图中心的连线相对于纵向正轴的角度,结合饼图的半径可以计算得到标签文本的纵向坐标,在饼图自身已经生成的情况下,夹角以及饼图半径可以根据饼图数据快速得到,从而提高获取标签文本的纵向坐标的效率。

具体的,对每一个标签文本都可以应用上述方式确定纵向坐标;可以通过公式y=r×sin(a)计算,其中,y表示纵向坐标,r表示饼图半径,a表示夹角。

另外,也可以先确定标签文本对应的当前扇形区域中心线,获取从中心线开始按逆时针方向到纵向正轴的区域在饼图中的占比,利用该占比和饼图半径确定标签文本的纵向坐标,具体的,可以通过公式y=r×sin(π/2-2×π×b)计算,其中,y表示纵向坐标,r表示饼图半径,b表示占比;通过公式b=sum+item/2确定占比大小,其中sum表示当前扇形区域按逆时针方向到纵向正轴的区域在饼图中的占比,item表示当前扇形区域在饼图中的占比。

在一个实施例中,获取各标签文本的纵向位置的步骤包括以下步骤:

获取扇形区域的中心线与饼图平面坐标系中纵向正轴的夹角,其中,扇形区域对应标签文本;

根据饼图的半径、标签文本的引线长度和夹角获取对应扇形区域的标签文本的纵向坐标,其中,引线用于从扇形区域引出至标签文本。

在本实施例中,为了更加准确地显示各扇形区域的饼图的标签文本,标签文本可以使用引线,引线从扇形区域引出至标签文本,明确标签文本与扇形区域的对应关系;此时在获取标签文本的纵向坐标时,可以根据饼图半径、引线长度和夹角获取标签文本的纵向坐标,提高获取纵向坐标的准确性。

具体的,引线在饼图的半径延长线方向上,若是弯折的引线,引线长度只考虑在饼图的半径延长线方向上的部分,如图6所示;可以通过公式y=(r+l)×sin(a)计算,其中,y表示纵向坐标,r表示饼图半径,l表示引线长度,a表示夹角。

在一个实施例中,获取标签文本的显示间距的步骤包括以下步骤:

获取标签文本的字体大小值和最小行间距,根据字体大小值和最小行间距计算显示间距。

在本实施例中,标签文本的显示间距会受到文本字体大小和文本的最小行间距的影响,在文本字体大小、文本的最小行间距不同时,显示间距的大小也会相应的改变,利用文本字体大小和文本最小行间距计算得到显示间距,可以使显示间距与文本的属性相适应,在实际应用时适应文本属性的变化,提高方案的适用性。

具体的,可以通过公式l=fontsize/2+minlinemargin计算标签文本的显示间距,该显示间距可以是标签文本可以分隔显示的最小间距,其中,l表示标签文本的最小间距,fontsize表示标签文本的字体大小,minlinemargin表示标签文本的最小行间距,最小行间距可以是大于0的任意值,为了获得较好的视觉效果,可以设置minlinemargin为5。

在一个实施例中,饼图标签显示方法可以应用在饼图显示的不同场景中。饼图标签显示方法是对饼图原本标签的显示进行改进,具体过程如下:

获取对应标签文本的扇形区域的中心线与饼图平面坐标系中纵向正轴的夹角,根据饼图的半径、标签文本的引线长度和夹角获取对应扇形区域的标签文本的纵向坐标,其中,引线用于从扇形区域引出至标签文本;

标签产生堆叠主要是由于在竖直方向上,标签文本所需的高度不够,而标签文本分隔显示所需要的最小间距会受到字体大小和最小行间距的影响,为了解决堆叠问题,使用公式l=fontsize/2+minlinemargin,其中,l表示标签文本的最小间距,fontsize表示标签文本的字体大小,minlinemargin表示标签文本的最小行间距,最小行间距可以是大于0的任意值,为了获得较好的视觉效果,可以设置minlinemargin为5。计算得到的最小间距是标签文本分隔显示的最小显示间距。在实际应用中,显示间距可以大于最小间距。

在本实施例中,显示间距可以设置为最小间距;

将饼图中的标签文本按照饼图象限进行划分,在第一象限中,按照纵向坐标的坐标值从小到大的顺序对标签文本进行排序,选取排序第一的标签文本作为当前标签文本,若下一标签文本的纵向坐标与当前标签文本的纵向坐标的坐标差值小于显示间距,根据当前标签文本的纵向坐标的坐标值与显示间距的和值更新下一标签文本的纵向坐标的坐标值,如显示间距为2,当前标签文本的纵向坐标为3,下一标签文本的纵向坐标为4,则将下一标签文本的纵向坐标调整为5;

将下一标签文本作为当前标签文本,直至遍历所有的标签文本;在第二象限中,执行与第一象限相似的操作;

在第三象限中,按照纵向坐标的坐标值从大到小的顺序对标签文本进行排序,选取排序第一的标签文本作为当前标签文本,若当前标签文本的纵向坐标与下一标签文本的纵向坐标的坐标差值小于显示间距,根据当前标签文本的纵向坐标的坐标值与显示间距的差值更新下一标签文本的纵向坐标的坐标值;如显示间距为2,当前标签文本的纵向坐标为-3,下一标签文本的纵向坐标为-4,则将下一标签文本的纵向坐标调整为-5;

将下一标签文本作为当前标签文本,直至遍历所有的标签文本;在第四象限中,执行与第三象限相似的操作;

饼图可以是实心饼图、空心饼图等等,空心饼图标签文本调整前后的效果图如图7(a)和7(b)所示。

根据上述饼图标签显示方法,本发明实施例还提供一种饼图标签显示系统,以下就饼图标签显示系统的实施例进行详细说明。

参见图8所示,为一个实施例的商圈饼图标签显示系统的结构示意图。该实施例中的商圈饼图标签显示系统包括:

位置获取单元210,用于获取饼图的各标签文本的默认初始位置,默认初始位置是标签文本相对于饼图中心的相对位置;

间距获取单元220,用于获取标签文本的显示间距,显示间距是相邻的标签文本分隔显示时的距离;

位置确定单元230,用于根据显示间距和各默认初始位置确定各标签文本的目标位置。

标签显示单元240,用于在各目标位置显示对应的标签文本。

根据上述饼图标签显示系统,其是通过标签文本对饼图的各扇形区域进行标注,位置获取单元210用于获取饼图的各标签文本的默认初始位置,间距获取单元220用于获取标签文本的显示间距,位置确定单元230用于根据显示间距和各默认初始位置确定各标签文本的目标位置,标签显示单元240用于在各目标位置显示对应的标签文本,本饼图标签显示系统利用显示间距对标签文本的默认初始位置进行调整,从而确定标签文本的目标位置,在目标位置可以确保标签文本分隔显示,解决标签文本堆叠的问题,使饼图的标签文本清楚显示。

在一个实施例中,位置获取单元210获取各标签文本的纵向位置,其中,纵向位置是标签文本中预设参考点相对于饼图中心的纵向坐标;

位置确定单元230根据显示间距和各纵向坐标确定各标签文本的目标位置。

在一个实施例中,位置确定单元230获取任意两个相邻的标签文本的纵向坐标的坐标差值;若坐标差值小于显示间距,对坐标差值对应的标签文本的纵向坐标进行调整,获取坐标差值对应的标签文本的目标位置。

在一个实施例中,位置确定单元230在坐标差值对应的标签文本中,将纵向坐标较大的标签文本作为第一标签文本,根据第一标签文本的纵向坐标的坐标值与显示间距的和值更新第一标签文本的纵向坐标的坐标值;

或者,

位置确定单元230在坐标差值对应的标签文本中,将纵向坐标较小的标签文本作为第二标签文本,根据第二标签文本的纵向坐标的坐标值与显示间距的差值更新第二标签文本的纵向坐标的坐标值。

在一个实施例中,位置确定单元230按照纵向坐标的坐标值从小到大的顺序对第三标签文本进行排序,第三标签文本是位于饼图第一象限中的标签文本;选取排序第一的第三标签文本作为当前第三标签文本,若下一第三标签文本的纵向坐标与当前第三标签文本的纵向坐标的坐标差值小于显示间距,根据当前第三标签文本的纵向坐标的坐标值与显示间距的和值更新下一第三标签文本的纵向坐标的坐标值;将下一第三标签文本作为当前第三标签文本,直至遍历所有的第三标签文本;

或者,

位置确定单元230按照纵向坐标的坐标值从小到大的顺序对第四标签文本进行排序,第四标签文本是位于饼图第二象限中的标签文本;选取排序第一的第四标签文本作为当前第四标签文本,若下一第四标签文本的纵向坐标与当前第四标签文本的纵向坐标的坐标差值小于显示间距,根据当前第四标签文本的纵向坐标的坐标值与显示间距的和值更新下一第四标签文本的纵向坐标的坐标值;将下一第四标签文本作为当前第四标签文本,直至遍历所有的第四标签文本。

在一个实施例中,位置确定单元230按照纵向坐标的坐标值从大到小的顺序对第五标签文本进行排序,第五标签文本是位于饼图第三象限中的标签文本;选取排序第一的第五标签文本作为当前第五标签文本,若当前第五标签文本的纵向坐标与下一第五标签文本的纵向坐标的坐标差值小于显示间距,根据当前第五标签文本的纵向坐标的坐标值与显示间距的差值更新下一第五标签文本的纵向坐标的坐标值;将下一第五标签文本作为当前第五标签文本,直至遍历所有的第五标签文本;

或者,

位置确定单元230按照纵向坐标的坐标值从大到小的顺序对第六标签文本进行排序,第六标签文本是位于饼图第四象限中的标签文本;选取排序第一的第六标签文本作为当前第六标签文本,若当前第六标签文本的纵向坐标与下一第六标签文本的纵向坐标的坐标差值小于显示间距,根据当前第六标签文本的纵向坐标的坐标值与显示间距的差值更新下一第六标签文本的纵向坐标的坐标值;将下一第六标签文本作为当前第六标签文本,直至遍历所有的第六标签文本。

在一个实施例中,位置获取单元210获取扇形区域的中心线与饼图平面坐标系中纵向正轴的夹角,其中,扇形区域对应标签文本;根据饼图的半径和夹角获取对应扇形区域的标签文本的纵向坐标。

在一个实施例中,位置获取单元210获取扇形区域的中心线与饼图平面坐标系中纵向正轴的夹角,其中,各扇形区域对应标签文本;根据饼图的半径、标签文本的引线长度和夹角获取对应扇形区域的标签文本的纵向坐标,其中,引线用于从扇形区域引出至标签文本。

在一个实施例中,间距获取单元220获取标签文本的字体大小值和最小行间距,根据字体大小值和最小行间距计算显示间距。

本发明实施例的饼图标签显示系统与上述饼图标签显示方法一一对应,在上述饼图标签显示方法的实施例阐述的技术特征及其有益效果均适用于饼图标签显示系统的实施例中。

根据上述饼图标签显示方法,本发明实施例还提供一种可读存储介质和一种计算机设备。

一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述饼图标签显示方法的步骤。

上述可读存储介质,通过其存储的可执行程序,实现了利用显示间距对标签文本的默认初始位置进行调整,从而确定标签文本的目标位置,在目标位置可以确保标签文本分隔显示,解决标签文本堆叠的问题,使饼图的标签文本清楚显示。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述饼图标签显示方法的步骤。

上述计算机设备,通过处理器上运行的可执行程序,实现了利用显示间距对标签文本的默认初始位置进行调整,从而确定标签文本的目标位置,在目标位置可以确保标签文本分隔显示,解决标签文本堆叠的问题,使饼图的标签文本清楚显示。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,程序可存储于一非易失性的计算机可读取存储介质中,如实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述饼图标签显示方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

具体的,计算机设备可以是交互智能平板,在显示屏上显示饼图时应用饼图标签显示方法,实现了利用显示间距对标签文本的默认初始位置进行调整,从而确定标签文本的目标位置,在目标位置可以确保标签文本分隔显示,解决标签文本堆叠的问题,使饼图的标签文本清楚显示。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成。所述的程序可以存储于可读取存储介质中。该程序在执行时,包括上述方法所述的步骤。所述的存储介质,包括:rom/ram、磁碟、光盘等。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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