BRPI0502554B1 - método e sistema de criação de um gráfico associado com um documento - Google Patents

método e sistema de criação de um gráfico associado com um documento Download PDF

Info

Publication number
BRPI0502554B1
BRPI0502554B1 BRPI0502554A BRPI0502554A BRPI0502554B1 BR PI0502554 B1 BRPI0502554 B1 BR PI0502554B1 BR PI0502554 A BRPI0502554 A BR PI0502554A BR PI0502554 A BRPI0502554 A BR PI0502554A BR PI0502554 B1 BRPI0502554 B1 BR PI0502554B1
Authority
BR
Brazil
Prior art keywords
chart
graph
data
format
document
Prior art date
Application number
BRPI0502554A
Other languages
English (en)
Inventor
P Cory Daniel
Vafiadis Miltos
Ling-Le-Hsiao Sissie
Original Assignee
Microsoft Corp
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 Corp, Microsoft Technology Licensing Llc filed Critical Microsoft Corp
Publication of BRPI0502554A publication Critical patent/BRPI0502554A/pt
Publication of BRPI0502554B1 publication Critical patent/BRPI0502554B1/pt

Links

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Document Processing Apparatus (AREA)
  • Image Generation (AREA)

Abstract

"formatos de utilização de gráficos comuns". um método de criação de um gráfico associado com um documento inclui a tradução de um objeto de gráfico em uma definição de gráfico com base em formato, onde o objeto de gráfico define o gráfico com os elementos de gráfico, e a definição de formato com base em formato define o gráfico com formatos, e a manutenção do objeto de gráfico no documento para permitir o acesso aos dados subjacentes contidos no gráfico. um sistema inclui um objeto de gráfico que define um gráfico com elementos de gráfico, um módulo de gráfico operável para criar formatos, e um módulo de criação de gráficos gerando uma definição de gráfico com base em formato no objeto de gráfico, onde a definição de gráfico com base em formato define o gráfico com formatos que podem ser criados pelo módulo de gráficos.

Description

