一种交互式的主题河流可视化方法与流程

文档序号:12786079阅读:480来源:国知局
一种交互式的主题河流可视化方法与流程

本发明涉及信息可视化领域,尤指一种交互式的主题河流可视化方法。



背景技术:

在互联网时代,人们的工作生活每时每刻都飞速产生着数据。人们产生数据能力的发展速度已经远远高于人们分析数据能力的发展速度。如何处理、分析这些数据,从而在数据中发现有价值的信息,为人们提供决策支持,是当下重要的课题。可视化是一种分析数据的技术,它包括数据的处理、分析与呈现,但它不只是简单地将数据展现为图表,而是结合人机交互,将用户从图像中通过自己的专业分析做出的理解作为反馈,从而帮助用户在数据中发现知识。近年来随着数据分析的重要性不断增长,可视化在物理、生物、医学等许多领域都受到了广泛的应用。时序数据是一种常见的数据形式,其特点是数据具有时间维度的属性,对时序数据可视化的关键是展示出数据随着时间变化的趋势。

主题河流是一种广泛应用于时序数据的可视化方式。它于2000年由Susan Havre,Beth Hetzler等提出,是一种将一组主题展示为一条条河流的抽象方式,主题河流之间相互堆叠,每条河流都沿着时间轴放置,宽度随着时间变化。一条主题河流在一个时刻的宽度表示该主题当前的值。河流宽度的变化就是这个主题在时间维度上的变化模式。主题河流是一种高效的可视化形式,其展示了整体与局部的主题随着时间的变化模式,同时给用户展现了某时刻主题的数值大小。

虽然主题河流能够展示所有主题的变化趋势,却无法直观地展示单个主题随着时间的变化趋势,因为本质上主题河流是一种堆叠图,所有主题按一定顺序依次堆叠形成总体的视图。由于主题河流之间相互堆叠,那么单个主题河流的形状和波动走向必然会受到其下方主题河流的干扰。事实上,在主题河流模型中,每条河流的波动趋势都是其自身波动与位于其下方的所有河流波动的总和,若想得到单条河流的值用户需要进行一次减法运算,增加了读图的复杂性,容易将会产生信息误读。现有的优化方法只对河流排列顺序优化,或采用“inside-out”的方式由中间向外扩展布局的方式,以减小整体波动,但当数据量较大时,这种方式仍无法解决河流的局部波动使用户产生的读图误解。为此,本发明对传统的主题河流模型提出以下改进:1.采用离散系数评价河流波动程度,将波动小的河流置于在下层,减少对上层河流的影响;2.提出歧义点的概念,为用户提供波动度和贡献度作为参数,用户根据需求在交互接口中设置参数,筛选出可能造成歧义的点作为歧义点并在图中动态地进行标识;3.设计歧义点标识,标识内容包括:该点的峰谷信息;贡献度最高的主题信息;4.个性化主题河流重排序:用户根据歧义点信息,可通过拖拽的交互操作改变主题河流的排列顺序,在局部达到个性化最优排序。



技术实现要素:

鉴于现有的主题河流存在的问题,本发明的目的是提供一种可交互的主题河流可视化方法,使用户能够根据需要,对主题河流进行重排序,实现个性化读图。

具体实施步骤如下所示:

一种交互式主题河流可视化方法,对给定的主题,计算每个主题时间序列数据的离散系数,并根据离散系数对主题进行初始排序;计算主题河流的所有极值点;对每个极值点计算波动强度与贡献度;得到用户选择的波动强度筛选比例与贡献度筛选比例,对极值点进行筛选得到歧义点;对歧义点进行可视化设计,并在界面中展示;在用户获得歧义点的标识信息后,最后通过交互对河流进行个性化重排序;以此优化主题河流的排序方式并为用户提供河流重新排序的交互方式,包括如下主要步骤:

步骤1:读入主题topici(i=1,2,...,n),yit(t=1,2,...,m)其中,topici表示第i个主题,n是主题的总数,yit表示topici在时刻t的值,m是时刻t的个数;

步骤2:对主题进行优化排序;

步骤2.1:分别对每个主题topici的所有数值yit计算离散系数CVi

步骤2.2:根据离散系数对主题进行排序,CVi越小,topici排列在越底层越靠近时间轴的位置;

步骤3:获取极值点集合;

步骤3.1:计算Total在各个时刻t的值wyt,其中Total表示集合中所有主题在相应时刻高度的叠加,从可视化图形上可以认为是主题河流最顶层的轮廓,wyt的计算公式如下:

