1.本发明涉及数据可视化技术领域,尤其涉及一种用于矩阵的可视化装置、方法及 应用。
背景技术:2.随着数字经济的发展,基于互联网,以页面表单、共享表格等形式完成几十个、 几百个、几千个、甚至数以亿计的事例(case)调查已经可行并普及。
3.如表1所示,一行就是一个事例;一列就是对调查问题的回答(是/否)。
4.表1:
5.1是是是是是是是是是是是是是是是2是是是是是是是是是否是是是是是3是是是是是是是是是是是是是是是4是是是是是是是是是否是是否是否5是是是是是是是是是是是是是是是6是是是是是是是是是是是是否是是7是是是是是是是是是是是是否是是8是是是是是是是是是是是是否是是9否是是是是是是是是是是是否是是10是是是是否是是否是是是是是是是11是是是是是是是是是是是是是是是12是是是是是是是是是是是是是是是13是是是是否是是是是否是是是是是14是是是否是是是是是是是是否是否15是是是是是是是是是否是是是是否16是是是是是是是否是否是是是是否17是是是是是是是是是是是是否是否18是是是是是是是是是是是是是是否19是是是是是是是是是否是是是是是20是是是是否是是是是是是是否是是21是否是是是是是是是否是是是是否22是是是是是是是是是是是是是是是23是是是是是是是否是否是是是是是24是是是是否是是否是是是是否是是25是是是是是是是是是是是是否是是26是是是是是否是是是是是是是是否27是是是是是是是是是是是是是是是
28是是是是是否是是是是是是是是否29是是是是否是是是是否是是否是否30是是是是是是是是是是是是是是是31是是是是是是是是是是是是是是是32否是是是否是是是是否是是否是否
6.这样的调查结果形成一个01矩阵:0表示“否”;1表示“是”。
7.调查者希望能够可视化事例的整体分布。而对于一个m行n列的矩阵表示的调 查结果而言,当n大于7时,只能使用多屏展示而无法展示在一屏上,也就无法方 便有效地观察数据的分布、观察数据间的关系。
8.授权公告号为cn 105404643 b,名称为针对具有多维属性的层次结构数据的可 视化方法和应用。mct方法针对层次结构中多维属性数据,选择一组层次结构关系 互相关联的四维属性数据作为待显示的数据集,将平行坐标结合树图布局矩形填充方 法,利用基数样条曲线进行属性连接,将直线优化为中间收缩的曲线,从而利用有限 的可视化空间同时展示数据层次结构和多维属性信息。将mct应用于农残数据,针 对具有层次、多维、时空特征的农药残留侦测复杂数据,用树图来表示农产品分类、 农药分类和地域的层次结构,用矩形节点中的多维坐标表示农产品、农药、残留量、 限量标准值等多维属性,取得良好的可视化分析效果。
9.授权公告号为cn 108073695 b,名称为一种降维空间视觉感知增强的高维时变 数据可视化方法。读取高维时变数据,使用多维标度算法得到高维时变数据的二维空 间坐标,对高维时变数据在二维空间的坐标进行求解得到目标正交矩阵,利用目标正 交矩阵将高维时变数据在二维空间的投影偏移最小化,得到高维时变数据在当前时刻 的投影,能够明显提升高维时变数据可视化及分析效率。
10.结合上述两篇专利文献和现有的技术方案,发明人分析发现在现有技术方案中存 在如下技术问题。
11.在二维平面上可视化m行n列的01矩阵。在01矩阵中,0和1本质上是定类 数据(nominal),只起到标签作用,没有数值大小。所以通过距离等基于大小的计 算来揭示数据间关系不具有可行性。以往只能通过位图方式可视化:把行号和列号映 射到平面坐标系的两个坐标轴上,用一种视觉属性(如颜色)的不同取值展示数据, 如使用白色显示0;黑色显示1。但是,这种位图的方法很难观察到数据的分布特征, 尤其对于高维01矩阵,很难在一屏上观察数据的分布特征。
12.现有技术问题及思考:
13.如何解决矩阵可视化效果较差的技术问题。
技术实现要素:14.本发明所要解决的技术问题是提供一种用于矩阵的可视化装置、方法及应用,解 决矩阵可视化效果较差的技术问题。
15.为解决上述技术问题,本发明所采取的技术方案是:一种用于矩阵的可视化装置 包括转换模块,转换模块为程序模块,用于获得矩阵,所述矩阵为01矩阵,矩阵由 行向量组成,将矩阵通过递归二分法把行向量分类、映射到二维平面上的相应区域并 获得散点图。
16.进一步的技术方案在于:转换模块,还用于矩阵为m行n列的矩阵,矩阵的行 向量为n维行向量,基于递归二分法把n维行向量映射到二维平面上的点(x,y),其 中,x为横坐标,y为纵坐标;通过递归二分法把行向量分类获得m个点(x,y),把每 一个点显示在二维平面上。
17.进一步的技术方案在于:转换模块,还用于二维平面包括横轴和纵轴,二维平面 的点(x,y),其中,x为横轴横坐标,0≤x<n,y为纵轴纵坐标,0≤y<n;行向量分 类、映射的步骤包括获得行向量中奇数位数据并形成奇数位向量,获得行向量中偶数 位数据并形成偶数位向量,行向量的维数为n作为横轴横坐标和纵轴纵坐标的最大 刻度,基于递归二分法获得奇数位向量在0~n的横轴上点的x值,基于递归二分法 获得偶数位向量在0~n的纵轴上点的y值。
18.进一步的技术方案在于:转换模块,还用于基于递归二分法获得奇数位向量在横 轴上点的x值的步骤包括获得奇数位向量的第一位数据,根据奇数位向量的第一位数 据将x划分在横轴0~n区域中线的一侧区域即横轴第一二分区域;获得奇数位向量 的第二位数据,根据奇数位向量的第二位数据将x划分在横轴第一二分区域中线的一 侧区域即横轴第二二分区域;直至获得奇数位向量的最后一位数据,根据奇数位向量 的最后一位数据将x划分在横轴前一二分区域中线的一侧区域即获得的横轴分类区 域,x在横轴分类区域中随机取值。
19.进一步的技术方案在于:转换模块,还用于基于递归二分法获得偶数位向量在纵 轴上点的y值的步骤包括获得偶数位向量的第一位数据,根据偶数位向量的第一位数 据将y划分在纵轴0~n区域中线的一侧区域即纵轴第一二分区域;获得偶数位向量 的第二位数据,根据偶数位向量的第二位数据将y划分在纵轴第一二分区域中线的一 侧区域即纵轴第二二分区域;直至获得偶数位向量的最后一位数据,根据偶数位向量 的最后一位数据将y划分在纵轴前一二分区域中线的一侧区域即获得的纵轴分类区 域,y在纵轴分类区域中随机取值。
20.一种用于矩阵的可视化方法包括转换步骤,获得矩阵,所述矩阵为01矩阵,矩 阵由行向量组成,将矩阵通过递归二分法把行向量分类、映射到二维平面上的相应区 域并获得散点图。
21.进一步的技术方案在于:在转换步骤中,二维平面包括横轴和纵轴,二维平面的 点(x,y),其中,x为横轴横坐标,0≤x<n,y为纵轴纵坐标,0≤y<n;行向量分类、 映射的步骤包括获得行向量中奇数位数据并形成奇数位向量,获得行向量中偶数位数 据并形成偶数位向量,行向量的维数为n作为横轴横坐标和纵轴纵坐标的最大刻度, 基于递归二分法获得奇数位向量在0~n的横轴上点的x值,基于递归二分法获得偶 数位向量在0~n的纵轴上点的y值;基于递归二分法获得奇数位向量在横轴上点的 x值的步骤包括获得奇数位向量的第一位数据,根据奇数位向量的第一位数据将x划 分在横轴0~n区域中线的一侧区域即横轴第一二分区域;获得奇数位向量的第二位 数据,根据奇数位向量的第二位数据将x划分在横轴第一二分区域中线的一侧区域即 横轴第二二分区域;直至获得奇数位向量的最后一位数据,根据奇数位向量的最后一 位数据将x划分在横轴前一二分区域中线的一侧区域即获得的横轴分类区域,x在横 轴分类区域中随机取值;基于递归二分法获得偶数位向量在纵轴上点的y值的步骤包 括获得偶数位向量的第一位数据,根据偶数位向量的第一
位数据将y划分在纵轴0~ n区域中线的一侧区域即纵轴第一二分区域;获得偶数位向量的第二位数据,根据偶 数位向量的第二位数据将y划分在纵轴第一二分区域中线的一侧区域即纵轴第二二 分区域;直至获得偶数位向量的最后一位数据,根据偶数位向量的最后一位数据将y 划分在纵轴前一二分区域中线的一侧区域即获得的纵轴分类区域,y在纵轴分类区域 中随机取值。
22.一种用于矩阵的可视化装置包括存储器、处理器以及存储在存储器中并可在处理 器上运行的计算机程序,所述处理器执行计算机程序时实现上述相应的步骤。
23.一种用于矩阵的可视化装置包括计算机可读存储介质,所述计算机可读存储介质 存储有计算机程序,所述计算机程序被处理器执行时实现上述相应的步骤。
24.一种用于矩阵的可视化应用,递归二分法在01矩阵可视化的用途。
25.采用上述技术方案所产生的有益效果在于:
26.一种用于矩阵的可视化装置包括转换模块,转换模块为程序模块,用于获得矩阵, 所述矩阵为01矩阵,矩阵由行向量组成,将矩阵通过递归二分法把行向量分类、映 射到二维平面上的相应区域并获得散点图。该技术方案,其通过转换模块等,实现矩 阵可视化效果好。
27.一种用于矩阵的可视化方法包括转换步骤,获得矩阵,所述矩阵为01矩阵,矩 阵由行向量组成,将矩阵通过递归二分法把行向量分类、映射到二维平面上的相应区 域并获得散点图。该技术方案,其通过转换步骤等,实现矩阵可视化效果好。
28.一种用于矩阵的可视化应用,递归二分法在01矩阵可视化的用途,实现矩阵可 视化效果好。
29.详见具体实施方式部分描述。
附图说明
30.图1是本发明实施例1的原理框图;
31.图2是本发明第一屏幕截图;
32.图3是本发明第二屏幕截图;
33.图4是本发明第三屏幕截图;
34.图5是本发明第四屏幕截图;
35.图6是本发明第五屏幕截图;
36.图7是本发明第六屏幕截图;
37.图8是本发明第七屏幕截图;
38.图9是本发明第八屏幕截图;
39.图10是本发明第九屏幕截图;
40.图11是本发明第十屏幕截图;
41.图12是本发明的散点图。
具体实施方式
42.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。 以下
对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本技术及其 应用或使用的任何限制。基于本技术中的实施例,本领域普通技术人员在没有做出创 造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
43.在下面的描述中阐述了很多具体细节以便于充分理解本技术,但是本技术还可以 采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内 涵的情况下做类似推广,因此本技术不受下面公开的具体实施例的限制。
44.实施例1:
45.如图1所示,本发明公开了一种用于矩阵的可视化装置包括转换模块,转换模块 为程序模块。
46.转换模块,用于获得矩阵,所述矩阵为01矩阵,矩阵由行向量组成,将矩阵通 过递归二分法把行向量分类、映射到二维平面上的相应区域并获得散点图;
47.矩阵为m行n列的矩阵,矩阵的行向量为n维行向量,二维平面包括横轴和纵 轴,二维平面的点(x,y),其中,x为横轴横坐标,0≤x<n,y为纵轴纵坐标,0≤y <n;
48.行向量分类、映射的步骤包括获得行向量中奇数位数据并形成奇数位向量,获得 行向量中偶数位数据并形成偶数位向量,行向量的维数为n作为横轴横坐标和纵轴 纵坐标的最大刻度,基于递归二分法获得奇数位向量在0~n的横轴上点的x值,基 于递归二分法获得偶数位向量在0~n的纵轴上点的y值;
49.基于递归二分法获得奇数位向量在横轴上点的x值的步骤包括获得奇数位向量 的第一位数据,根据奇数位向量的第一位数据将x划分在横轴0~n区域中线的一侧 区域即横轴第一二分区域,当第一位数据为1时,将x划分在横轴0~n区域中线的 右侧区域,当第一位数据为0时,将x划分在横轴0~n区域中线的左侧区域;获得 奇数位向量的第二位数据,根据奇数位向量的第二位数据将x划分在横轴第一二分区 域中线的一侧区域即横轴第二二分区域,当第二位数据为1时,将x划分在横轴第一 二分区域中线的右侧区域,当第二位数据为0时,将x划分在横轴第一二分区域中线 的左侧区域;直至获得奇数位向量的最后一位数据,根据奇数位向量的最后一位数据 将x划分在横轴前一二分区域中线的一侧区域即获得的横轴分类区域,x在横轴分类 区域中随机取值,当最后一位数据为1时,将x划分在横轴前一二分区域中线的右侧 区域,当最后一位数据为0时,将x划分在横轴前一二分区域中线的左侧区域;
50.基于递归二分法获得偶数位向量在纵轴上点的y值的步骤包括获得偶数位向量 的第一位数据,根据偶数位向量的第一位数据将y划分在纵轴0~n区域中线的一侧 区域即纵轴第一二分区域,当第一位数据为1时,将y划分在纵轴0~n区域中线的 上侧区域,当第一位数据为0时,将y划分在纵轴0~n区域中线的下侧区域;获得 偶数位向量的第二位数据,根据偶数位向量的第二位数据将y划分在纵轴第一二分区 域中线的一侧区域即纵轴第二二分区域,当第二位数据为1时,将y划分在纵轴第一 二分区域中线的上侧区域,当第二位数据为0时,将y划分在纵轴第一二分区域中线 的下侧区域;直至获得偶数位向量的最后一位数据,根据偶数位向量的最后一位数据 将y划分在纵轴前一二分区域中线的一侧区域即获得的纵轴分类区域,y在纵轴分类 区域中随机取值,当最后一位数据为1时,将y划分在纵轴前一二分区域中线的上侧 区域,当最后一位数据为0时,将y划分在纵轴前一二分区域中线的下侧区域;
51.通过递归二分法把行向量分类获得m个点(x,y),把每一个点显示在二维平面上。
52.实施例2:
53.本发明公开了一种用于矩阵的可视化方法包括转换步骤,具体如下:
54.获得矩阵,所述矩阵为01矩阵,矩阵由行向量组成,将矩阵通过递归二分法把 行向量分类、映射到二维平面上的相应区域并获得散点图。
55.在转换步骤中,矩阵为m行n列的矩阵,矩阵的行向量为n维行向量,二维平 面包括横轴和纵轴,二维平面的点(x,y),其中,x为横轴横坐标,0≤x<n,y为纵 轴纵坐标,0≤y<n。
56.在转换步骤中,行向量分类、映射的步骤包括获得行向量中奇数位数据并形成奇 数位向量,获得行向量中偶数位数据并形成偶数位向量,行向量的维数为n作为横 轴横坐标和纵轴纵坐标的最大刻度,基于递归二分法获得奇数位向量在0~n的横轴 上点的x值,基于递归二分法获得偶数位向量在0~n的纵轴上点的y值。
57.基于递归二分法获得奇数位向量在横轴上点的x值的步骤包括获得奇数位向量 的第一位数据,根据奇数位向量的第一位数据将x划分在横轴0~n区域中线的一侧 区域即横轴第一二分区域,当第一位数据为1时,将x划分在横轴0~n区域中线的 右侧区域,当第一位数据为0时,将x划分在横轴0~n区域中线的左侧区域;获得 奇数位向量的第二位数据,根据奇数位向量的第二位数据将x划分在横轴第一二分区 域中线的一侧区域即横轴第二二分区域,当第二位数据为1时,将x划分在横轴第一 二分区域中线的右侧区域,当第二位数据为0时,将x划分在横轴第一二分区域中线 的左侧区域;直至获得奇数位向量的最后一位数据,根据奇数位向量的最后一位数据 将x划分在横轴前一二分区域中线的一侧区域即获得的横轴分类区域,x在横轴分类 区域中随机取值,当最后一位数据为1时,将x划分在横轴前一二分区域中线的右侧 区域,当最后一位数据为0时,将x划分在横轴前一二分区域中线的左侧区域。
58.基于递归二分法获得偶数位向量在纵轴上点的y值的步骤包括获得偶数位向量 的第一位数据,根据偶数位向量的第一位数据将y划分在纵轴0~n区域中线的一侧 区域即纵轴第一二分区域,当第一位数据为1时,将y划分在纵轴0~n区域中线的 上侧区域,当第一位数据为0时,将y划分在纵轴0~n区域中线的下侧区域;获得 偶数位向量的第二位数据,根据偶数位向量的第二位数据将y划分在纵轴第一二分区 域中线的一侧区域即纵轴第二二分区域,当第二位数据为1时,将y划分在纵轴第一 二分区域中线的上侧区域,当第二位数据为0时,将y划分在纵轴第一二分区域中线 的下侧区域;直至获得偶数位向量的最后一位数据,根据偶数位向量的最后一位数据 将y划分在纵轴前一二分区域中线的一侧区域即获得的纵轴分类区域,y在纵轴分类 区域中随机取值,当最后一位数据为1时,将y划分在纵轴前一二分区域中线的上侧 区域,当最后一位数据为0时,将y划分在纵轴前一二分区域中线的下侧区域。
59.在转换步骤中,通过递归二分法把行向量分类获得m个点(x,y),把每一个点显 示在二维平面上。
60.实施例3:
61.本发明公开了一种用于矩阵的可视化装置包括存储器、处理器以及存储在存储器 中并可在处理器上运行的计算机程序,所述处理器执行计算机程序时实现实施例2的 步
骤。
62.实施例4:
63.本发明公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机 程序,所述计算机程序被处理器执行时实现实施例2中的步骤。
64.相对于上述实施例,根据奇数位向量的第一位数据将x划分在横轴0~n区域中 线的一侧区域即横轴第一二分区域的步骤中,还可以自定义0在右侧区域,1在左侧 区域。
65.相对于上述实施例,根据偶数位向量的第一位数据将y划分在纵轴0~n区域中 线的一侧区域即纵轴第一二分区域的步骤中,还可以自定义0在上侧区域,1在下侧 区域。
66.本技术的构思:
67.在空间数据研究中,对经度和纬度表示的地理位置可通过一种geohash编码变 换成一个二进制表示的整数。地球纬度区间[-90,90],经度区间[-180,180]。这种编码 把首先把空间均匀划分为四块,即按照“纬度0,经度0”切分成四块。按之字形次 序,左下角编码00,左上角编码01,右下脚编码10,右上角编码11。然后递归地将 各个块分解成更小的子块,每一个子块继续按之字形编码,结果形成一个仅由数字0 和1构成的二进制整数。
[0068]
从经纬度到这个二进制整数的映射是可逆的。一个01矩阵的行向量可以看作是 一个二进制整数,通过geohash编码逆变换,就可以把行向量映射到二维平面上。 行向量的维数作为平面横坐标和纵坐标的最大刻度。
[0069]
本技术的技术贡献:
[0070]
针对高维01矩阵难以从整体上观察数据间关系问题,发明公开了一种可视化方 01矩阵的递归二分法。对于一个m行,n列的01矩阵,当n小于等于7时通常采 用柱状图可视化展示0或1的频数;而当n大于7时,由于受屏幕二维空间限制, 只能使用多屏,无法从整体上观察。由于m行n列的01矩阵中的行向量是一个以分 类变量标签0或者1为元素的n维向量,本发明使用递归二分法把n维行向量映射 到平面的两个坐标轴x、y上,从而能够通过行向量的平面位置观察数据间的关系。 递归二分法把行向量映射为二维平面坐标系中的一个点(x,y),其中0≤x<n,0≤y <n。
[0071]
算法说明如下:
[0072]
[0073][0074]
每个行向量的x值和y值就是该行向量在平面中的一个点(x,y)。最后把对应的 x值y值使用散点图显示在平面坐标系中即可。
[0075]
无论m或n多大,本技术都能够实现使用一屏展示,解决了使用一屏展示高维 01矩阵分布问题。
[0076]
例如,设n=9,“递归二分法”把3行9列的01矩阵可视化:
[0077][0078]
这个01矩阵有三个行向量:(1,1,1,1,1,1,1,0,1)、(1,1,1,1,1,1,1,1,1)和 (1,1,1,1,1,1,1,1,0)。第一个行向量的奇数位是11111;偶数位是1110。
[0079]
如图2所示,首先把奇数位1111映射到x轴某个位置p上。因为第一个奇数为是1, 所以p在垂直线x=(0+9)
÷
2=4.5右部区域。
[0080]
如图3所示,继续二分右侧区域,因为第二个奇数位是1,所以p在垂直线x=(4.5+9)
ꢀ÷
2=6.75的右侧。
[0081]
如图4所示,继续二分右侧区域,因为第三个奇数位是1,所以p在垂直线x=(6.75+9)
ꢀ÷
2=7.875的右侧。
[0082]
如图5所示,继续二分右侧区域,因为第四个奇数位是1,所以p在垂直线x=(7.875+9)
ꢀ÷
2=8.4375的右侧。
[0083]
如图6所示,继续二分右侧区域,因为第五个奇数位是1,所以p在垂直线x =(8.4375+9)
÷
2=8.71875的右侧。在直线x=1的右侧区域中随机选择一个点作为p 的值,比如p=8.75。
[0084]
然后把偶数位1110映射到y轴某个位置q上。
[0085]
如图7所示,因为第一个奇数为是1,所以q在水平线y=(0+9)
÷
2=4.5上侧区 域。
[0086]
如图8所示,继续二分上侧区域,因为第二个奇数位是1,所以q在垂直线y==(4.5+9)
ꢀ÷
2=6.75的上侧。
[0087]
如图9所示,继续二分上侧区域,因为第三个奇数位是1,所以q在垂直线y=(6.75+9)
ꢀ÷
2=7.875的上侧。
[0088]
如图10所示,继续二分上侧区域,因为第四个奇数位是0,所以q在垂直线y= (7.875+9)
÷
2=8.4375的下侧。
[0089]
在直线y=8.4375的下侧区域中随机选择一个点作为q的值,比如p=8.12。
[0090]
那么,(p,q)=(8.96,8.12)就是第1个行向量的平面坐标位置。
[0091]
如图11所示,同样的做法,可得第二个和第三个行向量的位置坐标为:(8.76,8.71),(8.60,8.48)。把这三个点显示在平面上右上角。
[0092]
技术方案说明:
[0093]
以一个具体数据实施例说明如下:
[0094]
如表2所示,某大学想了解在校生对“abstract,acquire,act”等283个英文单 词熟悉与否,向抽取了209个受试者,让受试者对每个单词选择“是”或者“否”:
ꢀ“
是”表示熟悉;“否”表示不熟悉。汇总结果形成209行的excel文件。
[0095]
表2:采集获得数据表的部分数据
[0096] noabstractacquireactadaptadministeradvertiseanalyzeanticipateapplyappraisearguearrangearticulateask11001是是是是是是是是是是是是是是
21002是是是是是是是是是否是是是是31003是是是是是是是是是否是是是是41004是是是是是是是是是否是是否是51005是是是是是是是是是是是是是是61006是是是是是是是是是是是是否是71007是是是是是是是是是是是是否是81008是是是是是是是是是是是是否是91009否是是是是是是是是是是是否是101010是是是是否是是否是是是是是是111011是是是是否是是是是否是是是是121012是是是是是是是是是是是是是是131013是是是是否是是是是否是是是是141014是是是否是是是是是是是是否是151015是是是是是是是是是否是是否是161016是是是是否是是否是否是是是是171017是否是是否是是是是否是是否是181018是是是是是是是是是是是是否是191019是是是是是是是是是否是是是是201020是是是是否是是是是是是是否是211021是否是是是是是是是否是是是是221022是是是是是是是是是是是是是是231023是是是是是是是否是否是是是是241024是是是是否是是否是是是是否是251025是是是是是是是是是是是是否是261026是是是是是否是是是是是是是是271027是是是是是是是是是是是是是是281028是是是是是否是是是是是是是是291029是是是是否是是是是否是是否是301030是是是是是是是是是是是是是是311031是是是是是是是是是是是是是是321032否是是是否是是是是否是是否是
[0097]
在r(https://www.r-project.org/,流行的统计软件)中,可设计脚本,通过以下 步骤实现:
[0098]
步骤1:导入。假设excel数据文件是d:/a.xlsx,首先使用xlsx包导入
[0099]
install.packages(
″
xlsx
″
)
[0100]
library(xlsx)
[0101]
data<-read.xlsx2(file=
″
d:/a.xlsx
″
,sheetlndex=1)
[0102]
步骤2:因子化。导入后的数据文件在r中称为“数据框”,在数据框中把各列 设置为因子类型。
[0103]
alldata<-data
[0104]
alldata[sapply(alldata,is.character)]<-lapply(alldata[sapply(alldata,is.character)],as.factor)
[0105]
步骤3:替换因子水平。r的默认水平编码从1开始,所以需要把1替换成0,2 替换成1。
[0106][0107]
步骤4:变换为矩阵。把因子类型的数据框转为矩阵。
[0108]
alldata《-apply(alldata,2,as.numeric)
[0109]
alldata《-alldata[,-1]
[0110]
b《-as.matrix(alldata)
[0111]
dim(b)
[0112]
m《-209;n《-283;
[0113]
步骤5:把行向量变换成平面坐标。
[0114]
[0115][0116]
步骤6:使用散点图展示结果。
[0117]
如图12所示,使用散点图展示结果。
[0118]
plot(x,y)
[0119]
本技术保密运行一段时间后,现场技术人员反馈的有益之处在于:
[0120]
使用一屏展示01矩阵行向量的分布,使得用户能够在整体上观察数据间的关系 (相似、相关等),还可以应用于发现离群点,并且结果可解释:相似的行向量在平 面上的位置对称。由于01矩阵应用非常普遍,本发明为可视化分析01矩阵表示的数 据提供了有效方法。例如,一个由n个问题,每个问题仅回答“是/否”的调查结果 集就可以看作是一个01矩阵。本发明能够使调查者使用一屏二维散点图观察所有受 访者的响应在所有n维变量上的分布。
[0121]
目前,本发明的技术方案已经进行了中试,即产品在大规模量产前的较小规模试 验;中试完成后,在小范围内开展了用户使用调研,调研结果表明用户满意度较高; 现在已开始着手准备产品正式投产进行产业化(包括知识产权风险预警调研)。
技术特征:1.一种用于矩阵的可视化装置,其特征在于:包括转换模块,转换模块为程序模块,用于获得矩阵,所述矩阵为01矩阵,矩阵由行向量组成,将矩阵通过递归二分法把行向量分类、映射到二维平面上的相应区域并获得散点图。2.根据权利要求1所述的一种用于矩阵的可视化装置,其特征在于:转换模块,还用于矩阵为m行n列的矩阵,矩阵的行向量为n维行向量,基于递归二分法把n维行向量映射到二维平面上的点(x,y),其中,x为横坐标,y为纵坐标;通过递归二分法把行向量分类获得m个点(x,y),把每一个点显示在二维平面上。3.根据权利要求1所述的一种用于矩阵的可视化装置,其特征在于:转换模块,还用于二维平面包括横轴和纵轴,二维平面的点(x,y),其中,x为横轴横坐标,0≤x<n,y为纵轴纵坐标,0≤y<n;行向量分类、映射的步骤包括获得行向量中奇数位数据并形成奇数位向量,获得行向量中偶数位数据并形成偶数位向量,行向量的维数为n作为横轴横坐标和纵轴纵坐标的最大刻度,基于递归二分法获得奇数位向量在0~n的横轴上点的x值,基于递归二分法获得偶数位向量在0~n的纵轴上点的y值。4.根据权利要求3所述的一种用于矩阵的可视化装置,其特征在于:转换模块,还用于基于递归二分法获得奇数位向量在横轴上点的x值的步骤包括获得奇数位向量的第一位数据,根据奇数位向量的第一位数据将x划分在横轴0~n区域中线的一侧区域即横轴第一二分区域;获得奇数位向量的第二位数据,根据奇数位向量的第二位数据将x划分在横轴第一二分区域中线的一侧区域即横轴第二二分区域;直至获得奇数位向量的最后一位数据,根据奇数位向量的最后一位数据将x划分在横轴前一二分区域中线的一侧区域即获得的横轴分类区域,x在横轴分类区域中随机取值。5.根据权利要求3所述的一种用于矩阵的可视化装置,其特征在于:转换模块,还用于基于递归二分法获得偶数位向量在纵轴上点的y值的步骤包括获得偶数位向量的第一位数据,根据偶数位向量的第一位数据将y划分在纵轴0~n区域中线的一侧区域即纵轴第一二分区域;获得偶数位向量的第二位数据,根据偶数位向量的第二位数据将y划分在纵轴第一二分区域中线的一侧区域即纵轴第二二分区域;直至获得偶数位向量的最后一位数据,根据偶数位向量的最后一位数据将y划分在纵轴前一二分区域中线的一侧区域即获得的纵轴分类区域,y在纵轴分类区域中随机取值。6.一种用于矩阵的可视化方法,其特征在于:包括转换步骤,获得矩阵,所述矩阵为01矩阵,矩阵由行向量组成,将矩阵通过递归二分法把行向量分类、映射到二维平面上的相应区域并获得散点图。7.根据权利要求6所述的一种用于矩阵的可视化方法,其特征在于:在转换步骤中,二维平面包括横轴和纵轴,二维平面的点(x,y),其中,x为横轴横坐标,0≤x<n,y为纵轴纵坐标,0≤y<n;行向量分类、映射的步骤包括获得行向量中奇数位数据并形成奇数位向量,获得行向量中偶数位数据并形成偶数位向量,行向量的维数为n作为横轴横坐标和纵轴纵坐标的最大刻度,基于递归二分法获得奇数位向量在0~n的横轴上点的x值,基于递归二分法获得偶数位向量在0~n的纵轴上点的y值;基于递归二分法获得奇数位向量在横轴上点的x值的步骤包括获得奇数位向量的第一位数据,根据奇数位向量的第一位数据将x划分在横轴0~n区域中线的一侧区域即横轴第一二分区域;获得奇数位向量的第二位数据,根据奇数位向量的第二位数据将x划分在横轴第一二分区域中线的一侧区域即横轴第二二分区
域;直至获得奇数位向量的最后一位数据,根据奇数位向量的最后一位数据将x划分在横轴前一二分区域中线的一侧区域即获得的横轴分类区域,x在横轴分类区域中随机取值;基于递归二分法获得偶数位向量在纵轴上点的y值的步骤包括获得偶数位向量的第一位数据,根据偶数位向量的第一位数据将y划分在纵轴0~n区域中线的一侧区域即纵轴第一二分区域;获得偶数位向量的第二位数据,根据偶数位向量的第二位数据将y划分在纵轴第一二分区域中线的一侧区域即纵轴第二二分区域;直至获得偶数位向量的最后一位数据,根据偶数位向量的最后一位数据将y划分在纵轴前一二分区域中线的一侧区域即获得的纵轴分类区域,y在纵轴分类区域中随机取值。8.一种用于矩阵的可视化装置,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,其特征在于:所述处理器执行计算机程序时实现权利要求6或7中相应的步骤。9.一种用于矩阵的可视化装置,包括计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求6或7中相应的步骤。10.一种用于矩阵的可视化应用,其特征在于:递归二分法在01矩阵可视化的用途。
技术总结本发明公开了一种用于矩阵的可视化装置、方法及应用,涉及数据可视化技术领域;装置包括转换模块,用于获得矩阵,所述矩阵为01矩阵,矩阵由行向量组成,将矩阵通过递归二分法把行向量分类、映射到二维平面上的相应区域并获得散点图;方法包括获得矩阵,将矩阵通过递归二分法把行向量分类、映射到二维平面上的相应区域并获得散点图;应用包括递归二分法在01矩阵可视化的用途;其通过转换模块等,实现矩阵可视化效果好。视化效果好。视化效果好。
技术研发人员:董东 高峰 刘俊成
受保护的技术使用者:河北师范大学
技术研发日:2022.06.21
技术公布日:2022/11/1