CN107077752A - 数据可视化可扩展架构 - Google Patents

数据可视化可扩展架构 Download PDF

Info

Publication number
CN107077752A
CN107077752A CN201580055999.2A CN201580055999A CN107077752A CN 107077752 A CN107077752 A CN 107077752A CN 201580055999 A CN201580055999 A CN 201580055999A CN 107077752 A CN107077752 A CN 107077752A
Authority
CN
China
Prior art keywords
data
geometry
visualization
conversion
series
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201580055999.2A
Other languages
English (en)
Inventor
B·C·阿林
Q·周
P·H·胡夫纳格尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107077752A publication Critical patent/CN107077752A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/003Reconstruction from projections, e.g. tomography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/44Morphing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/004Annotating, labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2024Style variation

Abstract

提供了一种用于实现新可视化的创建和现有可视化的扩展的可扩展架构,以改善计算机的功能。根据各方面,该架构能够通过具有简单的输入和输出接口的单独级的单向链来构建数据可视化。所描述的可扩展架构通过独立于架构的其余部分的系列布局实现了可视化类型的快速且简单的可扩展性。可扩展架构允许以这样的方式合成特征,即允许客户端通过能力链接在一起的乘性行为来添加附加功能和构建可视化类型。因此,系列布局可以以通用的方式插入到数据可视化平台中。该架构能用于在多个环境中工作,并且不偏向单个客户端。

Description