步骤3.2:在wyt的集合wy_Set中搜索极值点,当wyt>wyt+1and wyt>wyt-1,或wyt<wyt+1and wyt<wyt-1,t为极值点,并令极值点的集合为wExt_Set;

步骤4:计算极值点的局部波动强度,Total的局部波动强度fluctuation为两个相邻的极值点间的坡度;

步骤5:计算极值点的最大贡献度;

步骤5.1:计算topici在时刻wExt_tk的贡献度cki,其中cki为topici在时刻wExt_tk的波动强度fluctuationik与Total在时刻wExt_tk的波动强度fluctuationk的比值;

步骤5.2:将所有主题在时刻wExt_tk的贡献度排序,贡献度最高的主题记为topicmaxk,其贡献度为该极值点的最大贡献度,记为cmaxk

步骤6:歧义点筛选;

步骤6.1:对集合wExt_Set中所有极值点的波动强度和最大贡献度进行排序;

步骤6.2:设计交互方式,为用户提供交互接口,用户设置波动强度选择比例p1%与最大贡献度选择比例p2%,从wExt_Set筛选出歧义点;

步骤7:歧义点可视化设计,歧义点标识包括以下信息:1.该歧义点属于波峰或波谷;2.该歧义点贡献度最高的topicmaxk

步骤8:交互设计;

步骤8.1:设计弹框显示主题河流详情;

步骤8.2:歧义点筛选,为用户提供设置波动强度选择比例与最大贡献度选择比例的交互界面;

步骤8.3:河流重排序,提供拖拽的交互功能,用户根据歧义点提供的信息,对具有歧义的河流在局部进行重排序,减小下层河流的波动对上层河流的影响,实现个性化读图。

步骤8.4:设计缩放交互。

采用这样的处理,本发明对主题河流的初始排序优化能够一定程度上降低总体下层河流波动对上层河流波动的影响。本发明提出的歧义点概念与对歧义点的可视化设计,能够有效为用户标识出主题河流中容易产生歧义的点,并结合交互,用户能够根据实际需要设置对歧义点的筛选比例。根据歧义点显示的信息,用户能够通过拖拽的交互操作对歧义点处的河流进行重排序,结合弹框详情、缩放等交互功能,实现了灵活的个性化读图操作。

与现有技术相比,本发明的积极效果是:

一、目前对主题河流的排序方式一般为根据主题的重要性排序或根据主题的标准差排序。根据主题重要性排序具有严重的不可靠性的特点,没有考虑可视化结果的可读性,下层河流动对上层河流的影响没有被消除;根据标准差排序虽然考虑了可视化结果的可读性,但是通过标准差衡量河流的波动程度的方法将在各个河流的数据大小差距较大时失去可靠性。而本发明采用离散系数衡量河流的波动性,保证了在河流数据大小差距较大时依然能够有效衡量河流的波动程度,对河流的初始排序优化依然可靠。

二、区别于传统的主题河流,本发明给出了对主题河流进行重排序的交互方法。目前所有的主题河流在解决用户局部读图歧义问题时,都只采用了对主题河流排序进行优化的方法,这种方法虽然总体上能改善河流的波动,但是却无法消除局部读图歧义的问题。而本发明提出了在优化主题河流初始排序的基础上,设计交互式主题河流,为用户标识出歧义点,用户可根据需要通过拖拽对河流进行重排序,有效消除局部的歧义,使主题河流更具定制性。

附图说明

图1是局部波动强度示意图

图2是歧义点可视化设计展示图

图3是歧义点筛选交互设计示意图

图4是河流重排序效果展示图

图5是系统效果图

图6是实验数据歧义点展示

图7是实验数据河流重排序效果图

图8是本发明实施例离散系数表。

图9是本发明实施例优化排序前后的主题河流每层的波动离散系数表。

具体实施方式

具体实施步骤如下所示:

步骤1:读入主题topici(i=1,2,...,n),yit(t=1,2,...,m)其中,topici表示第i个主题,n是主题的总数,yit表示topici在时刻t的值,m是时刻t的个数。

步骤2:对主题进行优化排序。

步骤2.1:分别对每个主题topici的所有数值yit计算离散系数CVi,CVi的计算公式如下:

CVi=σii

其中σi为topici的标准差,μi为topici的均值。

步骤2.2:根据离散系数对主题进行排序,CVi越小,topici排列在越底层越靠近时间轴的位置。

步骤3:获取极值点集合。

步骤3.1:计算Total在各个时刻t的值wyt,其中Total表示集合中所有主题在相应时刻高度的叠加,从可视化图形上可以认为是主题河流最顶层的轮廓,wyt的计算公式如下:

