一种复杂表格的数据交互式变换及可视化嵌入方法
1.本发明属于可视化与人机交互
技术领域:
:,具体而言涉及一种复杂表格的数据交互式变换及可视化嵌入方法。
背景技术:
::2.表格是一种重要的数据管理方式,被科学、统计、金融等领域广泛使用。可视化原始表格数据辅助用户直观地理解数据并提高数据探索效率。现有表格可视化技术主要分为两类,第一类技术将一个单元格内的数据独立地映射为一个视觉元素,第二类将多个相邻单元格整合在一起,基于该数据统一构建复杂的可视化形式。上述两类表格可视化技术均在一定程度上保留了表格的结构和布局,在表格数据中嵌入可视化结果,使用户无需在原始表格数据以及可视化结果之间反复切换,从而降低了其认知负担。然而,现有关于表格可视化的研究仅仅关注简单表格,尚未考虑表头具有层级结构的复杂表格。复杂表格管理数据更为高效,被广泛地应用于统计报告和研究论文中,而现有的表格可视化技术无法支持复杂表格数据。首先,表头的层次结构使得表格内部数据之间存在层次关系,例如复杂表格数据中有些单元格表示数据之和,这些单元格与非求和数据不具有可比性。此外,一些密切相关的数据项在复杂表格中可能并不相邻,因此无法基于分散的数据项构建可视化形式并且嵌入到复杂表格中。3.如中国专利申请号为cn201310001938.0公开了一种利用数据库自动制图的集成方法,包括:步骤1、地图数据库建库准备。步骤2、加载矢量地图集,自动建库。步骤3、加载目标区域的多幅影像和多层矢量图数据要素;影像和矢量一体化处理。步骤4、叠加显示加载的影像和矢量图,绘制数据外包边界框和图幅网格,可视化交互式选择待裁剪图幅;步骤5、影像和矢量图一体化批量裁剪,批量裁剪加载的多幅影像和多个矢量图,批量生成多个图幅裁剪结果;步骤6、遥感影像与矢量地图集一体化输出。该方法不需要频繁进行数据格式转换,不需要大量重复性劳动即可实现遥感影像与矢量地图一体化自动制图。但是没有提出一种复杂表格的数据交互式变换及可视化嵌入方法。4.又如中国专利申请号为cn201911071160.4公开了一种基于大数据的数据智能分析可视化方法,包括:经数据连接模块将内嵌有访问连接器的各类结构化和各类非结构化数据,以及存在于各类关系数据库和各类大数据存储文件中的所有数据一同加载导入至其内置的spark平台;该发明是依据划分成的多个独立功能模块,灵活的选择不同产品所需的模块与组件,来分析过去、监控现在和预测未来,并连接各类不同的数据库或分布式数据库,支持对各种大数据存储平台的连接和访问,对数据进行合并、搜索、可视化和分析,给客户提供一站式存储与管理服务,帮助客户从容面对数据的迅速增长和业务系统对存储的不确定性需求风险,降低客户风险的同时,可满足业务增长和变化的需要。但是同样没有提出一种复杂表格的数据交互式变换及可视化嵌入方法。技术实现要素:5.为解决上述存在的问题,本发明提一种复杂表格的数据交互式变换及可视化嵌入方法。6.所述复杂表格的数据交互式变换及可视化嵌入方法,包括:7.步骤1、复杂表格数据可视化系统对用户上传表格数据解析为行列数据抽象模型;8.步骤2、复杂表格数据可视化系统基于行列数据抽象模型和表格变化操作符对复杂表格数据进行交互式变换;9.步骤3、复杂表格数据可视化系统基于变换后的复杂表格数据和行列数据抽象模型对用户指定的表格单元定义优先级并确定可视化范围单元;10.步骤4、复杂表格数据可视化系统将可视化范围单元转换为可视化形式,并将可视化结果嵌入到复杂表格数据中。11.进一步的,步骤1所述复杂表格数据可视化系统对用户上传表格数据解析为行列数据抽象模型包括:12.步骤101、根据用户上传的.xlsx数据格式以及.csv数据格式,复杂表格数据可视化系统遍历用户上传的具有层次结构的行列表头表格数据,根据表头的层次结构对复杂表格数据进行解析处理,当某一层表头对应的所有下层表头的名称数据相同时,系统将两层表头抽象为全连接结构,将具有这种特点的表头定义为双聚类型结构,当某一层表头对应的所有下层表头的名称数据不相同时,定义为独立层次型结构,在同一个复杂表格中,双聚类型结构和独立层次型结构同时存在;13.步骤102、复杂表格数据可视化系统根据双聚类型结构和独立层次结构,对复杂表格数据以行列表头组合形式构建行列数据抽象模型,以确定复杂表格数据中的单元格之间的逻辑结构,构建行列数据抽象模型应具有准确描述复杂表格逻辑结构的能力并能够适用于不同结构的复杂表格数据,对不同逻辑结构具有良好的表达能力;复杂表格可视化系统根据复杂表格的行列表头建模所有表格数据,根据二维表格的特点,行、列表头的组合作为单元格或单元格块的唯一标识,即一个单元格是一行和一列的交叉点,用行表头和列表头的组合来表示;一个单元格块是一个矩形范围内所有单元格的集合,通过对应的多个行表头和列表头的组合来表示所有表格数据。14.进一步的,步骤2所述复杂表格数据可视化系统基于行列数据抽象模型和表格变化操作符对复杂表格数据进行交互式变换包括:15.步骤201、复杂表格数据可视化系统识别用户对复杂表格数据的任意操作符,包括交换与转置、线性化与堆叠化、折叠与展开操作符;16.步骤202、复杂表格数据可视化系统根据用户对复杂表格数据的操作符调整复杂表格数据和行列数据抽象模型。17.进一步的,步骤3所述复杂表格数据可视化系统基于变换后的复杂表格数据和行列数据抽象模型对用户指定的表格单元定义优先级并确定可视化范围单元包括:18.步骤301、复杂表格数据可视化系统识别用户在调整后的复杂表格数据中指定的区域范围,定义为表格单元,表格单元包括两种类型,分别为用户选定的单个单元格以及用户选定的多个连续的单元格;19.步骤302、复杂表格数据可视化系统基于调整后的行列数据抽象模型定义不同的表格单元描述符的优先级的计算方式,包括基于描述符名称的优先级计算方法和基于拓扑结构的优先级计算方法;20.步骤303、复杂表格数据可视化系统识别用户选择的表格单元,并根据用户选择的优先级计算方式对描述符的优先级进行计算,分别计算行优先级和列优先级;21.步骤304、当复杂表格数据可视化系统识别用户选择的表格单元、描述符的优先级决定方式时,支持用户分别选择推荐的行、列优先级的范围,最终确定可视化单元。22.进一步的,步骤4所述复杂表格数据可视化系统将可视化范围单元转换为可视化形式,并将可视化结果嵌入到复杂表格数据中包括:23.步骤401、复杂表格数据可视化系统为可视化范围单元预设了基于vega-lite描述型语法的可视化模版,包括单元可视化型、数据概览型、趋势追踪型以及相关性探索型的可视化模版;24.步骤402、复杂表格数据可视化系统解析可视化范围单元,根据用户选择的可视化模版指定视觉映射方式并嵌入复杂表格数据中。25.与现有技术相比,本发明具有益效果如下:26.1、本发明所述复杂表格的数据交互式变换及可视化嵌入方法中的复杂表格可视化系统通过解析复杂表格数据的行和列表头构建抽象模型,并以抽象模型为基础,用户交互地对复杂表格数据进行变换操作,同时用户在复杂表格数据中选择一个表格单元,复杂表格可视化系统以不同的优先级推荐其他与用户选择的一个表格单元的相关单元,根据需求选择优先级范围并确定一系列目标表格单元,然后,用户选择一个可视化模版并调整配置参数,将其应用到目标表格单元,不断循环此过程,最后用户完成对于复杂表格数据的分析探索过程。27.2、本发明所述复杂表格的数据交互式变换及可视化嵌入方法直接将具有层级结构的复杂表格作为输入数据,自动识别各类任意层次的表格并建立抽象数据模型,作为数据变换和可视化推荐的基础。28.3、本发明所述复杂表格的数据交互式变换及可视化嵌入方法支持丰富的数据变换操作,通过直接交互改变数据的相对位置及相关数据区域的长宽比例,方便用户在原始表格中直接嵌入丰富的、高质量的可视化形式。29.4、本发明所述复杂表格的数据交互式变换及可视化嵌入方法基于抽象模型提供灵活的表格单元声明及基于表头名称和拓扑结构的推荐机制,支持用户以较高的自由度选择可视化的应用范围,使用户无需重复地选择数据区域并指定可视化参数,提高了探究效率且降低了操作负担。30.5、本发明所述复杂表格的数据交互式变换及可视化嵌入方法支持以单个单元格或多个相邻单元格组成的矩形区域为基本单元构建丰富的可视化形式,支持用户对可视化结果进行交互式探索和导出,辅助用户对表格数据的理解。31.6、本发明所述复杂表格的数据交互式变换及可视化嵌入方法通过建立行列数据抽象模型分离了复杂表格的逻辑结构和表现形式,具有两方面的优势:用户通过直接地、交互式地操作抽象模型改变复杂表格的表现形式;用户对表格的变换操作被记录到抽象模型中,支持抽象模型的重复利用。附图说明32.图1为本发明所述复杂表格的数据交互式变换及可视化嵌入方法的流程图;33.图2为本发明所述复杂表格的数据交互式变换及可视化嵌入方法中,用户上传复杂表格的数据及复杂表格数据可视化系统解析表格的示意图;34.图3为本发明所述复杂表格的数据交互式变换及可视化嵌入方法中,用户对原始复杂表格的数据进行交换、转置、线性化操作的三种数据变换操作后的表格数据及复杂表格可视化系统解析表格的示意图;35.图4为本发明所述复杂表格的数据交互式变换及可视化嵌入方法中,对复杂表格数据进行优先级描述的两种优先级计算方法描述示意图;36.图5为本发明具体实施方式中复杂表格数据可视化系统基于用户选择表格单元确定可视化范围单元的示意图;37.图6为本发明具体实施方式中复杂表格可视化系统对复杂表格数据中用户指定的单元进行解析的分析图。具体实施方式38.下面结合说明书附图和具体实施方式对本发明进行进一步的详细描述。39.如图1所示,所述的复杂表格的数据交互式变换及可视化嵌入方法的流程图,具体步骤包括:40.步骤1、复杂表格数据可视化系统对用户上传表格数据解析为行列数据抽象模型:41.步骤101、根据用户上传的.xlsx数据格式以及.csv数据格式,复杂表格数据可视化系统遍历用户上传的具有层次结构的行列表头表格数据,根据表头的层次结构对复杂表格数据进行解析处理,当某一层表头对应的所有下层表头的名称数据相同时,系统将两层表头抽象为全连接结构,将具有这种特点的表头定义为双聚类型结构,当某一层表头对应的所有下层表头的名称数据不相同时,定义为独立层次型结构,在同一个复杂表格中,双聚类型结构和独立层次型结构同时存在;42.步骤102、复杂表格数据可视化系统根据双聚类型结构和独立层次结构,对复杂表格数据以行列表头组合形式构建行列数据抽象模型,以确定复杂表格数据中的单元格之间的逻辑结构,构建行列数据抽象模型应具有准确描述复杂表格逻辑结构的能力并能够适用于不同结构的复杂表格数据,对不同逻辑结构具有良好的表达能力;复杂表格可视化系统根据复杂表格的行列表头建模所有表格数据,根据二维表格的特点,行、列表头的组合作为单元格或单元格块的唯一标识,即一个单元格是一行和一列的交叉点,用行表头和列表头的组合来表示;一个单元格块是一个矩形范围内所有单元格的集合,通过对应的多个行表头和列表头的组合来表示所有表格数据,如图2所示;43.步骤2、复杂表格数据可视化系统基于行列数据抽象模型和表格变化操作符对复杂表格数据进行交互式变换:44.步骤201、复杂表格数据可视化系统识别用户对复杂表格数据的任意操作符,包括交换与转置、线性化与堆叠化、折叠与展开操作符:45.用户选择任意操作符对于复杂表格数据进行变换,其中的六种操作符按照功能分为三组,第一组包括交换操作和转置操作,支持改变不同层次的表头和对应数据的相对位置;第二组包括线性化操作和堆叠化操作,不改变原始表格中现有表头的相对位置,而是增加或删除特定表头并更新相应数据项;第三组包含折叠操作和展开操作,支持表头内容和表格数据之间的转换;46.图3给出了针对原始表格数据进行交换、转置、线性化、折叠操作的四种数据变换操作,分别是图3-(a)表示原始复杂表格数据,图3-(b)~图3-(e)分别表示交换、转置、线性化、折叠操作,图3中没有展示堆叠化和展开操作,它们分别与线性化3-(d)和折叠3-(e)互为逆操作;47.下面对六种操作符按照功能分为三组进行详细说明:48.(1)交换与转置:49.交换与转置两种变换操作只支持具有双聚类型结构表头的表格数据,否则,交换与转置这两种该变换在复杂表格数据中产生许多无意义的空值,降低表格数据的质量,交换操作支持用户能够改变行列表头内部两个相邻层的顺序,转置操作支持行和列表头之间的互换,用户可以根据不同分析需求,选择合适的表头层次进行交换,从而改变相关数据的位置,使具有可比性的数据在空间位置上相邻,支持在复杂表格数据中嵌入可视化结果;50.(2)线性化与堆叠化:51.基于所构建的抽象模型,线性化以及堆叠化操作根据表头结构操作表格中的数据项,线性化操作为某层表头的所有下层表头对应的数据项计算统计值,包括:总和、平均值、最大值和最小值,统计值有助于用户理解并分析数据项集合的总体趋势,而这些计算得出的数据值与其它普通数据不存在可比性,阻碍了用户的有效分析。例如,总和往往比普通数据大得多,如果将二者不加区分地放在一起进行视觉编码,则会降低可视化的效果,在此,设计了与线性化互逆的堆叠化操作,允许用户从复杂表格中舍弃这些衍生的表头和数据值;52.(3)折叠与展开:53.针对复杂表格数据的折叠与展开操作支持表头以及表格内部数据的相互转换,折叠操作将原始复杂表格中的一行转换为多行、将多列折叠为一列并复制其余的列,使得具有层次结构的表格不断扁平化,允许用户观察一个数据项的所有属性值,如图3中的图3-(e-1)和图3-(e-2)所示。反之,展开操作在扁平数据表格的基础上建立层次结构,选择两列数据并根据特征将其划分为类别型或数值型,以行为单位根据类别型数据对数值型数据进行分组,依此将类别型数据变为新一层表头,展开操作支持区分一列数据中的不同属性值,并在一个具有更好长宽比的矩形空间中重新排列这些属性及对应数据,更适合创建各种可视化形式;54.步骤202、复杂表格数据可视化系统根据用户对复杂表格数据的操作符调整复杂表格数据和行列数据抽象模型;55.步骤3、复杂表格数据可视化系统基于变换后的复杂表格数据和行列数据抽象模型对用户指定的表格单元定义优先级并确定可视化范围单元;56.步骤301、复杂表格数据可视化系统识别用户在调整后的复杂表格数据中指定的区域范围,定义为表格单元,表格单元包括两种类型,分别为用户选定的单个单元格以及用户选定的多个连续的单元格;57.步骤302、复杂表格数据可视化系统基于调整后的行列数据抽象模型定义不同的表格单元描述符的优先级的计算方式,包括基于描述符名称的优先级计算方法和基于拓扑结构的优先级计算方法;58.图4-(a)和图4-(b)给出了表格单元的描述符的两种优先级计算方法,通过使用不同的数字来表示表格单元优先级的高低,其中数字越小表示优先级越高,下面介绍描述符优先级的两种具体计算方式:59.(1)基于描述符名称的优先级计算方法,将用户选择的表格单元的行/列描述符作为参考依据,基于描述符名称的优先级计算方法关注描述符的名称,将所有描述符分为以下三类:用户选择的参照描述符、与参照描述符同名的描述符,以及其它描述符。其中,参照描述符具有最高的优先级0,同名的描述符的优先级为1,其它描述符的优先级为2。60.(2)基于拓扑结构的优先级计算方法,将用户选择的表格单元的行/列描述符作为参考依据,基于拓扑结构的优先级计算方法关注描述符在行列抽象数据模型中的拓扑结构信息,寻所有描述符与用户选择的参照描述符的最近公共祖先描述符的层级,使用参照描述符的层级数字与最近公共祖先的层级数字相减,得到所求的描述符的优先级,61.分别使用上述的两种具体计算方式对表格单元的行、列描述符的优先级进行计算后,即得到所有表格单元的行、列优先级,图4中不同颜对应的就是不同优先级;62.步骤303、复杂表格数据可视化系统识别用户选择的表格单元,并根据用户选择的优先级计算方式对描述符的优先级进行计算,分别计算行优先级和列优先级;63.步骤304、当复杂表格数据可视化系统识别用户选择的表格单元、描述符的优先级决定方式时,支持用户分别选择推荐的行、列优先级的范围,最终确定可视化单元,在图4中优先级定义颜的基础上,图5给出了根据用户指定的优先级范围进行推荐的表格单元,图5-(a)给出了在用户选择虚框内数据时,以及用户选择了优先级范围:行取[0,1],列取[0,1,2]的情况下对应了不同颜,同时可视化系统推荐了能够可视化的单元范围,同样图5-(b)给出了行取[0,1,2],列取[0,1]的情况;[0064]步骤4、复杂表格数据可视化系统将可视化范围单元转换为可视化形式,并将可视化结果嵌入到复杂表格数据中:[0065]步骤401、复杂表格数据可视化系统为可视化范围单元预设了基于vega-lite描述型语法的可视化模版,包括单元可视化型、数据概览型、趋势追踪型以及相关性探索型的可视化模版,针对步骤401可视化模版需要解释说明的是单元可视化型,则只适用于由一个单元格组成的表格单元,数据概览型、趋势追踪型以及相关性探索型的可视化模版其他三种类型则适用于包含多个单元格的表格单元:[0066](1)单元可视化型将每个单元格的值可视化,在不改变原始表格结构的情况下显示可比单元之间的相对大小,用户可以使用不同的视觉通道,(如颜、大小和位置等)对每个单元格的值进行编码,便于感知表格数据的相对大小。例如,选择颜作为视觉编码,用户可以构造类似热图的可视化结果来理解数据;[0067](2)数据概览型用于显示表格单元中所有单元格的值,根据是否聚合表格单元中的值,将数据概览型可视化分为两类:非聚合型与聚合型,非聚合型的技术将表格单元中的每个值编码成一个可视元素,并根据单元格的值计算位置,聚合型则根据行/列中的多个值计算出单个统计值,再将其编码到可视元素中;[0068](3)趋势追踪型支持用户了解当列或行变化时值的变化情况,趋势追踪型对一行或一列的值即其对应的表头序列进行编码,以支持用户了解数据变化的趋势,对应的可视化形式主要包括水平线图和折线图;[0069](4)相关性探索型允许用户探索一个表格单元中多行或多列之间的相关性,对应的可视化形式主要包括散点图和热图。,与单元可视化型、数据概览型、趋势追踪上述其它可视化形式不同的是,这类可视化形式不是将类别型数据绑定到坐标轴上,而是将数值型数据绑定到坐标轴上,具体而言,用户可以将不同行或列的数据分别编码到不同的坐标轴上,以验证其间是否存在相关性;[0070]步骤402、复杂表格数据可视化系统解析可视化范围单元,根据用户选择的可视化模版指定视觉映射方式并嵌入复杂表格数据中,图6给出了对表格单元的分解,针对表格单元的分解结果包含三部分:x-类别型数据、y-类别型数据和数值型数据。[0071]需要说明的是,用户选择复杂表格数据可视化系统预设的可视化模版之后,需要基于选定的可视化模版指定数据的视觉映射方式,为了增强用户构建可视化结果的直观性,复杂表格数据可视化系统提供了视觉映射配置选项,大多数可视化形式都包含一个或多个沿水平或垂直方向排列的轴,为了保证视觉元素与原始数据之间的位置对应关系,复杂表格数据可视化系统设计的映射规则,仅仅允许用户将x-类别型数据绑定到水平轴或将y-类别型数据绑定到垂直轴,此外,复杂表格数据可视化系统设计了视觉映射的可行参数,实现了可视化参数设置的重用。对于复杂表格的可视化,用户需要根据步骤1中提到的抽象模型和步骤3中提到的推荐结果为所有目标表格单元应用同一可视化参数配置,每个表格单元根据步骤3进行解构后得到的结果都是不同的,可视化参数配置也应该相应地进行调整,复杂表格数据可视化系统的可视化映射机制将可视化配置与其对应的底层数据解耦,使用计算偏移量的方式决定不同表格单元的可视化参数配置。[0072]为了评估评估本发明对于分析具有层次结构的复杂表格数据的有效性,选择了与本技术功能类似的现有可视化软件工具tableau作为参考基准,以支持表格数据的变换和可视化形式的构建。[0073]在实验中,使用了人工生成的表格数据,以更好地控制实验过程的进行,为了帮助用户更容易地理解数据和进行的分析任务,生成了一个以时间-城市工业生产gdp为背景的实验数据集,其中,本表格数据的行表头为“城市”和“工业类别”,而列表头标题为“年份”和“季度”,并以此为框架生成了多个数据集,这些数据集具有相同的大小和结构,但数据具体的值不同。[0074]本技术选择了两个任务进行比较研究,包括任务1获取数据概览和任务2数据细节探索,其中,任务1要求用户了解每个城市的gdp随时间的变化趋势,用户需要分析得出gdp变化趋势与其他城市不同的城市,而任务2需要用户分析不同城市的gdp总量和各行业gdp值,用户首先需要确定城市gdp总量达到最大值的年份,然后比较该年份中各行业gdp占比,最后分析得出占比最大的行业。[0075]通过招募经常使用表格来组织和分析数据的人员利用本技术和可视化软件工具tableau完成上述两项任务,并分别记录其结果和完成时间,在实验最后通过分析了用户完成每个任务的时间和准确性,根据t检验的结果,使用本技术进行两个任务的过程都明显快于可视化软件工具tableau,至于准确性,任务1使用可视化软件工具tableau完成的准确率为78.57%,使用本技术完成的准确率为92.86%,任务2使用可视化软件工具tableau完成的准确率为64.29%,使用本技术完成的准确率为85.71%。[0076]以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域:
:的技术人员在本发明公开的范围内,能够轻易想到的变化或替换,都应涵盖在本发明权利要求的保护范围内。当前第1页12当前第1页12