数据可视化可扩展架构
背景技术
数据可视化是在例如图表、信息图、地图、量表等的可视化中图形化地表示数据的过程。通常,当向图表引擎提供扩展(例如,新的可视化类型)时,需要大的开发成本,例如,在由客户端创作可视化和整合可视化时。因此,实现新的可视化类型或版本化现有的可视化类型是劳动密集型和昂贵的。随着它们的功能扩展现有的可视化可能变得笨拙,并且可能与较新的或较旧的数据可视化客户端不兼容,因而限制运行客户端的设备的功能或强制使用笨拙的解决方法。
正是关于这些和其他考虑,将作出示例。
发明内容
提供该发明内容以便以简化的形式来引入下面的具体实施方式中进一步描述的概念的选择。该发明内容不旨在确定所要求保护的主题的所有特征,也不旨在用于限定所要求保护的主题的范围。
提供了一种用于在数据可视化平台架构中创建新的可视化和扩展现有可视化的架构。根据一个方面,该架构能够通过单独阶段的单向链来构建数据可视化(例如,图表、信息图、地图、量表等),每个阶段具有简单的输入接口和输出接口。本公开的方面提供了可扩展架构,其通过独立于架构的其余部分的系列布局来实现可视化类型的快速和简单的可扩展性。可扩展架构允许特征的合成,使客户端能够通过将能力链接一起的乘性行为来添加附加功能并构建可视化类型。因此,系列布局可以以通用的方式插入到数据可视化平台中。
数据可视化平台的架构将系列布局逻辑与系统的其余部分隔离开,使得每个部分具有其他部分的简单视图,并且因此不能相互交织。根据若干方面,系列布局将一组数据加上表面描述(例如,轴、坐标空间、分辨率/dpi等)作为输入,并且产生注释的几何的集合作为输出。这种设计的好处是降低每个布局的工程成本,从而能够更快速、以及更高质量地产生更多的可视化类型。另一个好处是如下的能力,将系列布局版本向前兼容并且向后兼容,同时相对于数据集的大小传输优于线性的可升级性,并使得光栅化成本最小化。平台中的每个布局考虑到目标表面尺寸和轴,以产生最小输出而无需客户端的帮助。
示例可以被实现为计算机过程、计算系统,或作为诸如计算机程序产品或计算机可读介质的制品。计算机程序产品可以是计算机系统可读并且对用于执行计算机过程的指令的计算机程序编码的计算机存储介质。
一个或多个方面的细节在附图和下面的描述中阐述。通过阅读以下详细描述和对相关图的综述,其他特征和优点将是显而易见的。应当理解,以下详细描述仅是解释性的,并不限制本公开的其他方面。
附图说明
并入并且构成本公开的一部分的附图示出了本公开的各个方面。在图中:
图1示出了利用具有其中信息流动的单向流水线的架构的可扩展数据可视化架构;
图2示出了其中数据在单个方向上流动的流水线架构;
图3是示出了用于实现可扩展架构的方法中所涉及的一般阶段的流程图;
图4是示出了计算设备的物理组件的示例的框图;
图5A和图5B是移动计算设备的简化框图;以及
图6是分布式计算系统的简化框图。
具体实施方式
下面的具体实施方式参考了附图。相同的附图标记在附图和下面的说明中尽可能地用来指代相同或相似的元件。虽然描述了本公开的方面,但是修改方案、改造方案和其它的实现方式是可能的。例如,可以对图中所示的元件进行替代、添加或修改,并且可以通过对阶段进行替换、重定序或添加到公开的方法来修改本文所描述的方法。因此,下面的具体实施方式不是限制本公开,而是,通过随附权利要求来限定本公开的适当的范围。示例可以采取硬件实现方式或完全软件实现方式的形式,或组合软件和硬件方面的实现方式。因此,以下具体实施方式不被认为是限制性的。
提供了一种用于在数据可视化平台架构内创建新的可视化和扩展现有可视化的架构。根据一个方面,该架构能够通过单独阶段的单向链来构建数据可视化(例如,图表、信息图、地图、量表等),每个阶段具有简单的输入接口和输出接口。本公开的方面提供了可扩展架构,其通过独立于架构的其余部分的系列布局来实现可视化类型的快速和简单的可扩展性。可扩展架构使得能够向图表引擎提供扩展(例如,新的可视化类型),而没有先前在创作可视化和将可视化集成到客户端中所需要的大的开发成本。可扩展架构允许特征的合成,使客户端能够通过将能力链接在一起的乘性行为来添加附加功能并构建可视化类型。因此,系列布局可以以通用的方式插入到数据可视化平台中。
数据可视化平台可操作以与多个环境、渲染堆栈和数据后台一起工作,并且因此不偏向单个客户端。客户端拥有自己独特的用户接口和与其环境互补的个性化要求。对于客户端将面向对象用户接口(OOUI)添加到可视化的场景,支持占位符对象,这些占位符对象具有可能会影响布局的固定的大小和边界位置。
数据可视化平台提供布局的集合以及容易地在其周围添加交互式体验的能力。布局的集中化能够在不同的客户端和环境中实现高度的视觉保真度、性能和兼容性。通过服务和其他方式输送的内容,集中化还能够实现更广泛和更快速的创新。
数据可视化平台的架构将系列布局逻辑与系统的其余部分完全隔离,使得每个部分具有其他部分的简单视图,因此不能相互交织。
系列布局有一组简单的输入和输出。根据若干方面,系列布局将一组数据加上表面描述(例如,轴、坐标空间、分辨率/dpi等)作为输入,并且产生注释的几何形状的集合作为输出。这种设计的好处是降低每个布局的工程成本,从而能够更快速且更高质量地产生更多的可视化类型。另一个好处是以下能力,将系列布局版本向前兼容,并向后兼容,同时相对于数据集的大小输送了优于线性的可升级性,并使得光栅化成本最小化。平台中的每个布局考虑到目标表面尺寸和轴,以产生最小输出而无需客户端的帮助。
系列布局能够描述其基本需求,使得客户端和核心引擎可以适当地插入它。系列布局的基本需求包括所需的数据维度和坐标系(例如x/y/r+笛卡尔,x/y+径向,x/y+笛卡尔)和能力元数据,例如,“我是科学图表“我只适合小数据集”或者“目标追求对我来说没有意义”。这些能力最好通过属性标签传达,从而简化版本。核心引擎将在没有属性的情况下应用默认行为。
如上所述,由可视化平台公开的系列布局与核心引擎分离并具有它们自己的接口。这些接口是前向和后向兼容的,因为它们是获得来构建动态文档内容的商品,并且因此预期与文档本身具有相同的兼容性水平。为了支持系列布局的版本化,利用布局与核心引擎的隔离;根据各方面,只有小的内部接口的集合需要进行版本化。由于只需担心小的集合,版本化的复杂度大大降低。可以使用通常的设计模式来完成接口的版本化:新接口从旧接口继承,并且接口显露可以查询以确保核心引擎和系列布局之间的向后和向前兼容的‘版本’属性。可以在数据可视化平台中包括数个版本的系列布局,这些版本可以用于由核心引擎基于其版本或客户端版本进行选择。
利用适当的版本化可插入性也是可能的。运行旧版数据可视化平台的客户端可以消费安装到中央存储库的较新布局。因此,具体布局的知识不会硬编码到每个客户端中,而是在引导时的发现步骤决定了当前安装的客户端可以从中选择的布局。
图1示出了其中数据在单个方向上流动的流水线架构100。如图所示,架构100具有单向流水线110。如单向流水线110所示,信息流过几个阶段,例如数据变换阶段120、布局变换阶段130和几何形状变换阶段140,其中可以插入各种可扩展特征、功能和模块。根据各方面,在流水线110的每个阶段,存在明确定义的输入和输出接口,其可操作以根据归一化格式来输出信息。单向和通过接口的输入/输出的归一化的组合提供了可扩展性,例如,通过使提供数据可视化的设备能够通过将适当类型的一个或多个变换插入到链(即,流水线110)中来扩展可视化的能力。
通常,变换将信息从第一格式改变为第二格式。例如,变换可操作以将根据发送器格式接收的数据修改为接收器格式,反之亦然。在另一个示例中,变换可操作以修改数据以使其定义几何形状(例如,图表被转换成线和贝塞尔(Bezier)的定义信息以图形地表示图表的数据)或定制几何形状的定义(例如,修改现有的几何形状来创建定制的几何形状)。在另一个例子中,可以通过变换来修改几何形状,以改变它如何被渲染(例如,应用颜色或视觉主题,修改的线和贝塞尔的原始定义,等等)。根据各方面,变换修改流水线110内的用于创建可视化160的信息,以影响提供数据可视化以创建定制的可视化的系统中的新的且不同的功能。可以将多个变换链接在一起以影响高级功能并扩展现有架构的可操作性。
例如,通过插入数据变换125、布局变换135或几何形状变换145来扩展架构。作为示例,可以使可视化绘图仪可操作以经由适当的数据变换125以任意格式从任意客户端接收数据。作为另一示例,客户端可以将诸如“素描效果”特征插入到特征中,其中可绘制可视化160,使得其看起来好像是手绘的,其中几何形状变换145取布局变换阶段130的输出(即,几何形状),然后扰乱包含几何形状的向量和图元以便看起来是手绘的。作为另一示例,可以通过创建新的系列布局135B(例如,在布局变换阶段130中)来添加新的图表类型。可替代地,可以通过插入布局变换135(例如,共享功能135A或系列布局135B)来改变现有系列布局135B所使用的几何形状定义来修改现有的系列布局135B。因此,引入了与流水线110的其余部分一起工作的、客户端应用所独有的新的图表体验,从而扩展流水线架构100。
插入变换以通过接受第一阶段的输出(例如,截取第一阶段的输出)并根据第二阶段的预期格式产生定制的输出来扩展流水线架构100。例如,当第二阶段期望由第一阶段产生的归一化格式的数据时,可以插入根据符合归一化格式的数据并输出符合归一化输出的数据的变换,以影响第二阶段中的新的特征或行为,而不必更新第二阶段。在另一示例中,变换可操作以在接收到根据任意格式组织的数据之后根据第二阶段的预期归一化格式输出定制。因此,通过扩展流水线架构100可以实现跨版本或跨平台互操作性。
流水线110中的数据变换阶段120是可选地应用数据变换125的阶段。根据各方面,当客户端将数据150馈送给数据可视化平台以创建可视化160时,发生数据变换阶段120。数据变换125A、125B被示出为可以实现以将原始用户数据150变换成为准备用于可视化160的布局的归一化形式的可选变换。例如,数据变换125可以包括将数据150排序、过滤或转换成可用于数据可视化平台的形式。在数据150已经处于归一化形式的方面中,数据变换125未被实现,或者使用“直通”变换。
如图1所示,布局变换阶段130是流水线110中的下一个阶段。根据各方面,当渲染、命中测试或需要可视化160的布局的其他功能被执行时,发生布局变换阶段130。在布局变换阶段130期间,定位可视化160内的对象,并构建它们的几何形状。根据一个方面,布局变换135采用归一化数据并构建由注释的几何形状或文本组成的视觉元素的分层场景图。布局变换135包括共享功能135A(例如,着色、趋势线、数据标签和可视化内的数据系列共同使用的其他功能)以及针对各个数据系列创建注释的几何形状的系列布局135B。在各种示例中,注释的几何形状利用元信息进行编码,使得任何渲染器可以具有关于向量的语义理解或上下文。根据各方面,输出的注释的几何形状然后被高速缓存。
流水线110中的几何形状变换阶段140是可选地应用几何形状变换145的阶段。根据各方面,当客户端询问数据可视化平台(例如,渲染可视化160、渲染动画、构建交互等)时,客户端可以可选地插入一个或多个几何形状变换145以修改如何渲染可视化160。如图所示,可以插入一个或多个几何形状变换145A,145B以修改可视化的样式,转换为像素空间、应用捕捉、几何形状剔除、扭曲效应、手绘效果、投影、三维表面映射、改变某些数据点的颜色等。通过插入一个或多个几何形状变换145,改变可视化160的外观,在一些示例中,可视化160的外观有效地产生新的可视化类型。例如,考虑其中注入几何形状变换145的气泡图,该几何形状变换145基于密度区域对图表着色并且因此将气泡图变换为热图可视化。
由于数据流被分段,可以通过流水线110组装大量可视化。如上所述,架构100使用系列布局135B(例如,PieSeries布局、ScatterSeries布局、ColumnSeries布局等)而不是图表布局,这是更广泛的特征。系列布局135B在可视化160的坐标空间内布置一系列数据以创建以逐个系列格式表示数据150的几何形状。例如,PieSerie布局可操作地输出表示单个数据系列的各个楔形(即,逐系列格式),而PieChart布局仅可用于输出整个图表(即,所有数据系列)。系列布局135B的集合并不固定。各种数据可视化平台和应用被启用来确定哪些扩展可用,并且可以具有特定于其客户端的系列布局135B。
根据一个方面,每个系列布局135B可操作以显露只读属性(例如,注释)的静态集合,其使得数据可视化应用能够智能地确定如何最好地将系列布局135B与客户端的用户接口(UI)集成。例如,数据可视化应用可以使用只读属性来查询能力、推荐的设置和其他上下文需求。例如,注释可以向数据可视化应用通知系列布局135B支持何种特征,系列布局135B的局限性是什么,等等。例如,系列布局135B可以显露描述何种大小的数据集适用于给定的系列布局135B的属性(例如,<10个数据点、<1,000个数据点、<1,000,000个数据点,等等)。因此,基于数据推荐图表类型的UI将受到此类属性的影响。例如,当将饼形图被指定为不是大型数据集的适当图表类型时,PieSeries布局的示例属性通过注释显露了饼形图对于具有大于例如50个数据点的数据集是不合适的可视化。因此,数据可视化应用能够从呈现给用户以供挑选的系列布局135B的列表中过滤掉数据集包括多于五十个数据点的情况下的PieSeries布局。
系列布局135B独立于可视化定义的其余部分。根据一个方面,系列布局135B被提供有输入信息的受限视图,仅限于系列布局产生几何形状所需要的信息,包括数据150和可视化160的坐标空间(例如,表面描述、原点、方向轴等)。每个系列布局135B可以通过一个接口显露和实现。反过来,单个上下文接口显露于系列布局135B,其包括告诉系列布局135B从数据150构建其几何形状,列举其产生的几何形状的方法,并提供查询元信息、提取数据150以及将数据值映射到可视化160的坐标空间内的位置的方法。系列布局135B与图表行为和定义的其余部分(例如,数据变换125、共享功能135A等)的独立性使得能够以与架构100的其他版本向前和向后兼容的形式递送系列布局135B。例如,当系列布局135B不能询问图例、趋势线或其他共享对象时,创建那些对象的过程可以独立于系列布局135B更新,反之亦然。在另外的方面,系列布局135B与共享功能135A的隔离使得能够在将来添加将继续与旧的系列布局135B一起工作的其他坐标空间,并且从而降低版本化系列布局135B的成本。隔离的优点还包括使架构100能够添加与预先存在的可视化布局“正常工作”的新特征,从而降低构建或版本化布局的成本。
系列布局135B的有限和简化的任务使得能够集中共享功能135A(例如,着色、趋势线、数据标签和可视化160内的数据系列共同使用的其他功能)而无需系列布局135B参与。添加到共享功能135A中的特征可以与所有系列布局135B合成,并因此产生大量的可视化类型。
共享接口可以由系列布局135B用于共同共享的输入和设置,诸如例如所需的数据维度。根据其他方面,当存在特定于不能被一般建模的特定系列布局135B的设置时,显露自定义接口,通过该自定义接口可以配置自定义输入和设置。例如,对于在系列布局135B的共享接口中使用的定义的一般属性,可能存在异常或一次性行为。
图2是可操作以通过数据可视化平台220来提高提供数据可视化的计算机的功能的系统200的示例框图。根据各方面,系统通过实现用于创建新的可视化和扩展现有的可视化类型的可扩展架构来改进计算机的功能。数据可视化平台220被示出为与数据150、客户端210和输出设备260通信。数据可视化平台220被示为包括:核心引擎230,其可操作以从共享对象以及表示数据150的几何形状来构建可视化160;系列布局模块240,其可操作以创建表示数据150的几何形状;以及扩展模块250,其可操作以在处理数据150时提供要应用的附加的变换和功能。
客户端210可操作以向用户提供数据的可视化以及用户与数据150以及用户和可视化160之间的交互性。如图所示,客户端210可操作以对数据150进行写和读,数据150被传递到具有表面描述的数据可视化平台220,以产生用于可视化160的几何形状。根据各方面,客户端210还可操作以针对变换来查询扩展模块250以修改发送到数据可视化平台220的数据。在各种示例中,数据变换125保留数据150,但是以数据150的归一化格式提供数据可视化;仅影响数据150的传送副本。数据变换125可操作以扩展客户端210和数据可视化平台220的功能,并且使得每个能够更简单地进行版本化。
如图所示,客户端210可操作以从数据可视化平台220接收几何形状,并将接收的几何形状传递到输出设备260,例如监视器、屏幕,打印机或其他显示设备,以提供可视化160。例如,客户端210可以经由适当的渲染应用编程接口(API)将几何形状传递到输出设备。根据另外的方面,客户端210还可操作以针对变换查询扩展模块250以修改从数据可视化平台接收到的几何形状,以扩展核心引擎230和系列布局模块240的功能。
数据可视化平台220定位可视化内的对象并创建它们的几何形状。在各个方面,系列布局模块240包括系列布局135B,其以特定格式(例如,列系列的列、散射系列的标记、气泡系列的气泡等)在绘图区域内绘制每系列数据的几何图形。根据方面,系列布局模块240可操作以从数据150的有限和不变的视图和表面描述产生注释的几何形状。也就是说,系列布局模块240将一组数据加上表面描述(例如,可视化类型、可视化大小、客户端分辨率/dpi等)作为输入,并且产生注释的几何形状的集合作为输出。在某些方面,注释的几何形状被高速缓存在系列对象中,并且除非需要布局,否则系统布局模块240不再被调用。核心引擎230可操作以处理注释的几何形状并且在没有来自系列布局模块240的帮助的情况下递送系列和数据点的共享功能(例如,标题、轴、图例、颜色等)。
系列布局模块240的输入是一组布局接口的形式,其仅显露产生注释的几何形状所必需的信息(即,经由有限且不可变的视图)。这些接口与较大的对象模型断开连接,从而强制系统布局模块240与系统的其余部分的严格隔离。隔离的优点包括使数据可视化平台220能够添加与预先存在的可视化布局的“正常工作”的新特征,这降低了构建或版本化布局的成本。
如上所述,扩展模块250可操作以提供额外的变换以应用于可视化160内的数据150和几何形状。根据另外的方面,上述数据变换125和几何形状变换145在可视化160的创建期间或者在可视化160呈现期间经由单向流水线110来执行。在各种示例中,扩展模块250可操作以提供渲染API并与输出设备260通信以呈现可视化160。根据其他的示例,扩展模块250可操作以针对数据150提供简单的数据存储和持久性工具。
扩展模块250可以插入现有系统以实现可扩展性。例如,可以添加新版本的扩展模块250以替换先前版本或者作为新模块添加到系统200内。在另一示例中,扩展模块250包括若干变换,其中每个变换被设计为扩展不同版本的数据可视化平台220和客户端210之间的通信,使得每个的版本不影响可视化160的呈现;提供适当的变换以实现向后和向前兼容性。根据用于实现可扩展性的示例的一组变换,通常可操作以基于图表布局发送和接收可视化信息的客户端210能够与可操作以经由变换、基于系列布局来接收和发送信息的数据可视化平台220进行通信;使得每个组件能够本地地操纵信息,并且使客户端210能够利用数据可视化平台220的系列布局的使用。
虽然在图2中示出了作为数据可视化平台220的一部分,但是在替代方面,扩展模块250可以是客户端210或独立模块的一部分。
图3是示出了用于实现可扩展架构的方法300中所涉及的一般阶段的流程图。方法300从开始301开始,并且进行到操作310,其中显露接口以接收输入数据150。根据方面,实现了用于系列布局模块240构建由数据150定义的可视化160的几何形状的接口。示例的接口根据归一化格式显露输入数据150的有限且不变的视图,使得系列布局135B仅对影响其输出的那些数据进行操作。几个系列布局135B可以链接在一起以影响数据150的不同部分。以这种方式,将新的系列布局135B添加到链以影响数据可视化平台220的扩展及其能力。类似地,旧版本的系列布局135B可以从链中移除并被更新的版本替换,这改进了版本化过程。
在存在特定于特定系列布局135B的设置(例如,不包括在归一化格式中)的示例中,方法300进行到可选的操作320,其中自定义接口被显露以用于要配置的自定义设置。
方法300然后进行到操作330,其中显露单个上下文接口,包括取得数据并将数据值绘制到可视化160的坐标空间内的位置的方法。如上所述,系列布局135B可以具有输入状态的有限和隔离的视图以包括数据和坐标空间。根据方面,上下文接口提供表面描述,其可操作以提供与提供可视化160的客户端210相关的上下文信息。
在可选的操作340中,可选地插入一个或多个数据变换125用于可扩展性。例如,可以插入将数据150组装或分组/组合成类别或系列的数据变换125。因此,在变换数据150之后,可以通过适合于分类数据的系列布局135B中的一个来绘制分类数据。在另一示例中,数据变换125将数据150从第一格式改变为第二格式。如将理解的,在一些方面,改变数据150的格式不影响底层值,仅仅影响这些值如何呈现(例如,重排阵列),并且在其他方面,影响底层值以符合新的格式(例如,当更改为整数(INTEGER)类型变量时,初始格式化为双精度(DOUBLE)类型变量的数据的值将被截断或舍入)。数据变换125可操作以产生数据150的定制,使得根据归一化格式接收数据150。
在操作350中,构建了一组注释的几何形状。根据方面,注释的几何形状包括数据150、共享对象(轴、标题、数据标签等)的图形表示,以及关于几何形状的这些元素的上下文信息。可以将多个布局变换135(例如,共享功能135A和系列布局135B)链接在一起以创建或修改数据150、共享对象及其注释的图形表示的定义。
从操作350,方法300进行到操作360,其中几何形状的注释被显露。根据方面,通过使得客户端210能够确定如何最佳地将系列布局135B与客户端UI集成的接口来显露几何形状。例如,数据可视化应用可以使用注释来查询可扩展架构的能力、推荐设置和其他上下文需求,例如哪些几何形状变换145可用于给定几何形状。在另一示例中,显露的注释使得能够将数据150的系列和共享对象的图形表示组装成连贯的可视化160。例如,注释可以指示几何形状的在可视化160内数据标签将被附加到的部分(例如,线、贝塞尔、图形等等)。
在操作370中,注释的几何形状被高速缓存。根据各方面,注释的几何形状被高速缓存在私有化的存储中,以便可以根据请求进行枚举或检索。例如,注释的几何形状可以被高速缓存在可视化160内或系列对象内,该可视化160或系列对象私有化用于图形化地表示数据系列的几何形状的存储,并且可以存储在邻接的存储器块中以提高检索速度。
在可选的操作380中,可选地插入一个或多个几何形状变换145用于可扩展性。例如,可以应用绘制效果的几何形状变换145,其变换几何形状以产生新类型的可视化160。例如,几何形状变换145应用绘制效果以将列图表的二维几何形状转换为三维几何形状。如将理解的,多个几何形状变换145可以链接在一起以应用各种组合效果。例如,第一几何形状变换145A可以将几何形状从二维转换成三维几何形状,并且第二几何形状变换145B可以影响三维列在地图坐标空间内的定位。在另一示例中,几何形状变换145将几个系列对象组合成图表对象,使得不能处理系列对象的渲染客户端210仍然可以渲染包括系列对象的可视化160。根据方面,通过添加和重新组合几何形状变换145,产生新的可视化类型以扩展架构100。
几何形状变换145可以利用显露的注释。例如,注释可以调用兴趣区域来建议样式线索、交互区域和数据绑定。因此,几何形状变换145可以被建议给用户或者被自动实现以改变注释区域如何被渲染。
在操作390中,渲染注释的几何形状以提供可视化160。根据各方面,注释的几何形状被发送到渲染API,并随后被传递到输出设备260以提供可视化160。方法300在操作399处结束。
虽然已经在结合运行于计算机上的操作系统上的应用程序而执行的程序模块的总的上下文中描述了本公开,但是本领域中的技术人员将理解,本公开还可以与其它程序模块相结合地实现。一般地,程序模块包括例程、程序、组件、数据结构以及执行特定任务或者实现特定抽象数据类型的其它类型的结构。
本文所描述的方面和功能可以经由多个计算系统来操作,计算系统包括但不限于桌面型计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板设备或板式计算机、笔记本计算机和膝上型计算机)、手持式设备、多处理器系统、基于微处理器或可编程消费电子设备、微型计算机以及大型计算机。
另外,本文所描述的方面和功能可以运行于分布式系统(例如,云计算系统)上,其中应用功能、存储器、数据存储和检索以及各种处理功能可以在分布式计算网络如因特网或内联网上彼此远程地操作。各种类型的用户接口和信息可以经由板上计算设备显示器或者经由与一个或多个计算设备相关联的远程显示单元来显示。例如,各种类型的用户接口和信息可在各类型的用户接口和信息所投影到的壁面上显示和交互。与可实现本公开的方面的多种计算系统的交互包括击键输入、触摸屏输入、语音或其它音频输入、姿势输入,在姿势输入中关联的计算设备配备有检测(例如,照相机)功能,用于捕获和解释用于控制计算设备的功能等的用户姿势。
图4-图6以及相关的说明提供了可实现本公开的示例的各种操作环境的论述。然而,参考图4-图6所图示和论述的设备和系统是为了示例和说明的目的,而不是对可用于实现本文所述的本公开的方面的大量的计算设备配置的限制。
图4是示出了可实现本公开的示例的计算设备400的物理组件(即,硬件)的框图。下述的计算设备组件可适合于上述的客户端设备。在基本的配置中,计算设备400可以包括至少一个处理单元402以及系统存储器404。取决于计算设备的配置和类型,系统存储器404可包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器或这些存储器的任意组合。系统存储器404可包括适合运行软件应用450的操作系统405以及一个或多个程序模块406,例如客户端210。根据一个方面,系统存储器404可以包括数据可视化平台220。例如操作系统405可适于控制计算设备400的操作。此外,本公开的方面可与图形库、其它操作系统或任何其它应用程序相结合来实现,而不限于任何特定的应用或系统。该基本配置通过虚线408内的那些组件图示在图4中。计算设备400可以具有附加的特征或功能。例如,计算设备400还可以包括附加的数据存储设备(可移除和/或非可移除),诸如例如磁盘、光盘或磁带。该附加的存储由可移除存储设备409和非可移除存储设备410示出在图4中。
如上所述,多个程序模块和数据文件可存储在系统存储器404中。在处理单元402上执行的同时,程序模块406(例如,客户端210、数据可视化平台220)可以执行的处理包括但不限于图3中所示的方法300的阶段中的一个或多个。可根据本公开的示例使用的其它程序模块可包括应用,诸如电子邮件以及通讯录应用、文本处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等等。
此外,本公开的示例可以实现于包括离散的电子元件的电路、包含逻辑门的封装或集成电子芯片、使用微处理器的电路或者包含电子元件或微处理器的单个芯片中。例如,本公开的示例可通过片上系统(SOC)来实现,在SOC中,图4所示的组件中的每个或多个可集成到单个集成电路中。该SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能,全部这些都集成(或“烧制”)到芯片基板上作为单个集成电路。当经由SOC来操作时,本文所描述的功能可以经由与单个集成电路(芯片)上的计算设备400的其它组件集成的专用逻辑来操作。本公开的示例还可以利用能够执行诸如例如与(AND)、或(OR)或非(NOT)的逻辑运算的其它技术来实现,包括但不限于数学技术、光学技术、流体技术以及量子技术。另外,本公开的方面可以实现在通用计算机内或者任何其它电路或系统内。
计算设备400还可以具有一个或多个输入设备412,诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可以包括诸如显示器、扬声器、打印机等输出设备414。前述设备是示例,可使用其它设备。计算设备400可以包括允许与其它计算设备418通信的一个或多个通信连接416。适合的通信连接416的示例包括但不限于RF发射器、接收器和/或收发器电路、通用串行总线(USB)、并行端口或串行端口。
本文所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可以包括易失性和非易失性的、可移除和非可移除的介质,它们以用于诸如计算机可读指令、数据结构或程序模块的信息的存储的任何方法或技术来实现。系统存储器404、可移除存储设备409和非可移除存储设备410都是计算机存储介质的示例(即,存储器存储)。计算机存储介质可包括RAM、ROM、电可擦除只读存储器(EEPROM)、闪速存储器或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光学存储、磁盒、磁带、磁盘存储或其它磁存储设备、或任何其它能够用于存储信息且能够由计算设备400访问的制品。任何这样的计算机存储介质可以是计算设备400的部分。计算机存储介质不包括载波或其它传播数据信号。
通信介质可通过计算机可读指令、数据结构、程序模块、或调制数据信号中的其他数据如载波或其他传输机制来具体实施,并且包括任何信息输送介质。术语“调制数据信号”可以描述其一个或多个特性以将信息编码到信号中的方式进行设定或改变的信号。通过示例而不是限制的方式,通信介质可以包括诸如有线网或直接连线连接的有线介质以及诸如声波、射频(RF)、红外的无线介质和其他无线介质。
图5A和图5B示出了可以实现本公开的方面的移动计算设备500,例如,移动电话、智能电话、平板个人计算机和膝上型计算机等。参考图5A,示出了用于实现各方面的移动计算设备500的一个示例。在基本配置中,移动计算设备500是具有输入元件和输出元件的手持式计算机。移动计算设备500典型地包括显示器505以及允许用户输入信息到移动计算设备500的一个或多个输入按钮510。移动计算设备500的显示器505还可以充当输入设备(例如,触摸屏显示器)。如果包含,任选的侧部输入元件515允许另外的用户输入。侧部输入元件515可以是旋转开关、按钮或任何其它类型的手动输入元件。在可选的示例中,移动计算设备500可以包含更多或更少的输入元件。例如,在一些示例中显示器505可以不是触摸屏。在可替代的示例中,移动计算设备500是便携式电话系统,诸如蜂窝电话。移动计算设备500还可以包括任选的键板535。任选的键板535可以是物理键板或产生于触摸屏显示器上的“软”键板。在各个方面中,输出元件包括用于示出图形用户接口(GUI)的显示器505、可视指示器520(例如,发光二极管)或音频换能器525(例如,扬声器)。在一些示例中,移动计算设备500包含了用于向用户提供触反馈的振动换能器。在又一示例中,移动计算设备500包含外围设备端口540,诸如音频输入(例如,麦克风插口)、音频输出(例如,耳机插口)以及视频输出(例如,HDMI端口),用于发送信号到外部设备或者从外部设备接收信号。
图5B是示出了移动计算设备的一个示例的架构的框图。也即,移动计算设备500可以包含实现一些示例的系统(即,架构)502。在一个示例中,系统502被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、通讯录管理器、消息传递客户端、游戏和媒体客户端/播放器)的“智能手机”。在一些示例中,系统502集成为计算设备,诸如集成的个人数字助理(PDA)以及无线电话。
一个或多个应用程序550(例如,客户端210)可以加载到存储器562中以及运行于操作系统564上或者与操作系统564关联。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息传递程序等。根据一个方面,数据可视化平台220可以加载到存储器562中。系统502还包括位于存储器562内的非易失性存储区568。非易失性存储区568可用于存储在系统502掉电的情况下不应丢失的永久性信息。应用程序550可使用信息且将信息存储于非易失性存储区568中,所述非易失性存储区568诸如电子邮件应用使用的电子邮件或其它消息,等等。同步应用(未示出)也位于系统502上并且被编程以与位于主机上的对应的同步应用交互以保持存储在非易失性存储区568中的信息与存储在主机中的对应信息同步。应当意识到,其它应用可以加载到存储器562中且运行于移动计算设备500上。
系统502具有电源570,电源570可以被实现为一个或多个电池。电源570可能进一步包括外部电源,诸如AC适配器或为电池补电或再充电的电力对接拖座。
系统502还可以包括执行发送和接收射频通信的功能的无线电572。无线电572促进系统502与“外界”之间经由通信载波或服务提供商之间的无线连接。向无线电572发送以及从无线电572接收是在操作系统564的控制下进行的。换言之,由无线电572接收到的通信可以经由操作系统564散播到应用程序550,反之亦然。
可视指示器520可以用于提供可视通知,或音频接口574可用于经由音频换能器525产生可听的通知。在图示的示例中,可视指示器520是发光二极管(LED),并且音频换能器525是扬声器。这些设备可以直接与电源570耦合,从而当被激活时,它们在通知机制所规定的持续期间内保持接通,即使处理器560和其他组件可能为了节约电池电力而关闭。LED可以被编程以保持无限接通直至用户采取措施来指示设备的加电状态。音频接口574用来提供可听信号到用户以及从用户接收可听信号。例如,除了与音频换能器525耦合之外,音频接口574还可以与麦克风耦合以接收可听输入,例如促进电话对话。系统502可进一步包括使得板上照相机530的操作能够记录静像、视频流等的视频接口576。
实现系统502的移动计算设备500可以具有额外的特征或功能。例如,移动计算设备500还可以包括额外的数据存储设备(可移除的和/或非可移除的),诸如磁盘、光盘或磁带。该额外的存储由非易失性存储区568图示在图5B中。
通过移动计算设备500生成或捕获以及经由系统502存储的数据/信息可以本地地存储在移动计算设备500上,如上所述,或者数据可以存储在可由设备经由无线电572或者经由移动计算设备500与关联于移动计算设备500的单独的计算设备(例如,诸如因特网的分布式计算网络中的服务器计算机)之间的有线连接访问的任意数量的存储介质上。应当意识到,这些数据/信息可以通过移动计算设备500经由无线电572或者经由分布式计算网络来访问。类似地,根据公知的数据/信息传输和存储手段,包括电子邮件和协作数据/信息共享系统,这些数据/信息可轻易地在计算设备之间传输以便存储和使用。
图6示出了用于如上所述提供数据可视化的系统的架构的一个示例。与上述客户端210或数据可视化平台220关联地开发的内容、交互的内容或编辑的内容可以存储在不同的通信信道或其它存储类型中。例如,可利用目录服务622、web端口624、邮箱服务626、即时消息传递库628或社交网站630来存储各个文档。客户端210或数据可视化平台220可使用这些类型的系统等中的任一种用于提供如本文所述的数据可视化。服务器615可以向客户端605A-C提供客户端210或数据可视化平台220。作为一个示例,服务器615可以是通过web提供客户端210或数据可视化平台220的web服务器。服务器615可以通过网络610在web上将客户端210或数据可视化平台220提供给客户端605。通过示例的方式,客户端计算设备可以实现且体现在个人计算机605A、平板计算设备605B和/或移动计算设备605C(例如,智能手机)或其它计算设备中。客户端计算设备的这些示例中的任一个均可以从库616获得内容。
上文参考根据本公开的方面的方法、系统和计算机程序产品的框图和/或操作图示描述了例如本公开的方面。在框中提到的功能/行为可以不按如任意流程图中所示的顺序发生。例如,连续示出的两个框实际上可以基本同时执行或者框有时可以按相反的顺序执行,取决于所涉及到的功能/行为。
在本申请中提供的一个或多个示例的说明和图示不意在以任何方式限制或约束如权利要求的发明的范围。在该申请中提供的方面、示例和细节被视为足以传达所有权以及使得其他技术人员能够实现和使用本公开的最佳方式。本公开不应解释为限于在本申请提供的任何方面、示例或细节。无论是组合地或者单独地显示和描述,各个特征(结构上的和方法上的)都意在被选择性地包含或省去以产生具有特定特征集合的示例。已经提供了本申请的描述和图示说明,本领域技术人员可以设想落入在本申请实施的总的发明构思的较宽方面的主旨内的、没有背离本公开的较宽范围的变型例、修改例和可替代的示例。

