数据可视化的制作方法
【专利说明】数据可视化
[誦]宜量
[0002] 将数据可视化正变得越来越重要。各种组织通常具有由其支配的大量数据集,但 是它们缺乏对数据进行可视化的有意义的方式。对于小数据集而言创建简单的条形图可能 是相对容易的,但是随着数据集大小增加W及数据集内数据的特征变化,创建允许某人快 速且有效地将数据可视化的框架的任务变得令人生畏。
[0003] 此处要求保护的主题不限于解决任何缺点或仅在诸如上述环境运样的环境中操 作的各实施例。相反,提供该背景仅用于例示其中可实现所述一些实施例的一个示例性技 术领域。
[0004] SM
[0005] 简单来说,本文所述的主题的各方面设及同步可视化。在各方面中,调用程序发出 绘制一组形状的请求,该组形状具有在运些形状之间公共的形状类型。所述请求可W是用 于静态绘制或N个动画帖之一。如果设备具有可用的图形处理单元(GPU),则为GPU生成 GPU代码W绘制该组形状。否则,生成CPU代码来绘制该组形状。为了增强性能,绘制代码 针对调用函数指定的恒定的、数据映射的W及动画化的属性值来定制,且省略测试在绘制 形状之前可被计算的值的条件语句。
[0006] 提供本概述是为了简要地标识在W下详细描述中进一步描述的主题的一些方面。 本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要 求保护的主题的范围。
[0007] 除非上下文清楚地指出,否则短语"本文所描述的主题"指的是【具体实施方式】中描 述的主题。术语"方面"应被当作"至少一个方面"。标识【具体实施方式】中所描述的主题的 各方面不旨在标识所要求保护的主题的关键特征或必要特征。
[0008] 上述各方面和此处所描述的主题的其它方面是借助于示例说明的,并且不受附图 限制,附图中相同的标号指示相似的元素。
[0009] 附图简沐
[0010] 图1是表示其中可结合本文所描述的主题的各方面的示例性通用计算环境的框 图;
[0011] 图2是一般地表示根据本文所述的主题的各方面的示例性组件的框图;
[0012] 图3 -般地表示根据本文所述的主题的各方面的一些示例性数据结构、示例性枚 举、W及示例性接口;
[0013] 图4-14是一般地表示根据本文所述的主题的各方面可能发生的示例性动作的流 程图;化及
[0014] 图15是一般地表示根据本文所述的主题的各方面的、从批绘制引擎的调用程序 的角度可能发生的动作的流程图。
[001引详细描沐
[0016]定女
[0017] 如本文所使用的,术语"包括"及其变体要被当作开放式术语,表示"包括但不限 于"。除非上下文另外清楚地指示出,否则术语"或"要被当作"和/或"。术语"基于"要被 当作"至少部分地基于"。术语"一个实施例"和"一实施例"要被当作"至少一个实施例"。 术语"另一实施例"要被当作"至少一个其他实施例"。
[0018] 如本文所使用的,诸如"一"和"该"等术语包括了一个或多个所指示的项或动作。 具体而言,在权利要求书中,对某一项的引用一般表示存在至少一个运样的项,并且对一动 作的引用表示执行该动作的至少一个实例。
[0019]本文中有时可使用术语"第一"、"第二"、"第等等。在没有附加上下文的情况 下,权利要求中对运些术语的使用不意在暗示排序,而是用于标识的目的。例如,短语"第一 版本"和"第二版本"不一定意味着第一版本是真正的第一个版本或是在第二版本之前创建 的,或甚至是第一版本是在第二版本之前被请求或操作的。相反,运些措辞用来标识不同的 版本。上述的一个例外是术语"第一帖"被用于权利要求中的情况。
[0020] 标题仅是为了方便;关于给定话题的信息可在其标题指示该话题的章节之外被寻 找到。
[0021] 其他显式或隐式的定义可被包括在下文中。
[0022] 示例忡操作环培
[0023] 图1例示出可在其上实现本文所述的主题的各方面的合适的计算系统环境100的 示例。计算系统环境100仅为合适的计算环境的一个示例,并非旨在对本文所述的主题的 各方面的使用范围或功能提出任何限制。也不应该将计算环境100解释为对示例性操作环 境100中示出的任一组件或其组合有任何依赖性或要求。
[0024] 本文所描述的主题的各方面可与众多其他通用或专用计算系统环境或配置一起 操作。可适用于本文所述的主题的各方面的已知计算系统、环境或配置的示例包括个人计 算机、服务器计算机(无论是在裸机上还是作为虚拟机)、手持式或膝上型设备、多处理器 系统、基于微控制器的系统、机顶盒、可编程和不可编程消费电子设备、网络PC、小型计算 机、大型计算机、个人数字助理(PDA)、游戏设备、打印机、包括机顶盒、媒体中屯、或其它电器 的家电设备、嵌入汽车或附连到汽车的计算设备、其他移动设备、包括蜂窝电话、无线电话 和有线电话的电话设备、包括任何上述系统或设备的分布式计算环境等等。
[00巧]本文所述的主题的各方面可在由计算机执行的诸如程序模块等计算机可执行指 令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型 的例程、程序、对象、组件、数据结构等。本文所述的主题的各方面也可W在其中任务由通过 通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序 模块可W位于包括存储器存储设备的本地和远程计算机存储介质中。
[0026] 作为替代或补充,本文所述的功能可至少部分地由一个或多个硬件逻辑组件来执 行。例如且并非限制,可使用的硬件逻辑组件的说明性类型包括现场可编程口阵列(FPGA)、 程序专用集成电路(ASIC)、程序专用标准产品(ASS巧、片上系统(SOC)、复杂可编程逻辑器 件(CPLD)等等。
[0027] 参考图1,用于实现本文所述的主题的各方面的示例性系统包括计算机110形式 的通用计算设备。计算机可包括能够执行指令的任何电子设备。计算机110的组件可包括 处理单元120 (其可包括中央处理单元,W及在某些系统中的图形处理单元)、系统存储器 130、W及将包括所述系统存储器在内的各种系统组件禪合至所述处理单元120的一个或 多个系统总线(由系统总线121所代表)。当存在时,图形处理单元可被包括在主板上、图 形接口卡上、处理单元120内,或采用其他方式。
[0028] 系统总线121可W是若干类型的总线结构中的任一种,包括存储器总线或存储 器控制器、外围总线和使用各种总线体系结构中的任一种的局部总线。作为示例,而非限 审IJ,运样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA巧ISA) 总线、视频电子技术标准协会(VESA)局部总线、也称为夹层(Mezzanine)总线的外围 部件互连(PCI)总线、扩展外围部件互连(PCI-讶总线、高级图形端口(AGP)、W及PCI Express(PCIe)。
[0029] 处理单元120可W连接到硬件安全设备122。安全设备122可W存储并能够生成 密钥,所述密钥可用于保护计算机110的各个方面。在一个实施例中,安全设备122可W包 括可信平台模块灯PM)忍片、TPM安全设备等等。
[0030] 计算机110通常包括各种计算机可读介质。计算机可读介质可W是能由计算机 110访问的任何可用介质,并包含易失性和非易失性介质W及可移动和不可移动介质两者。 作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。
[0031] 计算机存储介质包括W用于存储诸如计算机可读指令、数据结构、程序模块或其 它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计 算机存储介质包括:^1、301、66?1?01、固态存储、闪存或其它存储器技术、〔0-1?01、数字多功 能盘值VD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可W用来储存所 期望的信息并可由计算机110访问的任意其它介质。计算机存储介质不包括通信介质。
[0032] 通信介质通常W诸如载波或其他传输机制等已调制数据信号来体现计算机可读 指令、数据结构、程序模块或其他数据,并包括任何信息传送介质。术语"已调制数据信号" 是指使得W在信号中编码信息的方式来设置或改变其一个或多个特性的信号。作为示例 而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,W及无线介质,诸如声学、 RF、红外线和其他无线介质。上述的任意组合也应包含在计算机可读介质的范围内。
[0033] 系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,如只 读存储器(ROM) 131和随机存取存储器(RAM) 132。包含诸如在启动期间帮助在计算机110 内的元件之间传输信息的基本例程的基本输入/输出系统133度IO巧通常存储在ROM131 中。RAM132通常包含处理单元120可立即访问和/或当前正在操作的数据和/或程序模 块。作为示例而非限制,图1例示出了操作系统134、应用程序135、其它程序模块136和程 序数据137。
[0034] 计算机110也可W包括其他可移动/不可移动、易失性/非易失性计算机存储介 质。仅作为示例,图1例示出了从不可移动非易失性磁介质中读取或向其写入的硬盘驱动 器141,从可移动非易失性磁盘152中读取或向其写入的磁盘驱动器151,W及从诸如CD R0M、DVD或其他光学介质等可移动非易失性光盘156中读取或向其写入的光盘驱动器155。 可W在该示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储 介质包括磁带盒、闪存卡和其他固态存储设备、数字多功能盘、其他光盘、数字录像带、固态 RAM、固态ROM等等。硬盘驱动器141可通过接口 140连接至系统总线121,而磁盘驱动器 151和光盘驱动器155可通过诸如接口 150之类的用于可移动非易失性存储器的接口连接 至系统总线121。
[0035]W上讨论并在图I中例示出的驱动器及其相关联的计算机存储介质为计算机110 提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图1中,硬盘驱 动器141被示为存储操作系统144、应用程序145、其他程序模块146和程序数据147。注 意,运些组件可与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也 可与它们不同。操作系统144、应用程序145、其他程序模块146和程序数据147在运里被 标注了不同的附图标记是为了说明至少它们是不同的副本。
[0036] 用户可W通过输入设备,如键盘162和定点设备161 (通常被称为鼠标、跟踪球或 触摸垫)向计算机110输入命令和信息。其它输入设备(未示出)可包括话筒(例如用于 输入语音或其他音频)、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、触敏屏、写字板、相机 (用于输入姿势或其他视觉输入)等等。运些W及其它输入设备通常通过禪合到系统总线 的用户输入接口 160连接到处理单元120,但也可通过诸如并行端口、游戏端口或通用串行 总线扣SB)之类的其它接口和总线结构来连接。
[0037] 通过使用上文标识的输入设备中的一个或多个,可建立自然用户接口(NUI)。NUI 可依赖于语音识别、触摸和指示笔识别、屏幕上和邻近该屏幕两者的姿势识别、空中姿势、 头和眼睛跟踪、语音和话音、视觉、触摸、姿势、机器智能等等。可被用来与用户交互的一些 示例性NUI技术可包括触敏显示器,话音和语音识别,意图和目的理解,使用深度相机(如 立体相机系统、红外相机系统、RGB相机系统、W及运些的组合)的运动姿势检测,使用加速 度计/巧螺仪的运动姿势检测,面部识别,3D显示,头部、眼睛和注视跟踪,沉浸式增强现实 和虚拟现实系统,W及用于使用电场传感电极巧EG和相关方法)的传感大脑活动的技术。
[0038] 监视器191或其他类型的显示设备也经由诸如视频接口 190之类的接口连接至系 统总线121。除了监视器W外,计算机还可包括诸如扬声器197和打印机196之类的其它外 围输出设备,它们可通过输出外围接口 195来连接。
[0039] 计算机110可使用到一个或多个远程计算机(诸如,远程计算机180)的逻辑连接 而在联网环境中操作。远程计算机180可W是个人计算机、服务器、路由器、网络PC、对等设 备或其他常见网络节点,且通常包括上文相对于计算机110描述的许多或所有元件,但在 图1中只示出存储器存储设备181。图1中所描绘的逻辑连接包括局域网(LAN) 171和广域 网(WAN) 173,但也可W包括电话网络、近场网络、W及其他网络。运样的联网环境常见于办 公室、企业范围计算机网络、内联网和因特网中。
[0040] 当在LAN联网环境中使用时,计算机110通过网络接口或适配器170连接到LAN 171。当在WAN联网环境中使用时,计算机110可包括调制解调器172或用于通过诸如因特 网等WAN173来建立通信的其他装置。可为内置或可为外置的调制解调器172可W经由用 户输入接口 160或其他合适的机构连接至系统总线121。在联网环境中,相关于计算机110 所示的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非限制,图1例 示出了远程应用程序185驻留在存储器设备181上。应当理解,所示的网络连接是示例性 的,并且可使用在计算机之间建立通信链路的其它手段。
[0041] 撒据可视化
[0042] 如先前所述,创建允许某人快速且有效地将数据可视化的框架是有挑战性的。图2 是一般地表示根据本文所述的主题的各方面的示例性组件的框图。图2中示出的各组件是 示例性的且不意味着包括一切的可能需要或包括的组件。此外,在其他实施例中组件的数 量可W不同,而不背离本文所述的主题的各方面的精神或范围。在一些实施例中,结合图2 描述的组件可被包括在其他组件(示出或未示出)中或者被放置在子组件中,而不背离本 文所述的主题的各方面的精神或范围。在一些实施例中,结合图2所描述的组件和/或功 能可跨多个设备分布。
[0043] 如本文所使用的,术语组件要被当作包括硬件,例如,设备的全部或一部分、一个 或多个软件模块或其部分的集合、一个或多个软件模块或其部分与一个或多个设备或其部 分的某种组合等等。
[0044] 例如,图2中所例示的组件可使用一个或多个计算设备来实现。运些设备可包括, 例如,个人计算机,服务器计算机,手持式或膝上型设备,多处理器系统,基于微控制器的系 统,机顶盒,可编程消费电子产品,网络PC,小型计算机,大型计算机,蜂窝电话,个人数字助 理(PDA),游戏设备,打印机,包括机顶盒、媒体中屯、或其它电器的家电设备、嵌入汽车或附 连到汽车的计算设备,其他移动设备,包括任何W上系统或设备的分布式计算环境等。
[00