步骤3.2:在wyt的集合wy_Set中搜索极值点,当wyt>wyt+1and wyt>wyt-1,或wyt<wyt+1and wyt<wyt-1,t为极值点,并令极值点的集合为wExt_Set。

步骤4:计算极值点的局部波动强度,Total的局部波动强度fluctuation为两个相邻的极值点间的坡度,如图1所示,fluctuation的计算公式如下:

则时刻的波动强度为相邻极值点到点的坡度,如以下公式所示:

步骤5:计算极值点的最大贡献度。

步骤5.1:计算topici在时刻wExt_tk的贡献度cki,其中cki为topici在时刻wExt_tk的波动强度fluctuationik与Total在时刻wExt_tk的波动强度fluctuationk的比值。

topici在时刻wExt_tk的波动强度fluctuationik的计算公式如下:

则topici在时刻wExt_tk的贡献度cki为:

步骤5.2:将所有主题在时刻wExt_tk的贡献度排序,贡献度最高的主题记为topicmaxk,其贡献度为该极值点的最大贡献度,记为cmaxk

步骤6:歧义点筛选。

步骤6.1:对集合wExt_Set中所有极值点的波动强度和最大贡献度进行排序。

步骤6.2:设计交互方式,为用户提供交互接口,用户设置波动强度选择比例p1%与最大贡献度选择比例p2%,从wExt_Set筛选出歧义点。

根据此方法筛选出的歧义点具有以下特点:

1.该点的波动强度fluctuationk的大小位于集合wExt_Set的前p1%;

2.该点的最大贡献度cmaxk的大小位于集合wExt_Set的前p2%,

并且p1%越小则筛选出的歧义点波动越大,p2%越大则筛选出的歧义点造成歧义越严重。

步骤7:歧义点可视化设计,歧义点标识包括以下信息:1.该歧义点属于波峰或波谷;2.该歧义点贡献度最高的topicmaxk

本发明采用三角形标注歧义点,如图2所示,正三角形表示波峰,即该时刻Total达到极大值,倒三角形表示波谷,即该时刻Total达到极小值。三角形的填充颜色是该时刻贡献最大的topicmaxk的颜色,为用户展示Total在该点的波动主要由topicmaxk造成。

步骤8:交互设计。

步骤8.1:设计弹框显示主题河流详情,为用户展示每个主题在时刻t的具体数值。

步骤8.2:歧义点筛选,为用户提供设置波动强度选择比例与最大贡献度选择比例的交互界面,如图3所示。

步骤8.3:河流重排序,提供拖拽的交互功能,用户根据歧义点提供的信息,对具有歧义的河流在局部进行重排序,用户可将topicmaxk拖拽至河流最上层,减小对上层河流的影响,图4为对图2歧义点进行重排序的结果示意图,同时用户也可以对任意河流进行拖拽操作,实现个性化读图。

步骤8.4:设计缩放操作。

本发明中,河流的排序不再是经过初始排序后就无法改变的,而是为用户标识出了歧义点,用户可根据具体情况对歧义点进行动态筛选。用户得到歧义点后可对河流进行重排序,消除局部歧义。

实施例1:为了验证本发明的有效性,本发明从网络问答社区知乎www.zhihu.com选取从2015年1月1日到2015年12月31日,365天共10个热门主题及其每天的活跃度数据作为验证数据。

对每个主题计算离散系数,结果如图8所示。

根据各个主题的离散系数对主题进行排序,主题按离散系数从小到大在主题河流中由低到高排列。分别计算优化排序前后主题河流每层河流的高度,主题河流的第k层河流在日期t的高度heightkt的计算公式如下:

对优化排序前后的主题河流每层的波动采用离散系数进行评估,结果如图9所示。由图9可以得到主题河流经过优化排序后离散系数均值降低了40.4%,说明经过优化排序能够有效降低主题河流的波动。

对以上10个主题进行优化排序并可视化的结果如图5所示,主题河流共有极值点226个,用户可根据需要对波动强度比例与贡献度比例进行选择,选择的比例越大,筛选出的歧义点越多。

如图6所示,ambpi是日期为2015年11月25的歧义点,如该点的歧义点标识可以看出,该歧义点为波峰,且贡献度最大的主题topicmaxi为“时尚”,由于“时尚”在该点的强烈波动,导致其上方的主题都呈现出了强烈的波动,用鼠标选中位于底部河流,即“时尚”,将其拖拽至主题河流的最外层,从而排除对其他河流的影响,重排序结果如图7所示。

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