Claims (15)

1.一种用于改进根据现有架构提供数据可视化的计算机的功能的计算机执行的方法,包括:
管理信息的流水线流,其中,所述信息用于通过将变换插入到所述流水线流中以定制可视化来经由所述可视化图形地表示包括系列的数据;
接收所述数据和所述可视化的表面描述;
基于所述表面描述创建几何形状以在所述可视化内图形地表示所述数据的每个系列,其中,所述变换定制所述几何形状中的一个或多个;以及
将定制的几何形状发送到能够操作用于根据所述变换来渲染所述可视化的客户端。
2.根据权利要求1所述的计算机执行的方法,其中,插入的变换是数据变换,其中,所述数据变换修改接收的数据的格式,其中,根据修改的格式的数据能够操作用于产生所述定制的几何形状。
3.根据权利要求1所述的计算机执行的方法,其中,插入的变换是几何形状变换,其中,所述几何形状变换修改所述定制的几何形状是如何由所述客户端渲染的。
4.根据权利要求1所述的计算机执行的方法,其中,插入的变换是系列布局,其中,所述系列布局修改创建的几何形状以在所述可视化内图形地表示所述数据的系列中的至少一个。
5.根据权利要求1所述的计算机执行的方法,其中,所述客户端能够操作用于呈现要被插入的多个变换,所述要被插入的多个变换是基于所述多个变换中的每个变换的特征来被确定为适于所述数据的,其中,所述多个变换中的每个变换包括能够操作以向所述客户端指示其特征的注释。
6.根据权利要求1所述的计算机执行的方法,其中,所述信息的流水线流是单向的,其中,所述信息从所述客户端流向数据可视化平台,所述数据可视化平台能够操作用于创建所述几何形状,并且流回到所述客户端,在所述客户端处所述几何形状在所述可视化内被渲染。
7.根据权利要求1所述的计算机执行的方法,其中,所述信息的流水线流包括:
数据变换阶段,对应于接收所述数据和所述可视化的表面描述;
布局变换阶段,对应于创建所述几何形状;
几何形状变换阶段,对应于渲染所述可视化;并且
其中,所述变换能够操作用于在所述阶段的每一个阶段处被插入。
8.一种用于改进根据现有架构提供数据可视化的计算机的功能的系统,包括:
处理器;以及
包括指令的存储器存储设备,当所述指令由所述处理器执行时,使所述计算设备能够操作用于提供:
数据可视化平台,包括:
系列布局模块,能够操作用于创建几何形状以在可视化中图形地表示数据系列;以及
核心引擎,能够操作用于:
接收所述数据系列和所述可视化的表面描述;
将所述数据系列和所述表面描述发送到所述系列布局模块,以基于所述表面描述创建所述几何形状;以及
基于所述几何形状和所述表面描述组装所述可视化;以及
扩展模块,能够操作用于将变换插入到所述数据可视化平台中以定制所述可视化,其中,所述变换修改由所述数据可视化平台使用的信息以提供定制的可视化。
9.根据权利要求8所述的系统,其中,所述变换是数据变换,其中,所述数据变换能够操作用于修改接收的数据的格式。
10.根据权利要求8所述的系统,其中,所述变换是几何形状变换,其中,所述几何形状变换能够操作用于修改所述几何形状是如何被渲染的。
11.根据权利要求8所述的系统,其中,所述变换是布局变换,其中,所述布局变换能够操作用于修改所述几何形状如何被定义以在所述可视化中图形地表示所述数据系列。
12.根据权利要求11所述的系统,其中,所述布局变换还能够操作用于在所述可视化内提供共享功能。
13.根据权利要求8所述的系统,其中,所述数据可视化平台包括所述信息在其中流动的单向流水线,所述单向流水线包括:
数据变换阶段,对应于接收所述数据和所述可视化的表面描述;
布局变换阶段,对应于创建所述几何形状;
几何形状变换阶段,对应于组装所述可视化;并且
其中,所述扩展模块还能够操作用于在所述阶段的每一个阶段处插入所述变换。
14.根据权利要求8所述的系统,其中,所述变换包括系列布局,其中,所述系列布局包括能够操作用于将所述系列布局与所述系统隔离的接口,并且仅向所述系列布局提供所述数据和来自所述表面描述的坐标空间,其中,所述系列布局能够操作用于根据所述数据和所述坐标空间产生几何形状。
15.一种能够操作用于改进根据现有架构提供数据可视化的计算机的功能的计算设备,包括:
处理器;以及
包括指令的存储器存储设备,当所述指令由所述处理器执行时,使所述计算设备能够操作用于:
管理信息的单向流水线流,其中,所述信息用于通过将变换插入到流水线流中以定制可视化来经由所述可视化图形地表示数据,其中,所述单向流水线流包括数据变换阶段、布局变换阶段和几何形状变换阶段;
接收所述数据和所述可视化的表面描述,其中,所述数据包括数据系列,并且其中,接收所述数据和表面描述对应于所述数据变换阶段;
将所述数据的数据系列和所述表面描述提供给系列布局,以创建几何形状以在所述可视化内图形地表示每个数据系列,其中,创建几何形状对应于所述布局变换阶段;
将所述几何形状发送到能够操作用于渲染所述可视化的客户端,其中,发送对应于所述几何形状变换阶段;以及
其中,所述变换在所述阶段中的一个阶段中被插入以定制所述几何形状中的一个或多个。
CN201580055999.2A 2014-10-14 2015-10-14 数据可视化可扩展架构 Pending CN107077752A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462063741P 2014-10-14 2014-10-14
US62/063,741 2014-10-14
US14/683,079 2015-04-09
US14/683,079 US20160104307A1 (en) 2014-10-14 2015-04-09 Data visualization extensibility architecture
PCT/US2015/055417 WO2016061159A1 (en) 2014-10-14 2015-10-14 Data visualization extensibility architecture