Relatório Descritivo da Patente de Invenção para "MÉTODO E SISTEMA DE CRIAÇÃO DE UM GRÁFICO ASSOCIADO COM UM DOCUMENTO".
Fundamentos [001] Um gráfico é uma representação gráfica de dados numéricos. Os gráficos são particularmente úteis para apresentação de dados complicados de uma forma concisa e facilmente compreensível. No ambiente de publicação de desktop atual, os usuários podem criar apresentações impressionantes utilizando gráficos. Os gráficos são baseados em dados subjacentes que são registrados em um programa de aplicativo tal como "Excel" da MICROSOFT CORPORATION. Os dados subjacentes podem então ser utilizados para criar um gráfico de dados em vários formatos diferentes, tais como gráficos tipo torta, gráficos de barra, histogramas, gráficos lineares, etc. Adicionalmente, cada parte do gráfico pode ter cores, texturas e outros efeitos associados para aperfeiçoar a aparência do gráfico, que é muito importante para transportar a informação.
[002] Programas de aplicativo têm utilizado tradicionalmente chamadas de função primitiva para criar gráficos. A interface de exibição de gráficos (GDI ou GDI+) da "MICROSOFT Windows" e GEL da "MICROSOFT OFFICE", por exemplo, são interfaces de nível relativamente baixo que são freqüentemente utilizadas pelos programas de aplicativo para criar gráficos. Tais interfaces de baixo nível fornecem tipicamente as funções de criação de elementos de gráfico em um nível de pixel. Por exemplo, para se desenhar uma linha, um programa de aplicativo deve especificar um pixel inicial e um pixel final. Posteriormente, se a linha tiver que ser esticada, o programa de aplicativo deve especificar novamente o novo pixel inicial e/ou final. As interfaces tradicionais não incluem funções de nível mais alto, tal como uma função de esticamento de linha, para manusear um grupo de pixels como uma linha.
[003] Outro problema é que diferentes programas de aplicativos têm tradicionalmente criado gráficos diferentemente. Por exemplo, em "MICROSOFT Windows", um programa de aplicativo pode utilizar o GDI, enquanto outro aplicativo pode utilizar uma combinação de chamadas para GEL e GDI. Visto que os gráficos são criados diferentemente, elementos similares nos gráficos criados por diferentes programas de aplicativo podem parecer diferentes para o usuário. Dessa forma, um gráfico que do contrário parecería igual no MICROSOFT "PowerPoint" e "EXCEL", por exemplo, pode parecer ligeiramente diferente em dois programas de aplicativo.
[004] Os usuários freqüentemente copiam um gráfico de um programa de aplicativo e importam o mesmo para outro programa de aplicativo. Por exemplo, um gráfico pode ser copiado do "EXCEL" e colado em um documento do MICROSOFT "WORD" ou uma apresentação em "PowerPoint". Tradicionalmente, um usuário tem sido capaz de colar o gráfico como um objeto de gráfico ou uma imagem. Infelizmente, quando o usuário cola o gráfico como uma imagem, o gráfico é desvinculado dos dados subjacentes que foram utilizados para criar a imagem. Isso significa que o usuário não pode mais manipular os dados subjacente do gráfico através do gráfico colado. Por exemplo, o usuário não pode editar os dados numéricos ou rótulos do gráfico uma vez que o gráfico foi colado como uma imagem.
[005] Adicionalmente, quando não são colados como imagens, os gráficos nos documentos podem apresentar determinadas desvantagens. Essas desvantagens são basicamente decorrentes do fato de o gráfico que não está no formato de imagem não ser gerado com aspectos de apresentação em mente. Por exemplo, algumas vezes os gráficos aparecem com um efeito desalinhado que distrai a vista. Como outro exemplo, quando o usuário redimensiona o gráfico, o texto pode aparecer incomum visto que o escalonamento da fonte é impreciso. Como outro exemplo, o gráfico que não é colado como uma imagem algumas vezes aparece diferente na teia do computador e na impressão, devido a uma diferença no mapeamento coordenado.
[006] Dessa forma, existe uma necessidade de se ter capacidade de criar e manipular gráficos de forma consistente através dos aplicativos. Adicionalmente, existe a necessidade de se fornecer uma apresentação consistente e de alta qualidade de gráficos enquanto se permite que os usuários manipulem os elementos subjacentes do gráfico.
Breve Descrição das Figuras [007] Â Figura 1 ilustra um sistema de gráficos ilustrativo empregando o gráfico com base em forma utilizando um componente de gráfico comum;
[008] A Figura 2 é um fluxograma ilustrando a criação de um gráfico utilizando os formatos derivados de um objeto de gráfico;
[009] A Figura 3 é um fluxograma ilustrando a tradução de um objeto de gráfico para uma definição de gráfico com base em formato;
[0010] A Figura 4 ilustra um gráfico possuindo dados, rótulos, séries e outros elementos de gráfico que podem ser traduzidos para formatos e/ou agrupados pelo motor de tradução;
[0011] A Figura 5 ilustra um computador de finalidade geral que pode ser utilizado para implementar os sistemas de criação de gráficos comuns e métodos descritos aqui, Descricão Detalhada [0012] Descritas aqui estão várias implementações de sistemas e métodos para a criação e manipulação de gráficos. De acordo com as várias implementações descritas aqui, um gráfico é traduzido de um objeto de gráfico para uma definição com base em formato. O objeto de gráfico define as partes do gráfico em termos de elementos de grá- fico e faz referência aos dados de gráfico subjacentes nos quais o gráfico é baseado. Apesar de o gráfico ser criado como formatos, o objeto de gráfico é mantido para permitir a manipulação dos dados de gráfico subjacentes. Um componente de gráfico comum que é comum a um ou mais programas de aplicativo utiliza o objeto de gráfico para permitir que um usuário manipule os elementos subjacentes do gráfico.
[0013] A definição com base em formato define o gráfico em termos de formatos. A definição com base em formato é utilizada por um módulo de gráfico comum para fornecer serviços de criação de formato consistente e serviços de manipulação de formato para diferentes aplicativos. Adicionalmente, o módulo de gráficos comum fornece funções de manipulação de grupo, onde um grupo de formatos relacionados pode ser manipulado no gráfico.
[0014] A Figura 1 ilustra um sistema de criação de gráfico ilustrativo 100 para a realização de gráficos comuns utilizando uma definição de gráfico com base em formato. O termo criação de gráfico comum se refere a métodos comuns de manipulação de gráficos através de múltiplos aplicativos e/ou aplicativos diferentes. Incluídos no sistema 100 estão um programa de aplicativo 102 que fornece acesso a um documento 104 e um módulo de gráfico comum 106 para a criação do documento 104 em uma tela do monitor do computador 108.
[0015] Como utilizado aqui, um documento 104 é um arquivo legível por computador que inclui informação legível por usuário, tal como texto e gráficos. O documento 104 pode ser visualizado e editado por um usuário através da interface de usuário do programa de aplicativo 102. Tipos ilustrativos de documentos incluem, mas não estão limitados, a relatórios, apresentações ou documentos de texto convencionais. Dessa forma, dependendo do tipo de documento, o programa de aplicativo 102 pode ser, por exemplo, mas não limitado a, MICROSOFT "WORD", "POWERPOINT", "EXCEL", ou outro programa de aplicativo. Por meio de exemplo, como ilustrado na tela 108, o documento 104 é uma "apresentação" que é freqüentemente, porém nem sempre, associada com "POWERPOINT".
[0016] De importância particularmente relevante para a presente descrição é um gráfico 110 na apresentação. O gráfico 110 ilustrado na implementação em particular da Figura 1 é um gráfico de colunas. De acordo com outras implementações, o gráfico 110 não está limitado a um gráfico de coluna, mas pode ser qualquer outro tipo de gráfico, tal como, mas não limitado a, um gráfico tipo torta, um gráfico linear, ou uma representação espalhada. Os vários dados no gráfico 110 são originalmente especificados pelo documento 104. O documento 104 especifica o gráfico 110 com uma definição de gráfico chamada de objeto de gráfico 112.
[0017] O objeto de gráfico 112 define o gráfico 110 em termos de elementos de gráfico. Geralmente, um elemento de gráfico é uma unidade de dados que representa um aspecto de um gráfico. Tipicamente um elemento de gráfico representa um aspecto do gráfico com relação à informação que o gráfico transporta ou do tipo de gráfico. Elementos de gráfico ilustrativos incluem barras (por exemplo, para um gráfico de barras), um eixo de gráfico, legendas de gráfico, títulos de gráfico, rótulos de gráfico, cores de elemento, fontes de texto, localização de elemento, fontes de dados e assim por diante. Uma implementação do objeto de gráfico 112 é um conjunto de código de linguagem de marcação extensível (XML). Para ilustrar, um exemplo do código XML de um objeto de gráfico 112 é ilustrado a seguir: - <c:Chart xmlns:c=“cliart” xmlns:s=“shape”> - <c:Scaling> <c:ScaleID>0</c:ScaleID> <c:Orientatioii>MinMax</c:Orientation> </c:Scaling> - <c:Scaling> <c:ScaleID>l</c:ScaleID> <c:Orientation>MinMax</c:Orientation> </c:Scaling> <c:Name>Chart l</c:Name> - <c:PlotArea> <c:Shape /> - <c:Grapli> <c: Ty pe >C olumn </c: Typ e > <c:SubType>Clustered</c:SubType> <c :Overlap >0 </c: Overlap > <c:ScaleID>0</c:ScaleID> <c:ScaleID>l</c:ScaleID> - <c:Series> <c:lndex>0</c:lndex> <c:Name>Series l</c:Name> - <c:Shape> - <s:Fill> - <s:Pattern> <s:Title>Wide upward diagonal</s:Title> <s :Color>black</s :Color> <s :Color2>white</s:Color2> </s:Pattem> </s:Fill> - <s:Border> <s: Weight>0</s: Weight> <s:Solid>black</s:Solid> </s:Border> </c:Shape> - <c:DataLabels> - <c:Shape> - <s:Font> <s:FontName>Arial</s:FontName> <s:Size>18</s:Size> <s:AutoScale /> </s:Font> </c:Shape> - <c:Number> <c:FormatStrmg>0.0</c:FormatString> </c:Number> <c:ShowValue /> </c:DataLabels> - <c:Category> <c:DataSource>0</c:DataSource> <c: Data> Sheet 1! $ A$ 1: $ A$ 3 </c: Data> </c:Category> - <c:Value> <c:DataSource>0</c:DataSource> <c:Data>Sheetl !$B$1 :$B$3</c:Data> </c:Value> </c:Series> <c:PlotVisible /> </c:Graph> - <c:Axis> <c:Placement>Bottom</c:Placement> <c:AxisID>0</c:AxisID> <c:ScaleID>0</c:ScaleID> <c:CrossingAxis>l</c:CrossingAxis> - <c:Shape> - <s:Font> <s: FontN ame > Arial </s: FontN ame > <s:Size>18</s:Size> <s:AutoScale /> </s:Font> </c:Shape> - <c:Number> <c:SourceLmked /> <c:BuiltInFormat>0</c:BuiltInFormat> </c:Number> <c:MajorTick>None</c:MajorTick> <c:TickMarkSkip>l </c:TickMarkSkip> <c:Type>Automatic</c:Type> </c:Axis> - <c:Axis> <c :Placement>Left</c :Placement> <c:AxisID>l</c:AxisID> <c:ScaleID>l</c:ScaleID> <c:CrossmgAxís>0</c:CrossingAxis> <c :CrossesAt>Minimum</c :CrossesAt> <c:CrossBetween>Between</c:CrossBetween> - <c:Shape> - <s:Font> <s: FontN ame > Arial </s: FontN ame > <s:Size>18</s:Size> <s:AutoScale /> </s:Font> </c:Shape> - <c:Number> <c:SourceLinked /> <c:BuiltInFormat>0</c:BuiltInFormat> </c:Number> <c:MajorTick>Cross</c:MajorTick> <c:MinorTick>Cross</c:MinorTick> <c:Type>Value</c:Type> <c :Maj orUnit>5 </c:Maj orUnit> </c:Axis> </c:PlotArea> </c:Chart>
[0018] O documento 104 também possui tipicamente outros dados de documento 114, que incluem, mas não estão limitados a, texto e informação de formatação. De acordo com uma implementação, quando o programa de aplicativo 102 é lançado e o documento 104 é aberto, o objeto de gráfico 112 é passado para uma interface gráfica comum 116 do módulo gráfico comum 106 para criação.
[0019] A interface gráfica comum 116 determina que tipo de gráfico é representado pelo objeto de gráfico 112. Tipos de gráficos que podem ser manuseados pela interface gráfica comum 116 incluem, mas não estão limitados a, diagramas, gráficos ou formatos automáticos. O objeto de gráfico 112 inclui um identificador que indica que o mesmo define um gráfico. Com base no identificador de gráfico, a interface gráfica comum 116 determina que o objeto de gráfico 112 define um gráfico e envia o mesmo para um módulo de criação de gráfico comum 118.
[0020] O módulo de criação de gráfico comum 118 inclui um motor de tradução 120 que traduz o objeto de gráfico 112 para uma forma que o módulo de gráfico 106 utiliza para criar o gráfico 110 para a tela 108.
[0021] Especificamente, o motor de tradução 120 traduz o objeto de gráfico 112 em uma definição de gráfico com base em formato 122. Como o nome sugere, a definição de gráfico com base em formato 122 define o gráfico em termos de formatos, ao invés de elementos de gráfico. Como será descrito, o uso de formatos pode aperfeiçoar o processo de criação de gráficos, a aparência do gráfico, e a manipulação do gráfico, permitindo um mecanismo comum para interação com os gráficos.
[0022] No processo de tradução, o motor de tradução 120 realiza várias operações. Por exemplo, o motor de tradução 120 recupera dados (por exemplo, dados numéricos) que criam o gráfico 110 a partir das fontes de dados referidas no objeto de gráfico 112. As fontes de dados podem ser o documento 104 propriamente dito, ou alguma outra fonte, tal como, mas não limitada a, outro documento, uma base de dados, um arquivo, a Internet, ou uma fila. Em adição aos dados, o motor de tradução 120 pode recuperar a informação de formatação numérica que descreve como os dados são formatados. A informação de formatação numérica inclui, mas não está limitada a um símbolo de moeda corrente, o número de pontos decimais, um formato percentual ou fracionado, ou formato de data e hora.
[0023] O motor de tradução 120 também traduz os elementos de gráfico em formatos, tais como linhas, retângulos, círculos, triângulos e assim por diante. Um formato é uma unidade de dados que simplesmente repre- senta a aparência visual de um elemento de gráfico e não está amarrado a, ou baseado em dados de gráfico numérico subjacentes. Dessa forma, por exemplo, uma barra no objeto de gráfico 112 será traduzida em um retângulo na definição de gráfico com base em formato 122; um eixo geométrico do gráfico será traduzido em uma linha, e assim por diante.
[0024] Adicionalmente, o motor de tradução 120 agrupa os formatos relacionados selecionados para facilitar a manipulação dos formatos relacionados pelo usuário. A interface gráfica comum 116 fornece funções que permitem que um usuário interaja com os grupos de formatos relacionados. O motor de tradução 120 leva vantagem dessas funções pelo agrupamento de elementos de gráfico relacionados tais como, mas não limitados a, rótulos de dados relacionados e série de dados relacionados. Depois da recuperação dos dados, a tradução dos elementos de gráfico em formatos, e do agrupamento de formatos relacionados, o motor de tradução 120 gera a definição de gráfico com base em formato 122.
[0025] Uma implementação da definição de gráfico com base em formato 122 é constituída do código XML. Para ilustrar, o código XML de uma definição de gráfico com base em formato 122 ilustrativa é ilustrado abaixo: - <group> <id>Chart</id> - <shapes> - <rect> <id>ChartArea</id> <style>margin-left:0;margin-top:9.75pt;width:501pt;height:319.5pt;z- index:l</style> - <border> <Solid>black</Solid> <Weight>0</Weight> </border> </rect> - <group> <id>Series 1 </id> <style>margin-left:88.5pt;margin- top:60pt;width:359.25pt;height:220.5pt;z-index:3</style> <coordorigin>438,743<7coordorigin> <coordsize>479,294</coordsize> - <Fill> - <Pattern> <Title>Wide upward diagonal</Title> <Color>black</Color> <Color2>white</Color2> </Pattern> </Fill> - <border> <Solid>black</Solid> <Weight>0</Weight> </border> - <sliapes> - <rect> <id>Point 1 </id> <style>left:438;top:839;width:80;height:198</style> </rect> - <rect> <id>Point 2</id> <style>left:638;top:743;widtli:80;lieiglit:294</style> </rect> - <rect> <id>Point 3</id> <style>left:837;top:931;width:80; heiglit:106</style> </rect> </shapes> </group> - <group> <id>Y Axis</id> - <border> <Solid>black</Solid> <Weight>0</Weight> </border> - <shapes> - <line> <id>Y Axis Line</id> <style>z-index:4</style> <from>45pt,32.25pt</from> <to>45pt,280.5pt</to> </line> - <line> <id>Y Axis Tick Mark l</id> <style>z-index:5 </style> <from>40pt,281pt</from> <to>48pt,281pt</to> </line> - <line> <id>Y Axis Tick Mark 2</id> <style>z-index:6</style> <from>40pt,256pt</from> <to>48pt,256pt</to> </line> - <line> <id>Y Axis Tick Mark 3</id> <style>z-index:7 </style> <from>40pt,231pt</from> <to>48pt,231pt</to> </line> - <line> <id>Y Axis Tick Mark4</id> <style>z-index:8</style> <from>40pt,207pt</from> <to>48pt,207pt</to> </line> - <line> <id>Y Axis Tick Mark 5</id> <style>z-index:9</style> <from>40pt, 182pt</from> <to>48pt,l 82pt</to> </line> - <line> <id>Y Axis Tick Mark 6</id> <style>z-index: 10</style> <from>40pt, 157pt</from> <to>48pt?157pt</to> </line> - <line> <id>Y Axis Tick Mark 7</id> <style>z-index:l l</style> <from>40pt, 132pt</from> <to>48pt,132pt</to> </line> - <line> <id>Y Axis Tick Mark 8</id> <style>z-index: 12</style> <from>40pt, 108pt</from> <to>48pt,108pt</to> </line> - <line> <id>Y Axis Tick Mark 9</id> <style>z-index: 13</style> <from>40pt,83pt</from> <to>48pt,83pt</to> </line> - <lme> <id>Y Axis Tick Mark 10</id> <style>z-iiidex: 14</style> <from>40pt,5 7pt</from> <to>48pt,57pt</to> </line> - <line> <id>Y Axis Tick Mark 11 </id> <style>z-mdex:15</style> <from>40pt?3 3pt</from> <to>48pt,33pt</to> </line> - <line> <id>Y Axis Tick Mark 12</id> <style>z-index:16</style> <from>3 8.25pt,28 lptc/from> <to>49.5pt,281pt</to> </line> - <line> <id>Y Axis Tick Mark 13 </id> <style>z-index:17</style> <from>38.25pt,157pt</from> <to>49.5pt,157pt</to> </line> - <line> <id>Y Axis Tick Mark 14</id> <style>z-index:18</style> <from>38.25pt,33pt</from> <to>49.5pt,3 3pt</to> </line> </shapes> </group> - <line> <id>X Axis</id> <style>z-index:19</style> <from>44.25pt,281pt</from> <to >492.75pt,281pt </to > - <border> <Solid>black</Solid> <Weiglit>0 </Weiglit> </border> </line> - <group> <id>Series 1 DataLabels</id> <sty le>margin-left: 106.5pt;margin-top:33pt;width:324pt;height:164.25pt;z-index:20</style> <coordorigin>462,707></coordorigm> <coordsize>432,219</coordsize> - <Font> <FontName>Arial</FontName> <Size>18</Size> <AutoScale /> </Font> - <shapes> - <rect> <id>Series 1 DataLabel 1 </id> <style>left:462;top:803;width:33; height:31;wrap-style:none;text-anchor:top </sty le > - ctextbox style=“fit-skape-to-text:t” inset=‘O,0,0,0”> <div style=“text-align:left”>6.0</div> </textbox> </rect> - <rect> <id>Series 1 DataLabel 2</id> <style>left:661;top:707; width:33;height:31;wrap-style:none;text-anchor:top </sty le > - ctextbox style=“fit-shape-to-text:t’5 inset=4O,0,0,0,J> cdiv style=“text-align:left”>8.9</div> </textbox> </rect> - <rect> <id>Series 1 DataLabel 3</id> cstyle>left:861;top:895; width:33;height:31;wrap-style:none;text-anchor:top</style> - ctextbox style=“fit-shape-to-text:t” inset=“0,0,0,0”> <div style=“text-align:left”>3.2c/div> </textbox> </rect> c/shapes> </group> - <group> <id>Y Axis Labeis </id> cstyle>margin-left:10.5pt;margin-top:22.5pt;width:19.5pt;height:271.5pt;z-index:21</style> <coordorigin>334,693</coordorigin> <coordsize>26,362</coordsize> - cFont> <FontName>Arial</FontName> <Size>18</Size> <AutoScale /> </Font> - cshapes> - <rect> <id>Y Axis Labeis 0</id> <style>left:347 ;top: 1024; width: 13;height:31;wrap-style :none;text-anchor:top</style> - ctextbox style=“fit-shape-to-text:t” inset=‘O,0,0,0,’> <div style=“text-align:left”>0</div> </textbox> </rect> - crect> <id>Y Axis Labeis 5</id> <style>left:347;top:858; width: 13;height:31 ;wrap-style:none;text-anchor:top</style> - ctextbox style=“fit-shape-to-text:t” inset=‘O,0,0,0,5> cdiv style=“text-align:left”>5</div> c/textbox> c/rect> - crect> cid>Y Axis Labeis 10</id> cstyle>left:334;top:693; width:26;height:31;wrap-style:none;text-anchor:topc/style> stroked=“f’> - ctextbox style=“fit-shape-to-text:t” inset=4O,0,0,0”> cdiv style=“text-align:left”>10</div> c/textbox> c/rect> c/shapes> c/group> - cgroup> cid>X Axis Labeis c/id> cstyle>margin-left: 112.5pt;margin-top:29ó.25pt;width:312pt;height:23.25pt; z-index:22c/style> <coordorigin>470,1058</coordorigin> ccoordsize>416,31 c/coordsize> - cshapes> - crect> cid>X Axis Labeis Category 1 c/id> cstyle>left:470 ;top: 105 8; width: 15;height:31;wrap-style :none;text-anchor:top</style> - ctextbox style=“fit-shape-to-text:t” inset=“0,0,0,0”> cdiv style=“text-align:left”>Ac/div> c/textbox> c/rect> - crect> <id>X Axis Labeis Category 2</id> cstyle>left:670 ;top: 105 8; width: 16;height:31;wrap-style :none;text-anchor:top</style> - ctextbox style=“fit-shape-to-text:t” inset=‘O,0,0,0,’> cdiv style=“text-align:left”>Bc/div> c/textbox> c/rect> - <rect> <id>X Axis Labeis Category 3</id> <style>left:869;top:1058; widtii:17;height:31;wrap-style:none;text-auchor:top</style> - ctextbox style=“fit-shape-to-text:t” inset=“0,0,0,0”> <div style=“text-align:left”>C</div> </textbox> </rect> </shapes> </group> </shapes> </group>
[0026] A interface gráfica 116 recebe a definição de gráfico com base em formato 122 e cria o gráfico 110 na tela 108 como um conjunto de formatos especificados pela definição de gráfico com base em formato. A interface gráfica comum 116 realiza tipicamente a criação pela realização de chamadas para o sistema operacional ou as funções de controlador de exibição. Por exemplo, no sistema operacional Windows, a interface gráfica comum 116 pode realizar chamadas para a interface de exibição gráfica (GDI+).
[0027] Como ilustrado, o módulo de gráficos comum 106 inclui um conjunto de serviços gráficos comuns 124. Os serviços gráficos comuns 124 incluem os serviços acessíveis pelo programa de aplicativo para a manipulação do gráfico 110. Os serviços gráficos comuns 124 fornecem uma ou mais interfaces de programação de aplicativo (API) para acessar os serviços.
[0028] Visto que o módulo de gráficos comuns 106 cria formatos, os serviços gráficos 124 são capazes de oferecer funções de alto nível para a manipulação do gráfico 110. Os serviços gráficos 124 podem, por exemplo, realizar as funções gráficas de vetor nos formatos dentro do gráfico. Para ilustrar isso, um retângulo pode ser movido facilmente chamando-se uma única função dos serviços gráficos 124 que move um formato, ao invés de chamar inúmeras funções de baixo nível para redesenhar o retângulo em um novo local. Adicionalmente, o módulo de gráficos comum 106 é comum a vários programas de aplicativo, de forma que a manipulação/edição de formato e a aparência serão consistente entre os programas de aplicativo. Dessa forma, o módulo de gráficos comum 106 pode apresentar uma interface de usuário gráfica comum para edição dos formatos no gráfico 110, independentemente do tipo de programa de aplicativo 102.
[0029] O módulo de gráficos comum 106 também inclui outros serviços 126 para a criação e/ou manipulação de conteúdo de documento 104 na tela 108. Os outros serviços 126 podem incluir, mas não estão limitados a, alocação de memória e manipulações relacionadas com texto.
[0030] Depois que o gráfico 110 é criado, o usuário pode manipular os formatos no gráfico 110 ou nos dados subjacentes do gráfico 110. A maior parte dos comandos de edição do gráfico passam pelo componente de criação de gráfico comum 128. O componente de criação de gráfico comum 128 pode então agir no comando ou passar o comando de volta para os serviços gráficos 124. Antes de passar um comando para os serviços gráficos 124, o componente de criação de gráficos comum 128 pode modificar o comando, se necessário. Se o usuário editar os dados de gráfico subjacentes e dessa forma alterar o objeto de gráfico 112, o motor de tradução 118 traduz automaticamente o objeto de gráfico 112 novamente em uma definição de gráfico com base em formato atualizada 122.
[0031] Quando o usuário manipula os dados subjacentes do gráfico 110, um componente de criação de gráficos comum 128 fornece as funções para a manipulação. No passado, quando o usuário manipulada um gráfico, o programa de aplicativo 102 realizada as manipulações. Isso resultada em uma apresentação e em um comportamento de gráfico diferentes, e a interação de usuário diferente entre os programas de aplicativo diferentes. Nas implementações descritas aqui, o componente de criação de gráfico comum 128 fornece um conjunto comum de funções para a manipulação dos dados de gráfico subjacentes que criam o gráfico 110. Como resultado disso, quando o usuá- rio edita os dados de gráfico subjacentes, o comportamento do gráfico 110 é consistente através de todos os programas de aplicativo. De forma benéfica, apesar de o gráfico 110 ser criado utilizando-se uma definição de gráfico com base em formato 122, os dados de gráfico subjacentes ainda são mantidos (isso é, não são removidos) do documento 104 no objeto de gráfico 112. O componente de criação de gráfico comum 128 utiliza o objeto de gráfico 112 quando o usuário edita os dados de gráfico subjacentes (por exemplo, os dados numéricos). Dessa forma, o usuário pode editar os formatos do gráfico 110 através da interface gráfica comum 116, e editar os dados de gráfico subjacentes através do componente de criação de gráfico comum 128. Mesmo quando o documento 104 está fechado, o objeto de gráfico 112 é mantido no documento 104. Como resultado disso, o usuário pode editar o gráfico 110 como um gráfico e/ou uma imagem.
[0032] Em uma implementação particular, a definição de gráfico com base em formato 122 pode ser salva para uso futuro. Nessa implementação, a definição de gráfico com base em formato 122 podería ser salva com o documento 104 ou em uma memória de armazenamento temporário (não ilustrada) antes de o documento 104 ser fechado. Então, quando o documento 104 é aberto posteriormente, a definição de gráfico com base em formato 122 é recuperada da memória e utilizada para a criação do gráfico 110. Nessa implementação, o motor de tradução 120 não precisaria traduzir o objeto de gráfico 112 toda vez que o documento 104 for aberto.
[0033] O termo módulo é utilizado em um sentido geral para descrever um componente que é operável para realizar uma ou mais das funções designadas. Um módulo pode ser implementado de várias formas. Por exemplo, um módulo pode ser implementado em ou como hardware, software, firmware ou em várias combinações de hardware, software e/ou firmware, dependendo de tais fatores como velocidade, custo, tamanho, etc. Por exemplo, e sem limitação, em uma implementação cada um dos módulos no sistema 100 compreende software, tal como uma biblioteca de conexão dinâmica (DLL) que é armazenada em um meio legível por computador e executado em um sistema de computação, tal como o sistema de computação descrito abaixo com relação à Figura 6.
Operações Ilustrativas [0034] A Figura 2 ilustra um algoritmo de criação de gráficos comum 200 que pode ser realizado pelo sistema de criação de gráficos 100 ilustrado na Figura 1. O algoritmo de criação de gráficos comum 200 pode da mesma forma ser realizado pelos sistemas além do sistema de criação de gráficos comum 100, O algoritmo de criação de gráficos comum 200 inclui operações ilustrativas para a utilização de formatos para a criação de um gráfico associado com um documento, enquanto mantém um objeto de gráfico para permitir que um usuário edite os dados de gráfico subjacentes.
[0035] Inicialmente, uma operação de recuperação 202 recupera um objeto de gráfico que fornece uma definição do gráfico. Tipicamente, o objeto de gráfico é recuperado do documento. O objeto de gráfico define partes do gráfico com elementos de gráfico, tal como barras, eixos geométricos, rótulos, dados numéricos, e assim por diante, eu são inerentemente relacionados com um gráfico. O objeto de gráfico fornece referências para as fontes de dados dos dados de gráfico subjacentes, nos quais o gráfico é baseado.
[0036] Uma operação de tradução 204 traduz o objeto de gráfico em uma definição de gráfico com base em formato, de forma que o gráfico possa ser criado e editado utilizando-se os formatos. Os formatos especificam a aparência visual (por exemplo, o tamanho, a localização e a cor) dos elementos de gráfico. Um rótulo de dados ou outro elemento de texto também pode ser convertido em um formato pela criação de um retângulo com o texto ou rótulo correspondente no retângulo. Um retângulo de texto ou rótulo pode ser editado para ser preenchido com uma cor especificada, ou para ter uma borda, ou outros efeitos gráficos adequados para um retângulo. Uma operação de tradução ilustrativa 204 é ilustrada na Figura 3 e descrita abaixo.
[0037] Depois que o objeto de gráfico é traduzido em uma definição com base em formato, uma operação de criação 206 cria o gráfico utilizando os formatos especificados na definição com base em formato. Tipicamente, o gráfico é criado em um local especificado pelo documento. Locais, cores, agrupamentos, dimensões e outros atributos dos formatos dentro do gráfico podem ser especificados pela definição com base em formato.
[0038] Apesar de o gráfico ser criado com formatos, o objeto de gráfico persiste na associação com o documento. Em outras palavras, o objeto de gráfico não está dissociado do documento. Visto que o objeto de gráfico é mantido, um usuário pode continuar a editar os dados de gráfico subjacentes. Toda vez que o usuário editar o objeto de gráfico pela edição dos dados de gráfico subjacentes, a operação de tradução 204 será realizada.
[0039] Voltando-se para a Figura 3, é ilustrada uma operação de tradução ilustrativa 204. A operação de tradução 204 pode ser realizada em qualquer momento relevante ou em resposta a um evento relevante. Por exemplo, e sem limitação, a operação de tradução 204 pode ser realizada automaticamente toda vez que o documento for aberto, ou quando o gráfico é copiado de um documento e importado para outro documento. A operação de tradução 204 é discutida com referência à Figura 4, para facilitar a ilustração. Dessa forma, para fins de ilustração, será considerado aqui que o objeto de gráfico e a definição com base em formato correspondente definem o gráfico 400 ilustrado na Figura 4.
[0040] Inicialmente, uma operação de determinação 302 determina o tipo de gráfico 400. No caso particular ilustrado, o objeto de gráfico inclui um identificador do tipo de gráfico indicando que o gráfico é um gráfico de coluna. Dessa forma, a operação de determinação 302 determina que o gráfico é um gráfico de coluna. O tipo do gráfico é determinado visto que o tipo de gráfico é tipicamente relevante para dar significado aos valores de dados, e ditar como os elementos de gráfico serão traduzidos em formatos.
[0041] Uma operação de recuperação 304 então recupera os dados subjacentes que servem como base para o gráfico, tipicamente, mas sem limitação, os dados de gráfico subjacentes incluem valores de dados, rótulos, e formatos de dados, tal como o tipo de moeda corrente ou o local decimal. Os dados subjacentes são recuperados a partir de uma ou mais fontes de dados especificadas pelo objeto de gráfico. Dessa forma, com referência ao gráfico 400, os dados subjacentes que são recuperados incluem o rótulo de dados 402a (6,0), o rótulo de dados 402a (8,9), e o rótulo de dados 402c (3,2).
[0042] Uma operação de tradução 306 então traduz os elementos de gráfico em formatos correspondentes. Com referência ao gráfico 400, uma primeira coluna no objeto de gráfico, por exemplo, é traduzida em um retângulo 404a, cujas dimensões são baseadas no valor de dados associado com a coluna. A operação de tradução 306 determina as dimensões do retângulo 404a pela identificação, em primeiro lugar, da coluna 404b com o valor mais alto (nesse caso 8,9),e o escalonamento linear do retângulo 404a com base na altura do gráfico. De forma similar, a operação de tradução 306 traduz as outras duas colunas em retângulos associados 404b e 404c.
[0043] Uma operação de agrupamento 307 então agrupa os formatos relacionados. É melhor se agrupar formatos que um usuário pode desejar editar ou manipular como um grupo. Por exemplo, os rótu- los de dados 402a, 402b e 402c podem ser agrupados. Como outro exemplo, os retângulos 404a, 404b e 404c podem ser agrupados. A operação de agrupamento 307 insere um indicador de grupo na definição de gráfico com base em formato que indica quais os formatos que estão em um grupo. Depois de os formatos relacionados serem agrupados, um módulo gráfico comum (por exemplo, um módulo de gráficos comum 104, Figura 1), pode aplicar os efeitos de grupo com base no registro do usuário. Por exemplo, se o usuário desejar mudar a cor de todos os retângulos no gráfico 400, o usuário só precisa selecionar um dos retângulos e mudar a cor. Tais grupos podem ser úteis visto que o usuário pode então manipular todo o formato em um grupo clicando em um formato no grupo de uma vez. Se o usuário desejar manipular um único formato em um grupo, o usuário dica duas vezes no formato.
Dispositivo de Computação Ilustrativo [0044] Com referência à Figura 5, um sistema ilustrativo para a implementação das operações descritas aqui inclui um dispositivo de computação de finalidade geral na forma de um computador pessoal convencional 20, incluindo uma unidade de processamento 21, uma memória do sistema 22, e um barramento de sistema 23. O barra mento de sistema 23 conecta vários componentes de sistema incluindo a memória do sistema 22 e a unidade de processamento 21. O barramento do sistema 23 pode ser qualquer um dentre os vários tipos de estruturas de barramento incluindo um barramento de memória e um controlador de memória, um barramento periférico, e um barramento local utilizando qualquer uma dentre uma variedade de arquiteturas de barramento. A memória do sistema 22 inclui uma memória de leitura apenas (ROM) 24 uma memória de acesso randômico (RAM) 25. Um sistema de entrada/saída básico 26 (BIOS), contendo a rotina básica que ajuda a transferir informação entre os elementos dentro do compu- tador pessoal 20, tal como durante a inicialização, é armazenado na ROM 24.
[0045] Como apresentado, nesse exemplo o computador pessoal 20 inclui adicionalmente um acionador de disco rígido 27 para ler e escrever em um disco rígido (não ilustrado), um acionador de disco magnético 28 para ler e escrever em um disco magnético removível 29, e um acionador de disco ótico 30 para ler ou escrever em um disco ótico removível 31 tal como um CD ROM, DVD, ou outra mídia ótica similar. O acionador de disco rígido 27, o acionador de disco magnético 28, e o acionador de disco ótico 30 são conectados ao barramento do sistema 23 por uma interface de acionador de disco rígido 32, uma interface de acionador de disco magnético 33, e uma interface de acionador ótico 34, respectivamente. Esses acionadores ilustrativos e sua mídia legível por computador associada fornecem o armazenamento não volátil de instruções legíveis por computador, estruturas de dados, programas de computador e outros dados para o computador pessoal 20.
[0046] Apesar de o ambiente ilustrativo descrito aqui empregar um disco rígido, um disco magnético removível 29 e um disco ótico removível 31, deve ser apreciado pelos versados na técnica que outros tipos de mídia legível por computador que podem armazenar dados que sejam acessíveis por um computador, tal como fitas magnéticas, cartões de memória flash, discos de vídeo digital, memórias de acesso randômico (RAMs), memórias de leitura apenas (ROMs), e similares, também podem ser utilizados no ambiente operacional ilustrativo.
[0047] Um número de programas de computador podem ser armazenados no disco rígido, no disco magnético 29, no disco ótico 31, na ROM 24 ou RAM 25, incluindo um sistema operacional 35, um ou mais programas de aplicativo 36, outros programas 37, e dados de programa 38. Um usuário pode registrar os comandos e a informação no computador pessoal 20 através de dispositivos de entrada tais como teclado 40 e dispositivo de apontamento 42 (tal como um mouse). Uma câmera 55 (tal como uma câmera digital/eletrônica estática ou câmera de vídeo, ou digitalizador de filme/fotografia) capaz de capturar os dados de imagem também pode ser incluída como um dispositivo de entrada para o computador pessoal 20. Os dados de imagens são registrados no computador 20 através de uma interface de câmera adequada 57. Nesse exemplo, a interface 57 é conectada ao barra-mento do sistema 23, permitindo, assim, que as imagens seja direcionadas para e armazenadas na RAM 25, ou um dos outros dispositivos de armazenamento de dados associados com o computador 20. É notado, no entanto, que os dados de imagem podem ser registrados no computador 20 a partir de qualquer uma da mídias legíveis por computador supra citadas também, sem exigir o uso da câmera 55.
[0048] Outros dispositivos de entrada (não ilustrados) podem incluir um microfone, joystick, painel de jogo, antena parabólica, digitalizador, ou similar. Esses e outros dispositivos de entrada são freqüente-mente conectados à unidade de processamento 21 através de uma interface de porta serial 46 que é acoplada ao barramento do sistema, mas podem ser conectados por outras interfaces, tais como a porta paralela, a porta de jogo, um barramento serial universal (USB), etc.
[0049] Um monitor 47 ou outro tipo de dispositivo de exibição também é conectado ao barramento do sistema 23 através de uma interface, tal como um adaptador de vídeo 45. Em adição ao monitor, os computadores pessoais incluem tipicamente outros dispositivos de saída periférica (não ilustrados), tais como alto falantes e impressoras.
[0050] O computador pessoal 20 pode operar em um ambiente em rede utilizando conexões lógicas com um ou mais computadores remotos, tal como um computador remoto 49. O computador remoto 49 pode ser outro computador pessoal, um servidor, um direcionador, um PC em rede, um dispositivo hierarquizado ou outro nó de rede comum, e inclui, tipicamente, muitos ou todos os elementos descritos acima com relação ao computador pessoal 20.
[0051] As conexões lógicas apresentadas na Figura 5 incluem uma rede de área local (LAN) 51 e uma rede de área ampla (WAN) 52. Tais ambientes de rede são lugar comum em escritórios, redes de computador empresariais, Intranets e na Internet.
[0052] Quando utilizado em um ambiente em rede LAN, o computador pessoal 20 é conectado à rede local 51 através de uma interface de rede ou adaptador 53. Quando utilizado em um ambiente em rede WAN, o computador pessoal 20 inclui tipicamente um modem 54 ou outro dispositivo para o estabelecimento das comunicações através da rede de área ampla 52, tal como a Internet. O modem 54, que pode ser interno ou externo, é conectado ao barramento de sistema 23 através da interface de porta serial 46.
[0053] Em um ambiente em rede, os programas de computador apresentados com relação ao computador pessoal 20, ou partes dos mesmos, podem ser armazenados em um dispositivo de armazenamento de memória remoto. Será apreciado que as conexões de rede ilustradas são ilustrativas e outros dispositivos de estabelecimento de uma conexão de comunicação entre os computadores podem ser utilizados.
[0054] Vários módulos e técnicas podem ser descritos aqui no contexto geral de instruções executáveis por computador, tais como módulos de programa, executados por um ou mais computadores ou outros dispositivos. Geralmente, os módulos de programa incluem rotinas, programas, objetos, componentes, estruturas de dados, etc. que realizam as tarefas particulares ou implementam tipos de dados abstratos particulares. Tipicamente, a funcionalidade dos módulos de programa pode ser combinada ou distribuída como desejado em várias modalidades.
[0055] Uma implementação desses módulos e técnicas pode ser armazenada em ou transmitida através de algumas das mídias legíveis por computador. A mídia legível por computador pode ser qualquer mídia que possa ser acessada por um computador. Por meio de exemplo, e não de limitação, a mídia legível por computador pode compreender "mídia de armazenamento em computador" e "mídia de comunicações".
[0056] "Mídia de armazenamento em computador" inclui mídia volátil e não volátil, removível e não removível implementada em qualquer método ou tecnologia para o armazenamento de informação tal como instruções legíveis por computador, estruturas de dados, módulos de programa e outros dados. A mídia de armazenamento em computador inclui, mas não está limitada a, RAM, ROM, EEPROM, memória flash, ou outra tecnologia de memória, CD-ROM, discos versáteis digitais (DVD), ou outros dispositivos de armazenamento ótico, em fitas magnéticas, de armazenamento em disco magnético, ou outros dispositivos de armazenamento magnético, ou qualquer outro meio que possa ser utilizado para armazenar a informação desejada e que possa ser acessado por um computador.
[0057] "Mídia de comunicação" consubstancia tipicamente instruções legíveis por computador, estruturas de dados, módulos de programa, ou outros dados em um sinal de dados modulado, tal como uma onda transportadora ou outro mecanismo de transporte. A mídia de comunicação também inclui qualquer mídia de distribuição de informação. O termo "sinal de dados modulado" significa um sinal que tem uma ou mais de suas características determinadas ou alteradas de tal forma a codificar a informação no sinal. Por meio de exemplo, e não de limitação, a mídia de comunicação inclui mídia com fio tal como uma rede com fio ou conexão com fio direta, e mídia sem fio tal com mídia acústica, de RF, infravermelho e outra mídia sem fio. As combinações de qualquer um dos acima expostos também estão incluídas no escopo da mídia legível por computador.
[0058] Apesar da modalidade operacional ilustrativa ser descrita em termos de fluxos operacionais em um computador convencional, os versados na técnica realizarão que a presente invenção pode ser consubstanciada em qualquer plataforma ou ambiente que processe e/ou comunique sinais de vídeo. Exemplos incluem ambos os dispositivos programáveis e não programáveis tais como hardware possuindo uma finalidade dedicada tal como conferência de vídeo, firmware, dispositivos semicondutores, computadores portáteis, computadores tipo palm-top, telefones celulares, e similares.
[0059] Apesar de alguns métodos e sistemas ilustrativos terem sido ilustrados nos desenhos em anexo e descritos na Descrição Detalhada a seguir, será compreendido que os métodos e sistemas ilustrados e descritos não são limitados à implementação particular descrita aqui, mas, ao invés disso, são capazes de inúmeras novas disposições, modificações e substituições sem se distanciar do espírito apresentado aqui.
REIVINDICAÇÕES

