图表中放置元素的布局的方法、系统和计算机可读介质的制作方法

文档序号:6651082阅读:170来源:国知局
专利名称:图表中放置元素的布局的方法、系统和计算机可读介质的制作方法
背景技术
图表程序(诸如电子表格应用程序、字处理应用程序和显示应用程序)能够从用户提供的数据中创建各个种类的图表。通常图表程序生成带有固定布局的图表,其中根据预先定义的格式安排图表元素(例如标题、图例、绘图区域等等)。然而许多用户希望保有对图表元素布局的某些控制使得他们能够控制这些元素的布置以影响图表的整个外观、遵守某个演示标准或者强调图表中示出的某个特定细节。
为此目的,业已开发出允许用户手动改变某些图表元素位置(即手动布局)的图表程序。但是这些图表程序不能够为用户寻找剩余元素的合适位置提供任何帮助。例如,用户可能会在条形图表内重新放置图例和/或调整该图例的大小,而同时由图表程序自动生成的其他元素(诸如绘图区域)保持不变。此外,在当前的图表程序中,重新放置和/或调整大小的图表元素在相应于该元素先前的位置的该图表中创建了空闲空间。响应于由图表元素的手动布局所创建的空闲空间,当前的图表程序扩展图表绘图区域用以填充由手动布局元素创建的空闲空间。但是这些方法常常导致当手动元素连同由图表程序自动放置的元素被布置时不被接受的视觉布局。
这是基于上述和其他的考虑做出了本发明的各个实施例。

发明内容
根据本发明,上述和其他的问题可通过用于确定由图表应用程序创建的图表中自动放置元素以及用户放置元素的布局的方法、系统和计算机可读介质来解决。用户放置的元素包括已经被用户移动和/或调整大小的图表元素。自动放置的元素包括根据由图表应用程序自动计算出的位置和大小而已经被布置的图表元素。
根据本发明的一个方面,本方法包括通过选择一组先前在图表内布置的自动放置的图表元素和用户放置的图表元素做出图表元素的第一个“传递”并且根据由图表应用程序自动计算出的位置和大小自动布置自动放置的图表元素和用户放置的图表元素。这样就计算最初的图表布局,好像所有的图表元素都是自动放置的元素。本方法还包括通过从图表中自动布置的元素中重新选择每一个元素来做出图表元素的第二个“传递”,确定所选的图表元素是否是用户放置的图表元素,并且如果所选的图表元素是用户放置的图表元素,则根据用户指定的布局在图表中布置用户放置的图表元素。如果所选的图表元素都不是用户放置的图表元素,那么就保持为这些元素先前自动计算出的位置和大小。
根据用户指定的布局在图表中布置用户放置的元素可以包括根据该用户在图表内先前的移动和/或调整元素的大小来重新放置并且调整用户放置图表元素。在根据用户指定布局在图表中布置用户放置图表元素的情况下,本方法还可包括确定该用户放置图表元素是否与图表中数据点相关联,如果该用户放置图表元素与图表中数据点相关联,随后布置用户放置图表元素作为到根据用户指定布局计算出的数据点参考位置的偏移,如果该用户放置图表元素与图表中数据点不相关联,随后用户放置图表元素的布置就与根据用户指定布局计算出的图表区域成比例。
在布置用户放置图表元素作为到根据用户指定布局计算出的数据点参考位置的偏移的情况下,本方法还包括计算用户放置图表元素的布局位置和布局大小,所述用户放置图表元素利用了代表着先前计算出的的大小和用户放置元素中心到数据点参考位置的位置偏移的值。在用户放置图表元素的布置与根据用户指定布局计算出的图表区域成比例的情况下,本方法还包括利用先前算出的用户放置元素的中心、宽和长与图表区域的宽长比例来计算用户放置图表元素的布局位置和布局大小。
本发明的其他方面还可作为计算机进程、计算机系统或作为诸如计算机程序产品或计算机可读媒介之类的生产物品而得以实现。计算机程序产品可以是计算机系统可读的并且能够编码指令的计算机程序用于执行计算机进程的计算机存储媒介。计算机程序产品还可以是计算机系统可读的并且编码指令的计算机程序用于执行计算机进程的位于载波上传播信号。
作为本发明特征的这些或其他各种特性和优点将在阅读了随后详尽说明书和附图之后变得显而易见。