Publications (1)

Publication Number Publication Date
CN107077752A true CN107077752A (zh) 2017-08-18

Family

ID=55655563

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201580055954.5A Pending CN106852178A (zh) 2014-10-14 2015-10-14 动画架构
CN201580055999.2A Pending CN107077752A (zh) 2014-10-14 2015-10-14 数据可视化可扩展架构
CN201580055854.2A Pending CN106796734A (zh) 2014-10-14 2015-10-14 针对数据可视化的性能优化

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201580055954.5A Pending CN106852178A (zh) 2014-10-14 2015-10-14 动画架构

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201580055854.2A Pending CN106796734A (zh) 2014-10-14 2015-10-14 针对数据可视化的性能优化

Country Status (5)

Country Link
US (6) US10430382B2 (zh)
EP (4) EP3207527B1 (zh)
KR (1) KR20170067853A (zh)
CN (3) CN106852178A (zh)
WO (4) WO2016060879A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113052942A (zh) * 2021-03-31 2021-06-29 北京字节跳动网络技术有限公司 图表生成方法、装置、存储介质及电子设备

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10347018B2 (en) 2014-09-08 2019-07-09 Tableau Software, Inc. Interactive data visualization user interface with hierarchical filtering based on gesture location on a chart
US10347027B2 (en) 2014-09-08 2019-07-09 Tableau Software, Inc. Animated transition between data visualization versions at different levels of detail
US10706597B2 (en) * 2014-09-08 2020-07-07 Tableau Software, Inc. Methods and devices for adjusting chart filters
US10380770B2 (en) 2014-09-08 2019-08-13 Tableau Software, Inc. Interactive data visualization user interface with multiple interaction profiles
US10635262B2 (en) 2014-09-08 2020-04-28 Tableau Software, Inc. Interactive data visualization user interface with gesture-based data field selection
US10430382B2 (en) 2014-10-14 2019-10-01 Microsoft Technology Licensing, Llc Data visualization architecture
US10353793B2 (en) 2014-11-05 2019-07-16 Oracle International Corporation Identifying improvements to memory usage of software programs
US20160162165A1 (en) * 2014-12-03 2016-06-09 Harish Kumar Lingappa Visualization adaptation for filtered data
US10838207B2 (en) 2015-03-05 2020-11-17 Magic Leap, Inc. Systems and methods for augmented reality
CN112764536A (zh) 2015-03-05 2021-05-07 奇跃公司 用于增强现实的系统和方法
FR3033919B1 (fr) * 2015-03-20 2018-09-07 Niel Vassort Thomas Procede de generation d'une sequence video cyclique
US9786081B1 (en) * 2015-05-14 2017-10-10 Domo, Inc. Transitioning between visual representations
US11068647B2 (en) * 2015-05-28 2021-07-20 International Business Machines Corporation Measuring transitions between visualizations
US10896532B2 (en) 2015-09-08 2021-01-19 Tableau Software, Inc. Interactive data visualization user interface with multiple interaction profiles
US9905034B2 (en) * 2015-09-14 2018-02-27 Salesforce.Com, Inc. Secure isolation of scripting from native graphic rendering of animated data visualizations
US10115213B2 (en) * 2015-09-15 2018-10-30 Salesforce, Inc. Recursive cell-based hierarchy for data visualizations
US10089368B2 (en) 2015-09-18 2018-10-02 Salesforce, Inc. Systems and methods for making visual data representations actionable
US10607139B2 (en) 2015-09-23 2020-03-31 International Business Machines Corporation Candidate visualization techniques for use with genetic algorithms
US10127136B2 (en) 2015-09-24 2018-11-13 Oracle International Corporation Identifying and visualizing suboptimal memory layouts in software programs
US10217254B2 (en) * 2015-09-24 2019-02-26 Oracle International Corporation Graphical editing of memory layout rules for software programs
US10489130B2 (en) 2015-09-24 2019-11-26 Oracle International Corporation Configurable memory layouts for software programs
EP3384468A4 (en) 2015-12-04 2019-01-30 Magic Leap, Inc. RELOCALIZATION SYSTEMS AND METHODS
US20170323028A1 (en) * 2016-05-04 2017-11-09 Uncharted Software Inc. System and method for large scale information processing using data visualization for multi-scale communities
US10685035B2 (en) 2016-06-30 2020-06-16 International Business Machines Corporation Determining a collection of data visualizations
US11037342B1 (en) * 2016-07-31 2021-06-15 Splunk Inc. Visualization modules for use within a framework for displaying interactive visualizations of event data
US10861202B1 (en) 2016-07-31 2020-12-08 Splunk Inc. Sankey graph visualization for machine data search and analysis system
US10459939B1 (en) 2016-07-31 2019-10-29 Splunk Inc. Parallel coordinates chart visualization for machine data search and analysis system
US10459938B1 (en) 2016-07-31 2019-10-29 Splunk Inc. Punchcard chart visualization for machine data search and analysis system
US10853380B1 (en) 2016-07-31 2020-12-01 Splunk Inc. Framework for displaying interactive visualizations of event data
IL264489B (en) 2016-08-02 2022-07-01 Magic Leap Inc Virtual and augmented reality systems at a fixed distance and methods
JP7036016B2 (ja) * 2016-08-31 2022-03-15 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
US10290130B2 (en) 2016-08-31 2019-05-14 International Business Machines Corporation Visualization of connected data
US10936559B1 (en) * 2016-09-28 2021-03-02 Amazon Technologies, Inc. Strongly-consistent secondary index for a distributed data set
PT109807A (pt) * 2016-12-23 2018-06-25 Inst Superior Tecnico Método para interação remota em tempo-real entre um telespetador e um programa de televisão em direto, e sistema que o implementa
US10304225B2 (en) 2016-12-30 2019-05-28 Microsoft Technology Licensing, Llc Chart-type agnostic scene graph for defining a chart
US11086498B2 (en) 2016-12-30 2021-08-10 Microsoft Technology Licensing, Llc. Server-side chart layout for interactive web application charts
US10395412B2 (en) 2016-12-30 2019-08-27 Microsoft Technology Licensing, Llc Morphing chart animations in a browser
US10812936B2 (en) 2017-01-23 2020-10-20 Magic Leap, Inc. Localization determination for mixed reality systems
US10593122B1 (en) 2017-01-24 2020-03-17 Amazon Technologies, Inc. Mirroring edge pixels
US10580167B1 (en) * 2017-01-24 2020-03-03 Amazon Technologies, Inc. Excluding masked regions of virtual reality (VR) frames from encoder processing
CN117197403A (zh) 2017-03-17 2023-12-08 奇跃公司 混合现实系统及使用该系统生成虚拟内容的方法
IL298822A (en) * 2017-03-17 2023-02-01 Magic Leap Inc A mixed reality system with color virtual content distortion and a method for creating virtual content using it
US10769752B2 (en) 2017-03-17 2020-09-08 Magic Leap, Inc. Mixed reality system with virtual content warping and method of generating virtual content using same
US10572970B2 (en) * 2017-04-28 2020-02-25 Google Llc Extracting 2D floor plan from 3D GRID representation of interior space
US11940990B1 (en) 2017-06-16 2024-03-26 Amazon Technologies, Inc. Global clock values for consistent queries to replicated data
US10572108B2 (en) * 2017-07-20 2020-02-25 Vmware, Inc. Hierarchical inventory tree operation
US10534587B1 (en) * 2017-12-21 2020-01-14 Intuit Inc. Cross-platform, cross-application styling and theming infrastructure
US11531556B2 (en) 2018-06-03 2022-12-20 Apple Inc. Framework providing application programming interface for user interfaces and animation
US10552445B1 (en) * 2018-07-17 2020-02-04 Merck Sharp & Dohme Corp. Progressive data distribution visualization
CN116483200A (zh) 2018-07-23 2023-07-25 奇跃公司 具有虚拟内容翘曲的混合现实系统和使用该系统生成虚拟内容的方法
WO2020040749A1 (en) * 2018-08-21 2020-02-27 Google Llc Dynamically generated interface transitions
CN109388306B (zh) * 2018-09-29 2022-04-29 创新先进技术有限公司 信息显示方法及装置
CN110162763A (zh) * 2019-07-18 2019-08-23 成都希盟泰克科技发展有限公司 海量质量验评表单数据进行智能配置的优化方法及其系统
US10896480B1 (en) 2019-09-23 2021-01-19 International Business Machines Corporation Visualization rendering using an extensible rendering sequence
US11316951B2 (en) * 2019-09-30 2022-04-26 Citrix Systems, Inc. Polytree queue for synchronizing data with a shared resource
US11348293B2 (en) * 2020-02-13 2022-05-31 Eric Schneider Dynamic price range symbol update and display system, method, and device
US11127185B1 (en) 2020-07-24 2021-09-21 Weta Digital Limited Manipulating code for animation control rig generation
US11562522B2 (en) 2020-07-24 2023-01-24 Unity Technologies Sf Method and system for identifying incompatibility between versions of compiled software code
US11341703B2 (en) 2020-07-24 2022-05-24 Unity Technologies Sf Methods and systems for generating an animation control rig
US11698776B2 (en) 2020-07-24 2023-07-11 Unity Technologies Sf Method and system for processing computer code
US11645803B2 (en) * 2020-08-07 2023-05-09 International Business Machines Corporation Animation effect reproduction
US11880385B1 (en) 2020-09-29 2024-01-23 Amazon Technologies, Inc. Ordering updates to secondary indexes using conditional operations
US11250022B1 (en) 2020-09-29 2022-02-15 Amazon Technologies, Inc. Offline index builds for database tables
CN112419458A (zh) * 2020-11-20 2021-02-26 青岛以萨数据技术有限公司 基于安卓动画的用户交互方法、服务器、介质及系统
US20220218438A1 (en) * 2021-01-14 2022-07-14 Orthosnap Corp. Creating three-dimensional (3d) animation
CN113633970B (zh) * 2021-08-18 2024-03-08 腾讯科技(成都)有限公司 动作效果的显示方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101911126A (zh) * 2008-01-18 2010-12-08 高通股份有限公司 图形处理系统中对表面创建的多格式支持
CN102708126A (zh) * 2011-02-28 2012-10-03 微软公司 数据可视化设计和查看系统和方法

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US543469A (en) * 1895-07-30 deuet
GB2270243B (en) 1992-08-26 1996-02-28 Namco Ltd Image synthesizing system
US6359629B1 (en) 1998-07-06 2002-03-19 Silicon Graphics, Inc. Backface primitives culling
US6636215B1 (en) * 1998-07-22 2003-10-21 Nvidia Corporation Hardware-assisted z-pyramid creation for host-based occlusion culling
US6480205B1 (en) 1998-07-22 2002-11-12 Nvidia Corporation Method and apparatus for occlusion culling in graphics systems
US7023440B1 (en) * 1998-09-14 2006-04-04 Fisher Rosemount Systems, Inc. Methods and apparatus for integrated display of process events and trend data
US6213944B1 (en) 1999-03-05 2001-04-10 Atl Ultrasound, Inc. Ultrasonic diagnostic imaging system with a digital video recorder with visual controls
US7500188B1 (en) 2000-04-26 2009-03-03 Novarra, Inc. System and method for adapting information content for an electronic device
US6853375B2 (en) * 2000-05-10 2005-02-08 Cognos Incorporated Method for preemptive screen rendering
US6859217B2 (en) 2000-07-19 2005-02-22 Microsoft Corporation System and method to display and manage data within hierarchies and polyarchies of information
US7765255B2 (en) 2002-07-30 2010-07-27 Sap Ag Extended web infrastructure for business applications
US7171412B2 (en) 2002-10-07 2007-01-30 Sun Microsystems, Inc. Restricted access model for hierarchical data structures
US7949953B2 (en) * 2003-06-13 2011-05-24 Sap Aktiengesellschaft Designing and generating charts to graphically represent data in a data source
JP4121125B2 (ja) 2003-09-10 2008-07-23 インターナショナル・ビジネス・マシーンズ・コーポレーション グラフィックス・イメージ生成装置及びその方法、データ解析装置及びその方法並びにプログラム
US7511718B2 (en) * 2003-10-23 2009-03-31 Microsoft Corporation Media integration layer
US8090776B2 (en) 2004-11-01 2012-01-03 Microsoft Corporation Dynamic content change notification
US7911467B2 (en) 2005-12-30 2011-03-22 Hooked Wireless, Inc. Method and system for displaying animation with an embedded system graphics API
US8487937B2 (en) 2006-01-04 2013-07-16 Microsoft Corporation Representing animation as a static image on a graphical user interface
US9019300B2 (en) * 2006-08-04 2015-04-28 Apple Inc. Framework for graphics animation and compositing operations
US8990258B2 (en) * 2006-12-29 2015-03-24 Izenda, Inc. Self-service database reporting systems and methods
US7737979B2 (en) 2007-02-12 2010-06-15 Microsoft Corporation Animated transitions for data visualization
CN101111049B (zh) 2007-08-14 2010-07-28 华为技术有限公司 实现一个小区覆盖多区域的系统、方法和网络设备
US8184096B2 (en) 2007-12-04 2012-05-22 Apple Inc. Cursor transitions
US8346897B2 (en) * 2008-02-25 2013-01-01 Jon Jaroker System and method for deploying and maintaining software applications
US20090327921A1 (en) 2008-06-27 2009-12-31 Microsoft Corporation Animation to visualize changes and interrelationships
US8176096B2 (en) * 2008-12-18 2012-05-08 Microsoft Corporation Data visualization interactivity architecture
US8638343B2 (en) * 2009-04-30 2014-01-28 Microsoft Corporation Data visualization platform performance optimization
US9250926B2 (en) 2009-04-30 2016-02-02 Microsoft Technology Licensing, Llc Platform extensibility framework
US8725775B2 (en) 2009-06-03 2014-05-13 Business Objects Software Limited Identifying and abstracting a visualization point from an arbitrary two-dimensional dataset into a unified metadata for further consumption
US9402058B2 (en) 2009-07-22 2016-07-26 Nec Corporation Content delivery system, content delivery method and content delivery program
US8527458B2 (en) 2009-08-03 2013-09-03 Oracle International Corporation Logging framework for a data stream processing server
US8694906B2 (en) 2010-04-15 2014-04-08 Adobe Systems Incorporated Dynamic visualization of physical and geographical multitenant cloud computing
US20110285727A1 (en) 2010-05-24 2011-11-24 Microsoft Corporation Animation transition engine
US8244743B2 (en) 2010-06-08 2012-08-14 Google Inc. Scalable rendering of large spatial databases
JP5750103B2 (ja) 2010-06-16 2015-07-15 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America アニメーション制御装置、アニメーション制御方法およびアニメーション制御プログラム
EP2589023B1 (en) 2010-06-30 2021-05-19 Barry Lynn Jenkins System and method of from-region visibility determination and delta-pvs based content streaming using conservative linearized umbral event surfaces
US9292587B2 (en) 2010-07-21 2016-03-22 Citrix System, Inc. Systems and methods for database notification interface to efficiently identify events and changed data
US9069557B2 (en) 2010-12-17 2015-06-30 Microsoft Technology Licensing, LLP Business intelligence document
US20120313957A1 (en) 2011-06-09 2012-12-13 Microsoft Corporation Staged Animated Transitions for Aggregation Charts
US9262849B2 (en) 2011-11-14 2016-02-16 Microsoft Technology Licensing, Llc Chart animation
US20130179791A1 (en) 2011-12-16 2013-07-11 Webotics Inc. System and method for real-time data in a graphical user interface
US9286162B2 (en) 2012-02-02 2016-03-15 Netapp, Inc. System and method for guaranteeing consistent data synchronization from a volatile data source
US9530272B2 (en) 2012-02-22 2016-12-27 Zotobi Management Ltd. System and method for displaying multiple activities
US20130271472A1 (en) 2012-04-12 2013-10-17 Motorola Mobility, Inc. Display of Value Changes in Between Keyframes in an Animation Using a Timeline
US20140046923A1 (en) 2012-08-10 2014-02-13 Microsoft Corporation Generating queries based upon data points in a spreadsheet application
US8631034B1 (en) 2012-08-13 2014-01-14 Aria Solutions Inc. High performance real-time relational database system and methods for using same
US9075618B2 (en) 2012-11-02 2015-07-07 Microsoft Technology Licensing, Llc Cross-platform data visualizations using common descriptions
KR20140066392A (ko) 2012-11-23 2014-06-02 삼성전자주식회사 캐시 메모리 및 캐시 메모리를 포함하는 어플리케이션 프로세서의 데이터 관리 방법
US9910574B2 (en) 2012-12-21 2018-03-06 What-Ifolution Technology Bv Method and system for visualizing and manipulating graphic charts
WO2014130580A2 (en) 2013-02-19 2014-08-28 Quick Eye Technologies Inc. Data visualization techniques
US10691309B2 (en) 2013-03-27 2020-06-23 Broadsign Serv, Llc Media element transition electronic device, method and application
CN103678578B (zh) * 2013-12-10 2017-07-18 广东威创视讯科技股份有限公司 一种数据可视化处理方法、服务器及数据可视化处理系统
US9767145B2 (en) 2014-10-10 2017-09-19 Salesforce.Com, Inc. Visual data analysis with animated informational morphing replay
US10430382B2 (en) 2014-10-14 2019-10-01 Microsoft Technology Licensing, Llc Data visualization architecture

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101911126A (zh) * 2008-01-18 2010-12-08 高通股份有限公司 图形处理系统中对表面创建的多格式支持
CN102708126A (zh) * 2011-02-28 2012-10-03 微软公司 数据可视化设计和查看系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FABIAN NUNEZ: "An extended spreadsheet paradigm for data visualization systems,and its implementation", 《MASTER’S THESIS,UNIVERSITY OF CAPE TOWN》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113052942A (zh) * 2021-03-31 2021-06-29 北京字节跳动网络技术有限公司 图表生成方法、装置、存储介质及电子设备
CN113052942B (zh) * 2021-03-31 2023-06-30 抖音视界有限公司 图表生成方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
EP3207529A1 (en) 2017-08-23
EP3633630A1 (en) 2020-04-08
KR20170067853A (ko) 2017-06-16
WO2016061157A1 (en) 2016-04-21
US20160104318A1 (en) 2016-04-14
CN106852178A (zh) 2017-06-13
US20160104308A1 (en) 2016-04-14
EP3207527B1 (en) 2019-11-20
CN106796734A (zh) 2017-05-31
EP3207527A1 (en) 2017-08-23
WO2016061159A1 (en) 2016-04-21
US20160104307A1 (en) 2016-04-14
US10810159B2 (en) 2020-10-20
US10430382B2 (en) 2019-10-01
US20160104306A1 (en) 2016-04-14
EP3207528A1 (en) 2017-08-23
WO2016060879A1 (en) 2016-04-21
US20160104311A1 (en) 2016-04-14
US20160103828A1 (en) 2016-04-14
WO2016061158A1 (en) 2016-04-21
US10216750B2 (en) 2019-02-26