Claims (16)

1. Método de criação de um gráfico associado com um documento caracterizado pelo fato de que compreende: receber um objeto de gráfico, o objeto de gráfico definindo o gráfico com elementos de gráfico e referenciando uma fonte de dados dos dados de gráfico subjacente no qual o gráfico é baseado, os dados de gráfico subjacentes incluindo valores de dados para o gráfico; determinar um tipo de gráfico representado pelo objeto de gráfico; recuperar os dados de gráfico subjacentes a partir da fonte de dados referenciada pelo objeto de gráfico; traduzir uma pluralidade de elementos de gráfico para uma pluralidade de formas correspondentes com base no tipo de gráfico e os valores de dados associados a cada um da pluralidade de elementos de gráfico utilizando um motor de tradução de um módulo de gráficos comum que pode ser utilizado por múltiplos programas de aplicação e inclui um componente de mapeamento comum; gerar uma definição de gráfico baseada em forma baseada na pluralidade de formas correspondentes, em que as etapas de determinar, recuperar, traduzir e gerar são executadas automaticamente quando o documento é aberto; manter o objeto de gráfico no documento para permitir o acesso aos dados de gráfico subjacentes contidos no gráfico; e editar o gráfico através do componente de gráfico comum.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende criar o gráfico baseado na definição de gráfico com base em formato.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que recuperar compreende recuperar os dados a partir de um ou mais dentre os seguintes: o documento; uma base de dados; um arquivo; ou a Internet.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que traduzir compreende agrupar os formatos relacionados.
5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que ainda compreende aplicar um efeito de grupo aos formatos relacionados em um grupo.
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que as etapas de determinar, recuperar, traduzir e gerar são realizadas automaticamente quando o gráfico é copiado para outro documento.
7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende armazenar temporariamente a definição de gráfico com base em formato.
8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende: manipular os dados de gráfico subjacentes com base no objeto de gráfico; e manipular um formato do gráfico com base na definição de gráfico com base em formato.
9. Sistema compreendendo: uma unidade de processamento; um documento incluindo um gráfico; um objeto de gráfico definindo o gráfico com os elementos gráficos; um módulo gráfico operando na unidade de processamento e operável para criar formatos; um módulo de gráficos comum operando na unidade de processamen- to e que pode ser operado para gerar automaticamente uma definição de gráfico com base em formato baseada no objeto de gráfico quando o documento é aberto, caracterizado pelo fato de que o módulo de gráficos comum inclui um motor de tradução e um componente de gráfico comum e pode ser utilizado por vários programas de aplicação, em que a definição de gráfico com base em formato define o gráfico com formas que podem ser criadas pelo módulo de gráficos e em que o módulo de gráficos comum também é operável para determinar um tipo de gráfico representado pelo objeto de gráfico, recuperar dados de gráfico subjacentes, incluindo valores de dados para o gráfico, a partir de uma fonte de dados referenciada pelo objeto de gráfico, traduzir uma pluralidade de elementos de gráfico para uma pluralidade de formas correspondentes com base no tipo de gráfico e os valores de dados associados com cada um da pluralidade de elementos de gráfico usando o motor de tradução, e manipular gráficos usando o componente de gráficos comuns.
10. Sistema, de acordo com a reivindicação 9, caracterizado pelo fato de que a fonte de dados é uma ou mais dentre os seguintes: um documento associado com o objeto de gráfico; um arquivo; uma base de dados; ou a Internet.
11. Sistema, de acordo com a reivindicação 9, caracterizado pelo fato de que o motor de tradução coloca os formatos relacionados a partir da pluralidade de formatos correspondentes dentre de um grupo.
12. Sistema, de acordo com a reivindicação 9, caracterizado pelo fato de que o módulo de gráfico determina uma dimensão de um formato associado com um da pluralidade de elementos de gráfico com base em um ou mais valores de dados associados com o elemento de gráfico.
13. Sistema compreendendo: um documento incluindo um gráfico, onde o gráfico é definido com elementos de gráfico; uma unidade de processamento; um ou mais meios de armazenamento de computador contendo um programa de computador que é executável pela unidade de processamento incluindo: meios para criar formatos que representam os elementos de gráfico; e meios para traduzir os elementos de gráfico em formatos que possam ser criados por um módulo de gráficos caracterizado pelo fato de que os meios para traduzir podem ser compartilhados por múltiplos programas de aplicação e compreende: meios para determinar um tipo de gráfico; meios para recuperar dados de gráfico subjacentes a partir de uma fonte de dados referenciada pelo gráfico, os dados de gráfico subjacentes incluindo valores de dados para o gráfico; meios para traduzir os elementos de gráfico em formas correspondentes com base no tipo de gráfico e os valores de dados associados com cada um da pluralidade de elementos de gráfico; e meios para gerar uma definição de gráfico baseada em formato com base em uma pluralidade de formas correspondentes, em que os meios para determinar, recuperar, traduzir e gerar são executados automaticamente quando o documento é aberto; e meios para manipular o gráfico de um modo comum por múltiplos programas de aplicação.
14. Sistema, de acordo com a reivindicação 13, caracterizado pelo fato de que os meios para traduzir compreendem meios para determinar as dimensões de uma forma associada ao elemento de gráfico com base nos um ou mais valores de dados.
15. Sistema, de acordo com a reivindicação 13, caracterizado pelo fato de que as formas são especificadas no código de linguagem de marcação extensível.
16. Sistema, de acordo com a reivindicação 13, caracterizado pelo fato de que os meios para traduzir ainda agrupa um ou mais formatos relacionadas, pelo que um efeito de grupo pode ser aplicado a todos os formatos relacionadas no grupo.
BRPI0502554A 2004-09-15 2005-06-27 método e sistema de criação de um gráfico associado com um documento BRPI0502554B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/941,566 US7584415B2 (en) 2004-09-15 2004-09-15 Common charting using shapes