图1是示出了由本发明实施例提供并在实施例中利用的计算机系统的计算机系统结构图;图2是根据本发明的一个示意性实施例由图1的计算机系统内的图表应用程序生成的一幅示例性图表的截图;以及图3是根据本发明的一个示意性实施例由图1的计算机系统内的图表应用程序执行的一个示意性例程,该例程用于确定图表中自动放置元素和用户放置元素的布局。
具体实施例方式
现在参见在其中相同序号代表相同元素的附图,将要描述本发明的各个方面。特别地,图1和相应的的讨论想要提供一个能够实现本方面的简要通用的合适计算机环境描述。虽然在本发明上下文中描述的程序模块是结合了可在个人计算机操作系统上运行的应用程序而执行的,但是本领域普通技术人员将认识到也可结合其他类型的计算机系统和程序模块实现本发明。
程序模块通常包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构或其他数据类型。此外,本领域普通技术人员可以理解也能使用包括手持设备、多处理器系统、基于多处理器或可编程消费电子品、小型机、大型机等在内的其他计算机系统配置来实践本发明。也可以在由通信网络链接的远程处理设备执行任务的分布式计算环境内实践本发明。在分布式计算环境中,程序模块可以位于本地或远程存储器存储设备内。
现在参见图1,将描述用于在本发明各个实施例中利用的计算机2的说明性计算机结构。图1所示的计算机结构示出了传统桌上型或膝上型计算机,它包括了中央处理单元5(“CPU”)、包含随机存取存储器9(“RAM”)和只读存储器(“ROM”)11在内的系统存储器7以及将存储器耦合至CPU 5的系统总线12。帮助计算机内部各元件间在诸如启动期间传递信息的含有基本例程的基本输入/输出系统被存储在ROM 11内。计算机2还包括将在以下详述的用于存储操作系统10、应用程序以及其他程序模块的大容量存储设备14。
大容量存储设备14通过连接到总线12的大容量存储控制器(未示出)与CPU5相连。大容量存储设备14以及与其相关联的计算机可读媒介为计算机2提供了非易失性的存储装置。虽然这里包含的计算机可读媒介的描述涉及诸如硬盘或CD-ROM驱动的多个存储设备,但是本领域普通技术人员可以理解所述计算机可读媒介可以是任何能被计算机2访问的可用媒介。
出于说明而非限制,计算机可读媒介可以包括计算机存储媒介和通信媒介。计算机存储媒介包括以诸如计算机可读指令、数据结构、程序模块或者其他数据的任何信息存储方法和技术实现的易失性的和非易失性的、可移动和不可移动的媒介。计算机存储媒介包括但不限于RAM、ROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字通用盘(“DVD”)或者其他光学存储装置、磁带盒、磁带、磁盘存储装置或者其他磁性存储设备或者能够存储期望信息并可由计算机2访问的任何其他介质。
根据本发明的各个实施例,计算机2可以在通过诸如因特网的网络18使用逻辑连接至远程计算机的网络环境中运行。计算机2可以通过连接到总线12的网络接口单元20与网络18相连。应该认识到也可利用网络接口单元20与其他类型的网络和远程计算机系统相连。计算机2还包括用于接收和处理来自包括键盘、鼠标或电子笔(图1中未示出)在内的多个其他设备输入的输入/输出控制器22。类似地,输入/输出控制器22可以提供输出给显示屏、打印机或其他类型输出设备。
如上简述,在个人计算机2的多个存储设备14和RAM 9内可能存储了多个程序模块和数据,它们包括了适用于控制网络化个人计算机操作的操作系统10,诸如由华盛顿州雷蒙德的微软公司研发的WINDOWS XP操作系统。计算机2也能够执行一个或更多的应用程序。特别地,计算机2能够执行图表应用程序16。本领域普通技术人员可知,图表应用程序16提供从用户提供的数字和文本数据中创建包括柱形图、条形图、X-Y图、饼图、雷达图、圆环图、极性图的图表的功能。图表应用程序16具有为组成图表的文本、数值和其他要素添加各种格式选项的功能。
根据本发明示意性的实施例并且将在以下详尽描述,可利用图表应用程序16来确定图表中自动放置元素和用户放置元素的布局。正如在此的定义,“自动放置元素”是对应于由图表应用程序16确定的固定位置和大小的图表元素。“用户放置元素”(或“手动布局元素”)是已被用户根据其偏好移动过和/或调整大小的图表元素。可以理解的是根据本发明的各个实施例,即使已将一个图表元素移回和/或调整大小到由图表应用程序16自动建立的位置和大小,该元素仍然被认为是用户放置元素。
根据本发明的实施例,来自华盛顿州雷蒙德微软公司的包含了图表应用程序16的OFFICE套件还包括EXCEL电子表格应用程序、WORD字处理应用程序以及POWERPOINT演示应用程序。尽管如此也应该认识到,本发明描述的各个方面也可在来自其他生产商的其他应用程序中使用。此外,虽然在此描述的本发明的各个方面将在如上设备的应用程序中示出,但应该认识到也可利用其他类型的应用程序来具体表达本发明的各个方面。将参考图2图3描述由图表应用程序16执行的各功能的附件细节。
现参见图2,将根据本发明的一个示意性实施例描述由图表应用程序16生成的示意性图表200的截图。图表200是包括了绘图区域和数据柱形50、52、54和56的柱形图。图表200中的每个数据柱形50、52、54和56都对应着图表y轴上的一个数值。如下将参考图3详细描述图表200。
现参见图3,将描述一个说明性例程300,该例程300示出了由图表应用程序16执行的用于确定图表中自动放置元素和用户放置元素布局的进程。当阅读对在此示出的例程的讨论时,应该认识到本发明各个实施例的逻辑操作是(1)作为在计算系统上运行的一系列计算机实现的动作或程序模块和/或(2)作为计算系统内互连的机器逻辑电路或电路模块而实现的。该实现是依靠实现本发明的计算系统的性能要求的一个选择过程。因此,图3中示出的逻辑操作以及在此描述的本发明实施例的组成是作为各种操作、结构性设备、动作或模块被涉及的。本领域普通技术人员应该认识到,这些操作、结构性设备、动作和模块可以由软件、固件、特定用途逻辑电路和它们的任意组合在不背离本发明所附权利要求中阐明的精神和范围的情况下得以实现。
例程300在操作305处开始,其中图表应用程序16从图表应用程序16创建的图表中选择图表元素。特别地,图表应用程序16通过选择图表中最外面的元素作为第一图表元素来初启图表元素的第一个“传递”。例程300在操作310处继续,其中图表应用程序16确定除了当前所选的图表元素之外,该图表是否还包括更多的图表元素。如果在操作310处图表应用程序16确定该图表包括更多元素,那么随后例程300行进到操作315,其中图表应用程序16对应于在图表中预先确定的固定位置和大小来布置所选的图表程序作为自动放置的元素。应该理解到根据本发明的的各个实施例,在图表元素的第一个“传递”期间,即使某一元素是用户放置元素或先前手动放置的元素,图表应用程序16也把所有的元素作为自动放置元素布置。从操作315处,例程300行进到操作320,其中图表应用程序16在图表中选择下一个图表元素。从操作320处,例程300随后返回到操作310。
在操作310处,如果图表应用程序16确定该图表不再包括更多的可在图表中自动布置的元素,那么例程300随后行进到操作325处,其中图表应用程序16通过在操作325处重新选择第一图表元素来初启自动布置图表元素的第二个“传递”。随后例程300行进到操作330处,其中图表应用程序16确定除了当前所选的图表元素之外,该图表是否还包括更多的图表元素。如果在操作330处图表应用程序16确定该图表包括更多元素,那么随后例程300行进到操作335。
在操作335中,图表应用程序16确定当前所选元素是否为手动布局或用户放置元素。特别地,图表应用程序16再调用在操作315处被自动布置的元素的先前位置和大小。如果在操作335处,图表应用程序16确定当前所选元素不是用户放置元素(即该图表元素是自动放置元素),那么例程300随后分支行进到操作355,其中图表应用程序16在图表中选择下一个元素。应该认识到在第二个“传递”经过图表期间图表应用程序16确定某一自动放置图表元素的情况下,该自动放置图表元素的当前位置和大小在图表的重新布局期间保持不变。尽管如此,如下将详述,图表应用程序16将根据用户先前指定的布局(即通过手动调整图表元素大小和/或重新放置图表元素)调整用户放置或手动布局图表元素的大小或位置。
如果在操作335处,图表应用程序16确定当前所选元素是用户放置手动布局元素,那么例程300随后行进到操作340,其中图表应用程序16确定用户放置元素是否与图表中的数据点相关联。例如,与数据点相关的用户放置图表元素可以是在柱形图的绘图区域内与指定数值相关的柱形,诸如上述图2的图表200中的柱形52。如果在操作340处确定用户放置元素与图表中的数据点相关联,那么例程300随后行进到操作345。另一方面,如果确定用户放置元素不与图表中的数据点相关联,那么例程300随后分支行进到操作350。
在操作345处,图表应用程序16布置与数据点相关联的用户放置元素作为从该数据点“参考位置”的位置偏移。特别地,与数据点相关联的用户放置元素是作为从该数据点参考位置的位置偏移而重新放置和调整大小的。根据应该示意性实施例,数据点的参考位置是指示了该数据点图表元素位置的值。例如在图2的图表200中,柱形52的参考位置可以是对应着该柱形顶部的数值“5”。在折线图中,该参考位置可以是数据点标记的中心。根据本发明的各个实施例,所述“偏移”是具有线性轴(诸如柱形和x-y图表)图表的(x-线性的,y-线性的)位置偏移,或者是具有极轴(诸如饼图和极性图)图表的(径向线性的,角度的)位置偏移。应该认识到在用户最初处理与图表元素相关联的数据点(就是使之成为用户放置或手动布局元素)的情况下,图表应用程序16计算该元素的大小以及该元素到数据点参考位置的位置偏移。图表应用程序16利用算出的值在布局进程期间计算用户放置图表元素的位置和大小。从操作345,该例程300随后分支行进到操作355,其中图表应用程序16选择图表中下一个元素。
现在回到操作340,如果用户放置元素与数据点(例如图表标题或图例)不相关联,那么该例程300随后分支行进到操作350。在操作350处,图表应用程序16以与图表区域成比例来布置用户放置的元素。就是说重新放置和调整用户放置元素的大小使之与当前图表区域成比例。特别地,当用户操纵图表元素使之成为用户放置或手动布局图表元素的情况下,图表应用程序16计算包围该图表元素的范围框(未示出)的中心、长和宽与当前图表区域的长宽之比。图表应用程序16利用这些算出的比率在图表布局期间计算用户放置图表元素的位置和大小。该例程300随后从操作350行进至操作355,其中图表应用程序16选择图表中的下一个元素。
从操作355,例程300返回到操作330,其中图表应用程序16确定当前图表中是否还有更多的图表元素将要布置。如果图表中仍然具有任何剩余元素,那么例程300随后返回到操作340。如果图表中没有任何剩余元素,那么该例程结束。
基于所述,可以认识到本发明的各个实施例包括在图表应用程序中创建的图表中确定自动放置元素和用户放置元素布局的方法、系统和计算机可读介质。以上的说明、实例和数据为本发明的生产和组合使用提供了完整的描述。因为可以在不背离本发明精神和范围的情况下做出本发明的多个实施例,所以本发明的范围由所附的权利要求确定。
权利要求
1.一种用于在图表应用程序创建的图表中确定自动放置元素和用户放置元素的布局的方法,该方法包括(a)在图表中选择多个图表元素,其中所述多个图表元素包括自动放置图表元素和用户放置图表元素;(b)在图表中自动布置自动放置图表元素和用户放置图表元素;(c)从图表内自动布置的元素中选择第一图表元素作为当前图表元素;(d)确定当前的图表元素是否是用户放置图表元素;(e)如果当前的图表元素是用户放置图表元素,随后就根据用户指定的布局在图表中布置用户放置图表元素;(f)在图表中选择下一个图表元素作为当前图表元素;以及(g)为图表中多个图表元素中的每一个重复操作(c)-(f),直到所有的用户放置元素都在图表中布置。
2.如权利要求1所述的方法,其特征在于,如果当前的图表元素不是用户放置图表元素,随后就在图表中选择下一个图表元素作为当前图表元素。
3.如权利要求1所述的方法,其特征在于,根据用户指定的布局在图表中布置用户放置元素包括根据先前的用户操作来重新放置用户放置图表元素并调整其大小。
4.如权利要求1所述的方法,其特征在于,根据用户指定的布局在图表中布置用户放置图表元素包括确定用户放置图表元素是否与图表中的数据点相关联;如果该用户放置图表元素与图表中的数据点相关联,则将该用户放置图表元素作为离根据用户指定的布局计算出的数据点参考位置的偏移进行布置;如果该用户放置图表元素与图表中的数据点不相关联,则以根据用户指定的布局计算出的图表区域成比例的方式布置该用户放置图表元素。
5.如权利要求4所述的方法,其特征在于,将该用户放置图表元素作为离根据用户指定的布局计算出的数据点参考位置的偏移进行布置包括利用表示先前计算出的大小和用户放置元素的中心离数据点参考位置的位置偏移的值来计算该用户放置图表元素的布局位置和布局大小。
6.如权利要求4所述的方法,其特征在于,以根据用户指定的布局计算出的图表区域成比例的方式布置该用户放置图表元素包括利用先前计算出的用户放置图表元素的中心、宽度和高度与图表区域的宽度和高度的比率来计算该用户放置图表元素的布局位置和布局大小。
7.一种用于确定图表中的自动放置元素和用户放置元素的布局的系统,包括操作用于执行图表应用程序以布置多个图表元素的客户计算机,所述图表应用程序还可操作用于(a)在图表中选择多个图表元素,其中所述多个图表元素包括自动放置图表元素和用户放置图表元素;(b)在图表中自动布置自动放置图表元素和用户放置图表元素;(c)从图表内自动布置的元素中选择第一图表元素作为当前图表元素;(d)确定该当前图表元素是否是用户放置图表元素;(e)如果该当前图表元素是用户放置图表元素,则根据用户指定的布局在图表中布置用户放置图表元素;(f)在图表中选择下一个图表元素作为当前图表元素;以及(g)为图表中的多个图表元素中的每一个重复操作(c)-(f),直到所有的用户放置元素都在图表中布置。
8.如权利要求7所述的系统,其特征在于,如果该当前图表元素不是用户放置图表元素,就在图表中选择下一个图表元素作为当前图表元素。
9.如权利要求7所述的系统,其特征在于,根据用户指定的布局在图表中布置用户放置元素还包括根据先前的用户操作来重新放置用户放置图表元素并调整其大小。
10.如权利要求7所述的系统,其特征在于,根据用户指定的布局在图表中布置用户放置图表元素包括确定用户放置图表元素是否与图表中的数据点相关联;如果该用户放置图表元素与图表中的数据点相关联,则将该用户放置图表元素作为离根据用户指定的布局计算出的数据点参考位置的偏移进行布置;如果该用户放置图表元素与图表中的数据点不相关联,则以根据用户指定的布局计算出的图表区域成比例的方式布置该用户放置图表元素。
11.如权利要求10所述的系统,其特征在于,将该用户放置图表元素作为离根据用户指定的布局计算出的数据点参考位置的偏移进行布置包括利用表示先前计算出的大小和从数据点参考位置到用户放置元素中心的位置偏移的值来计算该用户放置图表元素的布局位置和布局大小。
12.如权利要求10所述的系统,其特征在于,根据用户指定的布局计算出的图表区域成比例的方式布置该用户放置图表元素包括利用先前计算出的用户放置元素的中心、宽度和长度与图表区域的宽度和长度的比率来计算该用户放置图表元素的布局位置和布局大小。
13.一种具有计算机可执行指令存储其上的计算机可读介质,在计算机执行这些指令的情况下,会使得计算机执行用于确定在由图表应用程序创建的图表中的自动放置元素和用户放置元素的布局的方法,包括(a)在图表中选择多个图表元素,其中所述多个图表元素包括自动放置图表元素和用户放置图表元素;(b)在图表中自动布置自动放置图表元素和用户放置图表元素;(c)从图表内的自动布置元素中选择第一图表元素作为当前图表元素;(d)确定该当前图表元素是否是用户放置图表元素;(e)如果该当前图表元素是用户放置图表元素,则就根据用户指定的布局在图表中布置用户放置图表元素;(f)在图表中选择下一个图表元素作为当前图表元素;以及(g)为图表中的多个图表元素中的每一个重复操作(c)-(f),直到所有的用户放置元素都在图表中被布置。
14.如权利要求13所述的计算机可读介质,其特征在于,如果当前的图表元素不是用户放置图表元素,则在图表中选择下一个图表元素作为当前图表元素。
15.如权利要求13所述的计算机可读介质,其特征在于,根据用户指定的布局在图表中布置用户放置元素包括根据先前的用户操作来重新放置用户放置图表元素并且调整其大小。
16.如权利要求13所述的计算机可读介质,其特征在于,根据用户指定的布局在图表中布置用户放置图表元素包括确定用户放置图表元素是否与图表中的数据点相关联;如果该用户放置图表元素与图表中的数据点相关联,则将该用户放置图表元素作为离根据用户指定布局计算出的数据点参考位置的偏移进行布置;如果该用户放置图表元素与图表中的数据点不相关联,则以根据用户指定的布局计算出的图表区域成比例的方式布置该用户放置图表元素。
17.如权利要求16所述的计算机可读介质,其特征在于,将该用户放置图表元素作为离根据用户指定布局计算出的数据点参考位置的偏移进行布置包括利用表示先前计算出的大小和从数据点参考位置到用户放置元素中心的位置偏移的值来计算该用户放置图表元素的布局位置和布局大小。
18.如权利要求16所述的计算机可读介质,其特征在于,根据用户指定的布局计算出的图表区域成比例的方式布置该用户放置图表元素包括利用先前计算出的用户放置图表元素的中心、宽度和长度与图表区域的宽度和长度的比率来计算该用户放置图表元素的布局位置和布局大小。
全文摘要
提供一种用于确定由图表应用程序创建的图表中关于自动放置元素和用户放置元素的布局的方法、系统和计算机可读介质。图表中用户放置的元素包括已经被用户移动和/或调整大小的图表元素。自动放置的元素包括根据由图表应用程序自动计算出的位置和大小而已经被布置的图表元素。图表应用程序执行一种方法,该方法包括在图表中选择先前布置的一组自动放置图表元素和用户放置图表元素并且根据由图表应用程序自动计算出的位置和大小自动布置自动放置图表元素和用户放置图表元素。本方法还包括从图表内自动布置的元素中重新选择每一个元素,确定所选的图表元素是否是用户放置图表元素,并且如果所选的图表元素是用户放置图表元素,随后就根据用户指定的布局在图表中布置用户放置图表元素。
文档编号G06F17/24GK1794220SQ20051012679
公开日2006年6月28日 申请日期2005年11月18日 优先权日2004年12月20日
发明者D·P·考瑞, J·H·李 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1