图表生成方法、装置、存储介质和电子设备与流程

文档序号:16533750发布日期:2019-01-05 11:00阅读:251来源:国知局
图表生成方法、装置、存储介质和电子设备与流程
本公开涉及信息
技术领域
,具体地,涉及一种图表生成方法、装置、存储介质和电子设备。
背景技术
:随着互联网、大数据等信息技术的迅猛发展,应用于工业、政务、管理等领域的表单业务都开始使用电子图表。电子图表能够收集大量的数据信息、便于对数据进行分析、检索和统计。电子图表的生成过程,首先需要选定指标轴和纬度轴,再将数据库中相应的数据展示在电子图表中。而对于电子图表的设计,操作难度大,对于初次使用的用户来说,使用体验差,耗费工作量,而现有的电子图表自动生成方案,会产生大量无意义的图表,同样降低了用户的使用体验和工作效率。技术实现要素:本公开的目的是提供一种图表生成方法、装置、存储介质和电子设备,用以解决自动生成图表时产生大量无意义图表,导致效率和可操作性低的问题。为了实现上述目的,根据本公开实施例的第一方面,提供一种图表生成方法,所述方法包括:获取目标表单中多个数据列的数据类型;根据所述多个数据列的数据类型,对所述多个数据列进行分组,以将所述多个数据列分为指标组、维度组或丢弃数据;根据所述指标组和所述维度组中的数据列生成图表,作为所述目标表单的图表。可选地,所述根据所述多个数据列的数据类型,对所述多个数据列进行分组,以将所述多个数据列分入指标组、维度组或丢弃数据,包括:当第一数据列的数据类型为数字类型时,将所述第一数据列分入所述指标组,所述第一数据列为所述多个数据列中的任一数据列;当所述第一数据列的数据类型为可选择类型时,将所述第一数据列分入所述维度组,所述可选择类型包括:日期类型和分类下拉类型。可选的,所述根据所述多个数据列的数据类型,对所述多个数据列进行分组,以将所述多个数据列分入指标组、维度组或丢弃数据,还包括:当所述第一数据列的数据类型为文本类型,且所述第一数据列中的数据的概率分布满足指定类型的数据分布时,将所述第一数据列分入所述维度组;将没有被分入所述指标组或所述维度组的所述第一数据列,分入丢弃数据。可选的,所述当所述第一数据列的数据类型为文本类型,且所述第一数据列中的数据满足指定类型的数据分布时,将所述第一数据列分入所述维度组,包括:当所述第一数据列的数据类型为文本类型时,对所述第一数据列中的每项数据进行编号,其中,相同的数据具有相同的编号;将所述每项数据的编号作为预设算法的输入,以获取所述预设算法输出的所有编号的概率分布;判断所述所有编号的概率分布是否满足均匀分布;当所述所有编号的概率分布满足均匀分布时,将所述第一数据列分入所述维度组。可选的,所述根据所述指标组和所述维度组中的数据列生成图表,作为所述目标表单的图表,包括:根据所述指标组和所述纬度组中的数据列,确定至少一个图表的指标轴和纬度轴;将所述指标轴和所述纬度轴对应的数据显示在各个所述至少一个图表中。根据本公开实施例的第二方面,提供一种图表生成装置,所述装置包括:获取模块,用于获取目标表单中多个数据列的数据类型;分组模块,用于根据所述多个数据列的数据类型,对所述多个数据列进行分组,以将所述多个数据列分为指标组、维度组或丢弃数据;生成模块,用于根据所述指标组和所述维度组中的数据列生成图表,作为所述目标表单的图表。可选的,所述分组模块包括:第一分组子模块,用于当第一数据列的数据类型为数字类型时,将所述第一数据列分入所述指标组,所述第一数据列为所述多个数据列中的任一数据列;第二分组子模块,用于当所述第一数据列的数据类型为可选择类型时,将所述第一数据列分入所述维度组,所述可选择类型包括:日期类型和分类下拉类型。可选的,所述分组模块还包括:第三分组子模块,还用于当所述第一数据列的数据类型为文本类型,且所述第一数据列中的数据的概率分布满足指定类型的数据分布时,将所述第一数据列分入所述维度组;第四分组子模块,用于将没有被分入所述指标组或所述维度组的所述第一数据列,分入丢弃数据。可选的,所述第三分组子模块用于:当所述第一数据列的数据类型为文本类型时,对所述第一数据列中的每项数据进行编号,其中,相同的数据具有相同的编号;将所述每项数据的编号作为预设算法的输入,以获取所述预设算法输出的所有编号的概率分布;判断所述所有编号的概率分布是否满足均匀分布;当所述所有编号的概率分布满足均匀分布时,将所述第一数据列分入所述维度组。可选的,所述生成模块包括:确定子模块,用于根据所述指标组和所述纬度组中的数据列,确定至少一个图表的指标轴和纬度轴;显示子模块,用于将所述指标轴和所述纬度轴对应的数据显示在各个所述至少一个图表中。根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面提供的图表生成方法的步骤。根据本公开实施例的第四方面,提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面提供的图表生成方法的步骤。通过上述技术方案,本公开首先获取目标表单中多个数据列的数据类型,再依次根据多个数据列中每个数据列的数据类型进行分组,将各个数据列分为指标组、维度组或丢弃数据,最后,将指标组中对应的数据作为指标轴对应的数据,将维度组中对应的数据作为纬度轴对应的数据,从而生成目标表单的图表。能够在不需要用户参与设计的前提下,自动生成数量精简的图表,从而提高图表生成的效率和可操作性。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1是根据一示例性实施例示出的一种图表生成方法的流程图;图2是根据一示例性实施例示出的另一种图表生成方法的流程图;图3是根据一示例性实施例示出的另一种图表生成方法的流程图;图4是根据一示例性实施例示出的另一种图表生成方法的流程图;图5是根据图1至图4所示的任一种图表生成方法所生成的图表;图6是根据一示例性实施例示出的一种图表生成装置的框图;图7是根据一示例性实施例示出的另一种图表生成装置的框图;图8是根据一示例性实施例示出的另一种图表生成装置的框图;图9是根据一示例性实施例示出的另一种图表生成装置的框图;图10是根据一示例性实施例示出的一种电子设备的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。图1是根据一示例性实施例示出的一种图表生成方法的流程图,如图1所示,该方法包括:步骤101,获取目标表单中多个数据列的数据类型。举例来说,对于数据库中存储的大量数据,用户很难直接看出数据中包含的规律和走向,因此可以生成更加直观、更易于总结规律的图表来辅助用户。通常情况下,用户在初期对数据的分析往往没有明确的指向性,那么就可以生成所有可能存在实际意义的图表,以供用户来分析和判断,从而进一步对图表进行二次编辑或筛选。二维图表中包含两个轴:指标轴(y轴)和维度轴(x轴),指标轴通常用来显示数据的大小,而维度轴通常用来指示不同的分类。目标表单存储在数据库中,包含了多个数据列,首先获取每个数据列对应的数据类型。步骤102,根据多个数据列的数据类型,对多个数据列进行分组,以将多个数据列分为指标组、维度组或丢弃数据。步骤103,根据指标组和维度组中的数据列生成图表,作为目标表单的图表。示例的,将可以作为指标轴的数据列分为指标组,可以作为维度轴的数据列分为纬度组,将剩余的数据列分为丢弃数据。例如,可以将数字类型的数据列分为指标组,将可选择类型(例如:日期类型、分类下拉类型等)分为纬度组。在完成对多个数据列的分组后,将指标组中对应的数据作为指标轴对应的数据,将维度组中对应的数据作为纬度轴对应的数据,来生成目标表单的图表。可以将指标组和维度组中的数据列两两组合,分别作为指标轴和维度轴中的数据生成多个图表,也可以按照指标组中数据列的个数生成图表,每个图表中包含了维度组中每个数据列对应的数据。进一步的,根据生成的目标表单的图表,用户还可以根据实际需求,对图表进行筛选或者二次编辑,使用户更加灵活的设计并使用图表。综上所述,本公开首先获取目标表单中多个数据列的数据类型,再依次根据多个数据列中每个数据列的数据类型进行分组,将各个数据列分为指标组、维度组或丢弃数据,最后,将指标组中对应的数据作为指标轴对应的数据,将维度组中对应的数据作为纬度轴对应的数据,从而生成目标表单的图表。能够在不需要用户参与设计的前提下,自动生成数量精简的图表,从而提高图表生成的效率和可操作性。图2是根据一示例性实施例示出的另一种图表生成方法的流程图,如图2所示,步骤102包括:步骤1021,当第一数据列的数据类型为数字类型时,将第一数据列分入指标组,第一数据列为多个数据列中的任一数据列。步骤1022,当第一数据列的数据类型为可选择类型时,将第一数据列分入维度组,可选择类型包括:日期类型和分类下拉类型。举例来说,依次将多个数据列中的每个数据列按照数据类型进行分类,当第一数据列的数据类型为数字类型时,将第一数据列分入可以作为指标轴的指标组,当第一数据列的数据类型为可选择类型时,将第一数据列分入可以作为维度轴的维度组。其中,可选择类型可以是日期类型和分类下拉类型(包括:单选或复选)等枚举类型。例如,当第一数据列的数据指示的是成绩(数字类型),将第一数据列分入指标组,当第一数据列的数据指示的是性别,包括:男、女两类,那么将第一数据列分入维度组。图3是根据一示例性实施例示出的另一种图表生成方法的流程图,如图3所示,步骤102还包括:步骤1023,当第一数据列的数据类型为文本类型,且第一数据列中的数据的概率分布满足指定类型的数据分布时,将第一数据列分入维度组。步骤1024,将没有被分入指标组或维度组的第一数据列,分入丢弃数据。示例的,对于文本类型的数据列,需要判断该数据列是否具有统计意义,如果该数据列具有统计意义,那么将该数据列作为纬度轴显示在图表中,也具有实际意义,如果该数据列不具有统计意义,如果将该数据列作为纬度轴显示在图表中,对应的图表也不具有实际意义,因此应该丢弃该数据列。即当一数据列的数据类型为文本类型,且第一数据列中的数据的概率分布满足指定类型的数据分布时,将第一数据列分入维度组,其中,指定类型的数据分布可以是均匀分布。将多个数据列中没有被分入指标组或维度组的数据列分入丢弃数据。例如,目标表单中包含了全国多个省级行政区的人口数据,第一数据列的数据类型为文本类型,其中的每项数据指示的可以是34个省级行政区,具有统计意义,当第一数据列中的数据的概率分布满足均匀分布时,可以将第一数据列分入维度组。若目标表单中包含了某个学校全部学生的不同科目的成绩,第一数据列的数据类型为文本类型,其中每项数据指示的是每个学生的姓名,那么第一数据列不具有统计意义,如果将第一数据列作为纬度轴生成图表(即x轴中包括全部学生),对于用户来说,和直接查看数据库中的数据没有区别,很难直接看出数据中包含的规律和走向。因此,可以将第一数据列分入丢弃数据。可选的,步骤1023可以通过以下方式来实现:1)当第一数据列的数据类型为文本类型时,对第一数据列中的每项数据进行编号,其中,相同的数据具有相同的编号。2)将每项数据的编号作为预设算法的输入,以获取预设算法输出的所有编号的概率分布。3)判断所有编号的概率分布是否满足均匀分布。4)当所有编号的概率分布满足均匀分布时,将第一数据列分入维度组。举例来说,当第一数据列的数据类型为文本类型时,将第一数据列中的每项数据分别进行编号,相同的数据编相同的号码,从而将文本类型的数据转化为数字类型以计算第一数据列的概率分布。将每项数据的编号作为预设算法的输入,以获取所有编号对应的概率分布。其中,预设算法可以是w(全称:shapiro-wilk)检验法、k-s(俄文:kolmogorov–smirnov,中文:柯尔莫可洛夫-斯米洛夫)检验法等常用的统计分析算法。当所有编号的概率分布满足均匀分布时,确定第一数据列具有统计意义,将第一数据列分入维度组中。图4是根据一示例性实施例示出的另一种图表生成方法的流程图,如图4所示,步骤103包括:步骤1031,根据指标组和纬度组中的数据列,确定至少一个图表的指标轴和纬度轴。步骤1032,将指标轴和纬度轴对应的数据显示在各个至少一个图表中。举例来说,可以分别选择指标组和维度组中的一个或多个数据列,分别作为图表的指标轴和纬度轴,再将指标轴和纬度轴对应的数据显示在图表中。例如,指标组中数据列的数量为m,维度组中数据列的数量为n。可以将指标组和维度组中的数据列两两组合,分别作为指标轴和维度轴,可以生成m*n个图表。也可以按照指标组中数据列的个数生成图表,每个图表中包含了维度组中每个数据列对应的数据,即可以生成m个图表,m个图表中的每个图表都包括了维度组中n个数据列对应的数据。还可以根据用户的需求来生成不同个数的图表,例如可以由用户设定生成的每个图表中包含几个纬度。示例的,以目标表单包含了某项目招标的数据信息,如表1所示,其中包含了多个数据列,“预算”数据列的数据类型为数字类型,因此可以将该数据列分入指标组,“合同状态”数据列的数据类型为可选择类型(包括:有效、失效、待续约),因此可以将该数据列分入维度组,而“资质”数据列和“负责人”数据列都为文本类型,需要进一步判断这两个数据列的概率分布,当“资质”数据列对应的概率分布满足均匀分布时,可以将该数据列分入维度组,而“负责人”数据列中指示的每个参与招标的公司的负责人,没有实际的统计意义,其概率分布不满足均匀分布,因此将该数据列分入丢弃数据。在确认了指标组(包括一列)和纬度组(包括两列)之后,以指标组和维度组中的数据列两两组合,分别作为指标轴和维度轴为例,可以生成两个图表,如图5所示,其中图(a)中的指标轴显示的是“预算”数据列对应的数据,维度轴显示的是“合同状态”数据列对应的数据,图(b)中的指标轴显示的是“预算”数据列对应的数据,维度轴显示的是“资质”数据列对应的数据。表1预算(万元)合同状态资质…负责人280有效二级甲等…张明510有效一级乙等…李欣375待续约二级乙等…王涛……………420有效三级甲等…赵康综上所述,本公开首先获取目标表单中多个数据列的数据类型,再依次根据多个数据列中每个数据列的数据类型进行分组,将各个数据列分为指标组、维度组或丢弃数据,最后,将指标组中对应的数据作为指标轴对应的数据,将维度组中对应的数据作为纬度轴对应的数据,从而生成目标表单的图表。能够在不需要用户参与设计的前提下,自动生成数量精简的图表,从而提高图表生成的效率和可操作性。图6是根据一示例性实施例示出的一种图表生成装置的框图,如图6所示,该装置200包括:获取模块201,用于获取目标表单中多个数据列的数据类型。分组模块202,用于根据多个数据列的数据类型,对多个数据列进行分组,以将多个数据列分为指标组、维度组或丢弃数据。生成模块203,用于根据指标组和维度组中的数据列生成图表,作为目标表单的图表。图7是根据一示例性实施例示出的另一种图表生成装置的框图,如图7所示,分组模块202包括:第一分组子模块2021,用于当第一数据列的数据类型为数字类型时,将第一数据列分入指标组,第一数据列为多个数据列中的任一数据列。第二分组子模块2022,用于当第一数据列的数据类型为可选择类型时,将第一数据列分入维度组,可选择类型包括:日期类型和分类下拉类型。图8是根据一示例性实施例示出的另一种图表生成装置的框图,如图8所示,分组模块202还包括:第三分组子模块2023,还用于当第一数据列的数据类型为文本类型,且第一数据列中的数据的概率分布满足指定类型的数据分布时,将第一数据列分入维度组。第四分组子模块2024,用于将没有被分入指标组或维度组的第一数据列,分入丢弃数据。可选的,第三分组子模块2023可以用于实现以下步骤:1)当第一数据列的数据类型为文本类型时,对第一数据列中的每项数据进行编号,其中,相同的数据具有相同的编号。2)将每项数据的编号作为预设算法的输入,以获取预设算法输出的所有编号的概率分布。3)判断所有编号的概率分布是否满足均匀分布。4)当所有编号的概率分布满足均匀分布时,将第一数据列分入维度组。图9是根据一示例性实施例示出的另一种图表生成装置的框图,如图9所示,生成模块203包括:确定子模块2031,用于根据指标组和纬度组中的数据列,确定至少一个图表的指标轴和纬度轴。显示子模块2032,用于将指标轴和纬度轴对应的数据显示在各个至少一个图表中。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。综上所述,本公开首先获取目标表单中多个数据列的数据类型,再依次根据多个数据列中每个数据列的数据类型进行分组,将各个数据列分为指标组、维度组或丢弃数据,最后,将指标组中对应的数据作为指标轴对应的数据,将维度组中对应的数据作为纬度轴对应的数据,从而生成目标表单的图表。能够在不需要用户参与设计的前提下,自动生成数量精简的图表,从而提高图表生成的效率和可操作性。图10是根据一示例性实施例示出的一种电子设备300的框图。如图10所示,该电子设备300可以包括:处理器301,存储器302。该电子设备300还可以包括多媒体组件303,输入/输出(i/o)接口304,以及通信组件305中的一者或多者。其中,处理器301用于控制该电子设备300的整体操作,以完成上述的图表生成方法中的全部或部分步骤。存储器302用于存储各种类型的数据以支持在该电子设备300的操作,这些数据例如可以包括用于在该电子设备300上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器302可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件303可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器302或通过通信组件305发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口304为处理器301和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件305用于该电子设备300与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件305可以包括:wi-fi模块,蓝牙模块,nfc模块。在一示例性实施例中,电子设备300可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的图表生成方法。在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的图表生成方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器302,上述程序指令可由电子设备300的处理器301执行以完成上述的图表生成方法。综上所述,本公开首先获取目标表单中多个数据列的数据类型,再依次根据多个数据列中每个数据列的数据类型进行分组,将各个数据列分为指标组、维度组或丢弃数据,最后,将指标组中对应的数据作为指标轴对应的数据,将维度组中对应的数据作为纬度轴对应的数据,从而生成目标表单的图表。能够在不需要用户参与设计的前提下,自动生成数量精简的图表,从而提高图表生成的效率和可操作性。以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,本领域技术人员在考虑说明书及实践本公开后,容易想到本公开的其它实施方案,均属于本公开的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。同时本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。本公开并不局限于上面已经描述出的精确结构,本公开的范围仅由所附的权利要求来限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1