Publications (2)

Publication Number Publication Date
BRPI0502554A BRPI0502554A (pt) 2006-04-25
BRPI0502554B1 true BRPI0502554B1 (pt) 2017-06-06

Family

ID=35517182

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0502554A BRPI0502554B1 (pt) 2004-09-15 2005-06-27 método e sistema de criação de um gráfico associado com um documento

Country Status (12)

Country Link
US (1) US7584415B2 (pt)
EP (1) EP1638013A3 (pt)
JP (1) JP4700423B2 (pt)
KR (1) KR101130484B1 (pt)
CN (2) CN102081522B (pt)
AU (1) AU2005202722B2 (pt)
BR (1) BRPI0502554B1 (pt)
CA (1) CA2510776C (pt)
MX (1) MXPA05007072A (pt)
MY (1) MY148034A (pt)
RU (1) RU2405204C2 (pt)
TW (1) TWI394055B (pt)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070101255A1 (en) * 2005-11-02 2007-05-03 Microsoft Corporation Chart element variations
US20070143673A1 (en) * 2005-12-20 2007-06-21 Microsoft Corporation Extensible architecture for chart styles and layouts
US20080086679A1 (en) * 2006-10-05 2008-04-10 Educational Testing Service Data structure for defining a chart
US8332751B2 (en) * 2006-11-14 2012-12-11 Microsoft Corporation Removal of redundant information from electronic documents
US9035948B2 (en) * 2007-08-02 2015-05-19 Adobe Systems Incorporated Methods and systems for drawing graphics into a data chart
US8786628B2 (en) * 2007-09-14 2014-07-22 Microsoft Corporation Rendering electronic chart objects
US8810595B2 (en) * 2008-06-26 2014-08-19 Microsoft Corporation Declarative approach for visualization
US8826174B2 (en) * 2008-06-27 2014-09-02 Microsoft Corporation Using visual landmarks to organize diagrams
US8271892B2 (en) * 2008-07-02 2012-09-18 Icharts, Inc. Creation, sharing and embedding of interactive charts
US8520000B2 (en) 2008-07-02 2013-08-27 Icharts, Inc. Creation, sharing and embedding of interactive charts
JP5210800B2 (ja) * 2008-10-31 2013-06-12 シスメックス株式会社 検体分析装置、検体分析装置における試薬情報表示方法およびコンピュータプログラム
US20100251100A1 (en) * 2009-03-31 2010-09-30 Yann Delacourt Primitive-based presentation of dimensional information using layout script
US9250926B2 (en) * 2009-04-30 2016-02-02 Microsoft Technology Licensing, Llc Platform extensibility framework
US8638343B2 (en) * 2009-04-30 2014-01-28 Microsoft Corporation Data visualization platform performance optimization
US20100313106A1 (en) * 2009-06-04 2010-12-09 Microsoft Corporation Converting diagrams between formats
US20110091844A1 (en) * 2009-10-20 2011-04-21 Best Roger J Virtual book
US9367198B2 (en) 2010-04-30 2016-06-14 Microsoft Technology Licensing, Llc Spin control user interface for selecting options
US11270066B2 (en) * 2010-04-30 2022-03-08 Microsoft Technology Licensing, Llc Temporary formatting and charting of selected data
JP5335138B2 (ja) * 2010-05-26 2013-11-06 三菱電機株式会社 カムデータ作成装置およびカムデータ作成プログラム
US8804139B1 (en) * 2010-08-03 2014-08-12 Adobe Systems Incorporated Method and system for repurposing a presentation document to save paper and ink
US20120098834A1 (en) * 2010-10-25 2012-04-26 General Electric Company Smart plot methodology
CN102609262A (zh) * 2012-02-13 2012-07-25 浪潮集团山东通用软件有限公司 在powerbuilder中实现多数据源可驱动的flash图表控件的方法
US20140026041A1 (en) * 2012-07-17 2014-01-23 Microsoft Corporation Interacting with a document as an application
US9824470B2 (en) * 2012-12-21 2017-11-21 Business Objects Software Ltd. Use of dynamic numeric axis to indicate and highlight data ranges
JP6020161B2 (ja) * 2012-12-28 2016-11-02 富士通株式会社 グラフ作成プログラム、情報処理装置、およびグラフ作成方法
US9775013B2 (en) * 2013-09-27 2017-09-26 Tencent Technology (Shenzhen) Company Limited Method, mobile terminal, and server for displaying data analysis result
US9396567B2 (en) 2014-01-13 2016-07-19 International Business Machines Corporation Generating a chart specification based on image recognition of chart parts
KR101494844B1 (ko) * 2014-08-28 2015-02-25 그린캣소프트(주) 메타 데이터를 이용한 차트 변환 시스템 및 그 방법
US10482635B2 (en) * 2014-09-29 2019-11-19 Adp, Llc Chart labeling system
CN105589909A (zh) * 2014-12-31 2016-05-18 ***股份有限公司 数据可视化实现***及方法
US9665654B2 (en) 2015-04-30 2017-05-30 Icharts, Inc. Secure connections in an interactive analytic visualization infrastructure
US11068647B2 (en) 2015-05-28 2021-07-20 International Business Machines Corporation Measuring transitions between visualizations
US9542616B1 (en) 2015-06-29 2017-01-10 International Business Machines Corporation Determining user preferences for data visualizations
US10607139B2 (en) 2015-09-23 2020-03-31 International Business Machines Corporation Candidate visualization techniques for use with genetic algorithms
US10685035B2 (en) 2016-06-30 2020-06-16 International Business Machines Corporation Determining a collection of data visualizations
CN106202546A (zh) * 2016-07-27 2016-12-07 浪潮软件集团有限公司 基于模板的数据分析展现方法
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

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4674043A (en) * 1985-04-02 1987-06-16 International Business Machines Corp. Updating business chart data by editing the chart
US5442741A (en) 1991-11-13 1995-08-15 Hewlett-Packard Company Method for displaying pie chart information on a computer screen
JPH05233612A (ja) * 1992-02-14 1993-09-10 Fuji Xerox Co Ltd データ処理装置
US5990888A (en) 1994-03-22 1999-11-23 International Business Machines Corporation Method and system for manipulating graphical objects
US6708196B1 (en) 1994-04-15 2004-03-16 Microsoft Corporation Method and system for caching presentation data
US5734387A (en) 1994-10-24 1998-03-31 Microsoft Corporation Method and apparatus for creating and performing graphics operations on device-independent bitmaps
US5745110A (en) 1995-03-10 1998-04-28 Microsoft Corporation Method and apparatus for arranging and displaying task schedule information in a calendar view format
US5619631A (en) * 1995-06-07 1997-04-08 Binaryblitz Method and apparatus for data alteration by manipulation of representational graphs
JPH09128466A (ja) * 1995-10-26 1997-05-16 Casio Comput Co Ltd 表処理方法及び表処理装置
US5917499A (en) 1996-04-05 1999-06-29 Microsoft Corporation Interactive graph display system
US6101513A (en) 1996-05-31 2000-08-08 Microsoft Corporation Method and apparatus for displaying database information according to a specified print layout and page format
JPH10340172A (ja) * 1997-06-06 1998-12-22 Sharp Corp データ処理装置及びデータ処理装置制御プログラムを記憶した媒体
US6604144B1 (en) 1997-06-30 2003-08-05 Microsoft Corporation Data format for multimedia object storage, retrieval and transfer
JPH1131188A (ja) * 1997-07-09 1999-02-02 Just Syst Corp データ編集システム
US6182092B1 (en) 1997-07-14 2001-01-30 Microsoft Corporation Method and system for converting between structured language elements and objects embeddable in a document
US6223189B1 (en) * 1997-12-31 2001-04-24 International Business Machines Corporation System and method using metalanguage keywords to generate charts
US6762761B2 (en) 1999-03-31 2004-07-13 International Business Machines Corporation Method and system for graphics rendering using hardware-event-triggered execution of captured graphics hardware instructions
US6565609B1 (en) * 1999-06-15 2003-05-20 Microsoft Corporation Translating data into HTML while retaining formatting and functionality for returning the translated data to a parent application
US6691281B1 (en) * 1999-06-15 2004-02-10 Microsoft Corporation Publishing/republishing data tables in HTML documents while maintaining formatting and functionality for restoring back the data tables
US6701485B1 (en) 1999-06-15 2004-03-02 Microsoft Corporation Binding spreadsheet cells to objects
US6711715B1 (en) 1999-08-27 2004-03-23 Microsoft Corporation Method and system for efficient storage and restoration of display state data
US6690380B1 (en) 1999-12-27 2004-02-10 Microsoft Corporation Graphics geometry cache
JP3764975B2 (ja) * 2000-03-06 2006-04-12 カシオ計算機株式会社 グラフ表示装置および記録媒体
US6665863B1 (en) 2000-05-31 2003-12-16 Microsoft Corporation Data referencing within a database graph
AU2001264895A1 (en) * 2000-06-21 2002-01-02 Microsoft Corporation System and method for integrating spreadsheets and word processing tables
US6738777B2 (en) 2000-12-20 2004-05-18 Microsoft Corporation Chaining actions for a directed graph
TWI251751B (en) * 2001-02-27 2006-03-21 Ibm Method and system in an electronic spreadsheet for handling graphical objects referring to working ranges of cells in a copy/cut and paste operation
US6738071B2 (en) 2001-10-25 2004-05-18 Hewlett-Packard Development Company, L.P. Dynamically anti-aliased graphics
US7170519B2 (en) * 2002-03-29 2007-01-30 Sas Institute Inc. Computer-implemented system and method for generating data graphical displays
TWI220035B (en) * 2003-06-24 2004-08-01 Academia Sinica XML document editor
US8291309B2 (en) 2003-11-14 2012-10-16 Rockwell Automation Technologies, Inc. Systems and methods that utilize scalable vector graphics to provide web-based visualization of a device