Similar Documents

Publication Publication Date Title
CN107077752A (zh) 数据可视化可扩展架构
US10620921B2 (en) Application system for generating 3D applications
US10565404B2 (en) Autodetection of types and patterns
US10388077B2 (en) Three-dimensional environment authoring and generation
CN104350493B (zh) 将数据变换成可消费的内容
CN106062705B (zh) 跨平台渲染引擎
CN104471564B (zh) 在将数据变换成可消费内容时创建变型
CN105683946B (zh) 电子表格应用中的无缝网格和画布集成
CN112230909B (zh) 小程序的数据绑定方法、装置、设备及存储介质
CN102282442A (zh) 用于映射并检视事件的工具以及方法
CN105830056B (zh) 与表格应用函数记号交互
Badam et al. Munin: A peer-to-peer middleware for ubiquitous analytics and visualization spaces
CN104395962A (zh) 基于作者偏好显示文档
CN103092612A (zh) 实现安卓操作系统3d桌面贴图的方法及电子装置
CN108139895A (zh) 字体字型预览
US20170124051A1 (en) Extensibility of compound data objects
CN106030572B (zh) 与外部内容项的经编码的关联
Fanini et al. Building blocks for multi-dimensional WebXR inspection tools targeting cultural heritage
KR101081422B1 (ko) 게임이미지 제작 및 복원을 위한 제작기 및 기록매체와, 게임이미지 공유 서비스를 제공하기 위한 방법
Pick et al. A framework for developing flexible virtual-reality-centered annotation systems
CN106933543A (zh) 基于We3D的智能商务平台组件开发方法
Styliaras Towards a web-based archaeological excavation platform for smartphones: review and potentials
KR20220048105A (ko) 게임 데이터 제작 장치 및 게임 데이터 제작 방법
TW201204100A (en) Remote CPU-less decompression
JP2010250688A (ja) 情報処理装置、方法およびプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170818