Also Published As

Publication number Publication date
KR20060048511A (ko) 2006-05-18
CN102081522B (zh) 2013-02-13
CA2510776C (en) 2013-03-26
BRPI0502554A (pt) 2006-04-25
US20060059414A1 (en) 2006-03-16
KR101130484B1 (ko) 2012-03-28
MXPA05007072A (es) 2006-04-27
RU2405204C2 (ru) 2010-11-27
CN1749958A (zh) 2006-03-22
CN102081522A (zh) 2011-06-01
CA2510776A1 (en) 2006-03-15
EP1638013A3 (en) 2008-07-23
AU2005202722B2 (en) 2010-10-14
US7584415B2 (en) 2009-09-01
JP4700423B2 (ja) 2011-06-15
EP1638013A2 (en) 2006-03-22
JP2006085674A (ja) 2006-03-30
RU2005120366A (ru) 2007-01-20
CN1749958B (zh) 2013-02-13
AU2005202722A1 (en) 2006-03-30
TW200619993A (en) 2006-06-16
MY148034A (en) 2013-02-28
TWI394055B (zh) 2013-04-21

Similar Documents

Publication Publication Date Title
BRPI0502554B1 (pt) método e sistema de criação de um gráfico associado com um documento
KR101031700B1 (ko) 컴퓨터 플랫폼에 대한 프로그래밍 인터페이스
KR101213809B1 (ko) 전자 문서 스타일 매트릭스
RU2537776C2 (ru) Основанная на разметке расширяемость для интерфейсов пользователя
JP4698668B2 (ja) 文書マークアップ方法およびシステム
US8321839B2 (en) Abstracting test cases from application program interfaces
US20150161079A1 (en) File formats and methods for representing documents
US20230244854A1 (en) Document Transformation Between Program Formats and Templates System and Method
US7027071B2 (en) Selecting elements from an electronic document
JP6228106B2 (ja) 編集可能な形式への変換防止のためのページ記述言語出力の難読化
US20140215297A1 (en) File formats and methods for representing documents
US20140198111A1 (en) Method and system for preserving a graphics file
JP4542033B2 (ja) 文書コンテンツの複数のレンディションを提供するためのシステムおよび方法
CN114090666A (zh) 幻灯片显示方法、装置、设备以及存储介质
JP2009509196A (ja) 画面要素の位置決め
CN108563621B (zh) 一种pdf报表生成方法、装置、设备及存储介质
Dengler et al. Scalable vector graphics (SVG) 1.1
JP4719743B2 (ja) グラフ処理装置
US20170147537A1 (en) Method, apparatus and system for reproducing a document defined in a page description language
JPH09101873A (ja) 画像表示方法及びその装置
CN116339708A (zh) 基于Modelica状态机的建模方法、装置、电子设备和存储介质
JP2002278951A (ja) タグ付き文書処理システム開発方法
JPH03248262A (ja) 文書処理装置
JPH04139572A (ja) 文書処理装置

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US)

B07A Technical examination (opinion): publication of technical examination (opinion) [chapter 7.1 patent gazette]
B15K Others concerning applications: alteration of classification

Ipc: G06T 11/20 (2006.01)

B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted