KR101130484B1 - 형상들을 사용하는 공통 차팅 - Google Patents

형상들을 사용하는 공통 차팅 Download PDF

Info

Publication number
KR101130484B1
KR101130484B1 KR1020050054849A KR20050054849A KR101130484B1 KR 101130484 B1 KR101130484 B1 KR 101130484B1 KR 1020050054849 A KR1020050054849 A KR 1020050054849A KR 20050054849 A KR20050054849 A KR 20050054849A KR 101130484 B1 KR101130484 B1 KR 101130484B1
Authority
KR
South Korea
Prior art keywords
chart
shapes
data
shape
document
Prior art date
Application number
KR1020050054849A
Other languages
English (en)
Other versions
KR20060048511A (ko
Inventor
다니엘 피. 코리
밀토스 바피아디스
시시에 링-러 시아오
Original Assignee
마이크로소프트 코포레이션
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 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20060048511A publication Critical patent/KR20060048511A/ko
Application granted granted Critical
Publication of KR101130484B1 publication Critical patent/KR101130484B1/ko

Links

Images

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

문서에 관련된 차트를 렌더링(rendering)하기 위한 방법은 차트 구성요소들로 차트를 정의하는 차트 객체를 형상들로 차트를 정의하는 형상 기반 차트 정의로 변형시키는 단계를 포함하고, 차트에 포함된 기본 차트 데이터에 액세스할 수 있도록, 문서 내에 차트 객체를 유지시키는 단계를 포함한다. 시스템은 차트를 차트 구성요소들로 정의하는 차트 객체, 형상들을 렌더링하기 위해 동작가능한 그래픽 모듈, 및 차트 객체에 기초하여, 그래픽 모듈에 의해 렌더링될 수 있는 형상들로 차트를 정의하는 형상 기반 차트 정의를 생성하는 차팅 모듈(charting module)을 포함한다.
형상 기반 차트 정의, 차트 객체, 그래픽 서비스, 공통 그래픽 인터페이스, 변형 엔진

Description

형상들을 사용하는 공통 차팅{COMMON CHARTING USING SHAPES}
도 1은 공통 차팅 구성요소를 사용하여 형상 기반 차팅(shape-based charting)을 이용하는 예시적인 차팅 시스템을 예시하는 도면.
도 2는 차트 객체로부터 유도된 형상들을 사용하여 차트를 렌더링하는 단계를 예시하는 순서도.
도 3은 차트 객체를 형상 기반 차트 정의로 변형시키는 단계를 예시하는 순서도.
도 4는 데이터, 라벨(label), 시리즈(series), 및 변형 엔진에 의해 형상들로 변형되고/되거나 그룹화될 수 있는 다른 차트 구성요소들을 갖는 차트를 예시하는 도면.
도 5는 여기에 설명된 공통 차팅 시스템 및 방법을 구현하기 위해 사용될 수 있는 범용 컴퓨터를 예시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
102: 어플리케이션 프로그램
106: 공통 그래픽 모듈
112: 차트 객체
116: 공통 그래픽 인터페이스
124: 그래픽 서비스
차트는 수치 데이터의 그래픽적인 표현이다. 차트는 특히 복잡한 데이터를 간결하고 용이하게 이해가능한 형태로 프리젠테이션하는 데 유용하다. 오늘날의 데스크탑 출판 환경에서, 사용자는 차트를 사용하여 인상적인 프리젠테이션을 생성할 수 있다. 차트들은 마이크로소프트사의 "엑셀"과 같은 어플리케이션 프로그램에 입력되는 기본 데이터에 기초한다. 그후 기본 데이터를 사용하여, 파이차트(pie-chart), 바차트(bar-chart), 히스토그램(histogram), 라인 차트(line chart) 등의 수많은 상이한 포맷으로 데이터의 차트를 생성할 수 있다. 추가적으로, 차트의 각 부분은 색깔, 텍스처 및 다른 효과들에 관련하여, 정보를 전달하는데 매우 중요한 차트의 외양을 개선시킬 수 있다.
어플리케이션 프로그램은 전형적으로 프리미티브(primitive) 함수 호출을 사용하여, 차트를 렌더링한다. 예를 들어, "마이크로소프트 윈도우즈"의 그래픽 디스플레이 인터페이스(GDI 또는 GDI+) 및 "마이크로소프트 오피스"의 GEL은 차트를 렌더링하기 위해 종종 어플리케이션 프로그램에 의해 사용되는 상대적으로 저레벨의 인터페이스이다. 이러한 저레벨 인터페이스는 전형적으로 픽셀 레벨(pixel level)에서 차트 구성요소들을 렌더링하는 함수를 제공한다. 예를 들어, 라인을 그리기 위해, 어플리케이션 프로그램은 시작 픽셀 및 종료 픽셀을 특정해야 한다. 그 후에, 라인이 연장되고 있다면, 어플리케이션 프로그램은 새로운 시작 및/또는 종료 픽셀을 또다시 특정해야 한다. 종래 인터페이스들은 라인과 같은 픽셀들의 그룹을 처리하기 위한 라인-연장 함수와 같은 보다 고레벨의 함수를 포함하지 않는다.
또다른 문제점은 상이한 어플리케이션 프로그램들은 전형적으로 차트를 상이하게 렌더링한다는 것이다. 예를 들어, "마이크로소프트 윈도우즈"에서, 하나의 어플리케이션 프로그램은 GDI를 사용하는 반면 또다른 어플리케이션은 GEL 및 GDI로의 호출들의 조합을 사용할 수 있다. 차트들이 상이하게 렌더링되기 때문에, 상이한 어플리케이션 프로그램들이 렌더링한 차트 내의 유사한 구성요소들은 사용자에게 상이하게 나타내질 수 있다. 그러므로, 예를 들어, 마이크로소프트 "파워포인트"와 "엑셀"에서 서로 동일하게 나타내야 하는 차트가, 그 두개의 어플리케이션 프로그램에서 약간 상이하게 나타낼 수 있다.
사용자는 종종 하나의 어플리케이션 프로그램으로부터 차트를 복사하여, 그것을 또다른 어플리케이션 프로그램으로 임포트(import)시킨다. 예를 들어, 차트는 "엑셀"로부터 복사되어, 마이크로소프트 "워드" 문서 또는 "파워포인트" 프리젠테이션으로 붙여넣기된다. 전형적으로, 사용자는 차트를 차트 객체 또는 그림으로서 붙여넣기할 수 있다. 불행하게도, 사용자가 차트를 그림으로서 붙여넣었을 때, 차트는 그 그림을 생성하는 데 사용되었던 기본 데이터로부터 분리된다. 이는 사용자가 붙여넣어진 차트를 통해 차트의 기본 데이터를 더이상 조작할 수 없음을 의미한다. 예를 들어, 차트가 그림으로서 붙여넣어지면, 사용자는 그 차트 내의 수 치 데이터 및 라벨들을 편집할 수 없다.
추가적으로, 그들이 그림으로 붙여넣기되지 않으면, 문서 내의 차트들은 어떤 결점을 가질 수 있다. 이러한 결점들은, 주로 그림 포맷이 아닌 차트는 프리젠테이션 양상들을 염두에 두지 않고 생성되기 때문에 발생한다. 예를 들어, 차트들은 종종 시야를 혼란시키는 에일리어싱(aliasing) 효과를 나타낸다. 또다른 예에서, 사용자가 차트의 크기를 재조정할 때, 폰트 크기조정이 불명확하기 때문에, 텍스트가 평소와 다르게 나타날 수 있다. 또다른 예에서, 좌표 매핑에서의 차이 때문에, 그림으로 붙여넣기되지 않은 차트는 종종 컴퓨터 스크린 상에서와 프린트 상에서 상이하게 나타난다.
그러므로, 어플리케이션들에 걸쳐 차트를 일관적으로 렌더링 및 조정하기 위한 능력이 필요하다. 추가적으로, 사용자가 차트의 기본 구성요소들을 조작하면서 차트의 일관적이고 고품질의 프리젠테이션을 제공할 필요가 있다.
차트를 렌더링 및 조작하기 위한 시스템 및 방법의 다양한 구현들이 여기에 설명됐다. 여기에 설명된 다양한 구현에 따르면, 차트가 차트 객체로부터 형상 기반 정의로 변형된다. 차트 객체는 차트 구성요소들로 차트의 일부들을 정의하고, 차트를 기초하는 기본 차트 데이터를 참조한다. 차트가 형상들로 렌더링되더라도, 차트 객체는 기본 차트 데이터에의 조작이 가능하도록 유지된다. 하나 이상의 어플리케이션 프로그램들에게 공통적인 공통 차팅 컴포넌트는 차트 객체를 사용하여, 사용자가 차트의 기본 요소들을 조작할 수 있게 한다.
형상 기반 정의는 형상들로 차트를 정의한다. 공통 그래픽 모듈은 형상 기반 정의를 사용하여, 상이한 어플리케이션들에게 일관적인 형상 렌더링 서비스 및 형상 조작 서비스를 제공한다. 추가적으로, 공통 그래픽 모듈이 그룹 조작 함수들을 제공함으로써, 관련 형상들의 그룹은 차트 내에서 조작될 수 있다.
도 1은 형상 기반 차트 정의를 사용하여 공통 차팅(common charting)을 수행하기 위한 예시적인 차팅 시스템(100)을 예시한다. 공통 차팅이란 용어는 다수의 및/또는 상이한 어플리케이션들에 걸친 차트 조작의 공통적인 방법들을 의미한다. 문서(104) 및 문서(104)를 컴퓨터 모니터 스크린(108) 상에 렌더링하기 위한 공통 그래픽 모듈(106)에의 액세스를 제공하는 어플리케이션 프로그램(102)이 시스템(100)에 포함된다.
여기에 사용된 바와 같이, 문서(104)는 텍스트 및 그래픽들과 같은 사용자 판독가능 정보를 포함하는 컴퓨터 판독가능 파일이다. 사용자는 어플리케이션 프로그램(102)의 사용자 인터페이스를 통해 문서(104)를 관찰 및 편집할 수 있다. 문서의 예시적인 유형들은 스프레드시트, 프리젠테이션 또는 통상적인 텍스트 문서를 포함하지만, 이에 한정된 것은 아니다. 그러므로, 문서의 유형에 따라, 어플리케이션 프로그램(102)은, 예를 들어, 마이크로소프트 "워드", "파워포인트", "엑셀" 또는 다른 어플리케이션 프로그램일 수 있지만, 이에 한정된 것은 아니다. 예를 들어, 스크린(108) 상에 도시된 바와 같이, 문서(104)는 종종 "파워포인트"에 관련된 '프리젠테이션'이지만, 항상 그런 것은 아니다.
프리젠테이션 내의 차트(110)가 본 설명에 특히 관련되어있다. 도 1의 특정 구현에 도시된 차트(110)는 컬럼 차트(column chart)이다. 다른 구현에 따르면, 차트(110)는 컬럼 차트에 한정되지 않고, 파이 차트, 라인 차트 또는 분산도와 같은 임의의 다른 유형의 차트일 수 있지만, 이에 한정된 것은 아니다. 차트(110)의 다양한 데이터는 본래 문서(104)가 특정한다. 문서(104)는 차트 객체(112)라 불리는 차트 정의로 차트(110)를 특정한다.
차트 객체(112)는 차트 구성요소들로 차트(110)를 정의한다. 일반적으로, 차트 구성요소는 차트의 양상을 표현하는 데이터 유닛이다. 전형적으로 차트 구성요소는 차트가 전달하는 정보 또는 차트의 유형에 관련된 차트의 양상을 표현한다. 예시적인 차트 구성요소들은 바(예를 들어, 바 차트에 대해서), 차트 축, 차트 제목, 차트 타이틀, 차트 라벨, 구성요소 색깔, 텍스트 폰트, 구성요소 위치, 데이터 소스(source) 등을 포함한다. 차트 객체(112)의 일 구현은 확장성 생성 언어(XML) 코드의 세트이다. 예시하기 위해, 차트 객체(112)로부터의 XML 코드의 예가 다음에 제시되어 있다:
Figure 112005033677410-pat00001
Figure 112005033677410-pat00002
문서(104)는 전형적으로 텍스트 및 포매팅 정보를 포함하는 다른 문서 데이터(114)도 갖지만, 이에 한정된 것은 아니다. 일 구현에 따르면, 어플리케이션 프로그램(102)이 개시되고 문서(104)가 열리면, 차트 객체(112)가 공통 그래픽 모듈(106)의 공통 그래픽 인터페이스(116)로 전달되어 렌더링된다.
공통 그래픽 인터페이스(116)는 차트 객체(112)에 의해 표현될 그래픽의 유형을 결정한다. 공통 그래픽 인터페이스(116)가 조정할 수 있는 그래픽의 유형들은 다이어그램, 차트 또는 자유도형(autoshape)들을 포함하지만, 이에 한정된 것은 아니다. 차트 객체(112)는 그것이 차트를 정의함을 나타내는 식별자를 포함한다. 차트 식별자에 기초하여, 공통 그래픽 인터페이스(116)는 차트 객체(112)가 차트를 정의한다고 결정하고, 그것을 공통 차팅 모듈(118)에게 송신한다.
공통 차팅 모듈(118)은 차트 객체(112)를 그래픽 모듈(106)이 스크린(108)에 차트(110)를 렌더링하는데 사용하는 형태로 변형시키는 변형 엔진(120)을 포함한다. 특히, 변형 엔진(120)은 차트 객체(112)를 형상 기반 차트 정의(122)로 변형시킨다. 그것의 이름이 제시하는 바와 같이, 형상 기반 차트 정의(122)는 차트 구성요소 보다는 형상들로 차트를 정의한다. 설명될 바와 같이, 형상을 사용하면, 공통 메커니즘이 그래픽들과 상호작용할 수 있게하여, 차트 렌더링 프로세스, 차트 외형 및 차트 조작을 개선시킬 수 있다.
변형 프로세스에서, 변형 엔진(120)은 수많은 동작들을 수행한다. 예를 들어, 변형 엔진(120)은 차트 객체(112) 내의 참조된 데이터 소스(들)로부터 차트(110)를 구성하는 데이터(예를 들어, 수치 데이터)를 리트리브(retrieve)한다. 데이터 소스(들)는 문서(104)이거나, 또다른 문서, 데이터베이스, 파일, 인터넷 또는 큐(queue)와 같은 몇몇 다른 소스일 수 있지만, 이에 한정된 것은 아니다. 데이터 이외에, 변형 엔진(120)은 데이터를 어떻게 포매팅할지를 설명하는 수치 포매팅 정보를 리트리브할 수 있다. 수치 포매팅 정보는 통화 기호, 십진 소수점, 퍼센트 또는 소수부 포맷의 수, 또는 날짜 및 시간 포맷을 포함하지만, 이에 한정된 것은 아니다.
변형 엔진(120)은 또한 차트 구성요소들을 라인, 사각형, 원, 삼각형 등의 형상으로 변형시킨다. 형상은 차트 구성요소의 가시적인 외형을 단순하게 표현한 데이터 유닛이지만, 기본 수치 차트 데이터에 종속되지 않고 또는 독립적이다. 그러므로, 예를 들어, 차트 객체(112)의 바는 형상 기반 차트 정의(122)의 사각형으로 변형될 것이며, 차트 축은 선으로 변형될 것이다.
추가적으로, 변형 엔진(120)은 선택된 관련 형상들을 그룹화하여, 사용자가 관련 형상들을 용이하게 조작하도록 한다. 공통 그래픽 인터페이스(116)는 사용자가 관련 형상들의 그룹과 상호작용하게 하는 함수들을 제공한다. 변형 엔진(120)은 이에 한정되지는 않지만, 관련 데이터 라벨들 및 관련 데이터 시리즈들과 같은, 관련 차트 구성요소들을 그룹화함으로써 그러한 함수들의 이점을 취할 수 있다. 데이터를 리트리브하고, 차트 구성요소들을 형상들로 변형시키고, 관련 형상들을 그룹화한 후, 변형 엔진(120)은 형상 기반 차트 정의(122)를 생성한다.
형상 기반 차트 정의(122)의 일 구현은 XML 코드로 구성된다. 예시하기 위해, 예시적인 형상 기반 차트 정의(122)로부터의 XML 코드가 다음에 제시된다:
Figure 112005033677410-pat00003
Figure 112005033677410-pat00004
Figure 112005033677410-pat00005
Figure 112005033677410-pat00006
Figure 112005033677410-pat00007
그래픽 인터페이스(116)는 형상 기반 차트 정의(122)를 수신하고, 형상 기반 차트 정의가 특정하는 형상들의 세트로 차트(110)를 스크린(108) 상에 렌더링한다. 공통 그래픽 인터페이스(116)는 전형적으로 오퍼레이팅 시스템 또는 디스플레이 제어기 함수를 호출하여 렌더링을 수행한다. 예를 들어, 윈도우즈 오퍼레이팅 시스템에서, 공통 그래픽 인터페이스(116)는 그래픽 디스플레이 인터페이스(GDI+)를 호출할 수 있다.
도시된 바와 같이, 공통 그래픽 모듈(106)은 공통 그래픽 서비스(124)들의 세트를 포함한다. 공통 그래픽 서비스(124)들은 차트(110)를 조작하기 위해 어플리케이션 프로그램이 액세스할 수 있는 서비스들을 포함한다. 공통 그래픽 서비스(124)들은 서비스에 액세스하기 위한 하나 이상의 어플리케이션 프로그래밍 인터페 이스(들)(API)를 제공한다.
공통 그래픽 모듈(106)이 형상들을 렌더링하기 때문에, 그래픽 서비스(124)는 차트(110)를 조작하기 위한 고레벨 함수들을 제공할 수 있다. 그래픽 서비스(124)는, 예를 들어, 차트 내의 형상들 상에서 백터 그래픽 함수들을 수행할 수 있다. 예시하기 위해, 사각형을 새로운 위치에 다시 그리기 위해 수많은 저레벨 함수들을 호출하기 보다는 형상을 이동시키는 그래픽 서비스(124)의 단일 함수를 호출하여, 사각형을 용이하게 이동시킬 수 있다. 추가적으로, 공통 그래픽 모듈(106)은 다수의 어플리케이션 프로그램들에게 공통적이므로, 형상 조작/편집 및 외형은 어플리케이션 프로그램들 사이에서 일관적일 것이다. 그러므로, 공통 그래픽 모듈(106)은 어플리케이션 프로그램(102)의 유형에 상관없이 차트(110) 내의 형상들을 편집하기 위한 공통 그래픽 사용자 인터페이스를 프리젠트할 수 있다.
공통 그래픽 모듈(106)은 스크린(108) 상에 문서(104)의 내용들을 렌더링 및/또는 조작하기 위한 다른 서비스(126)들도 포함한다. 다른 서비스(126)들은 메모리 할당 및 텍스트 관련 조작들을 포함할 수 있지만, 이에 한정된 것은 아니다.
차트(110)가 렌더링된 후, 사용자는 차트(110) 내의 형상들 또는 차트(110)의 기본 데이터를 조작할 수 있다. 차트를 편집하기 위한 대부분의 코맨드(command)들이 공통 차팅 컴포넌트(128)에 전달된다. 공통 차팅 컴포넌트(128)는 그후 코맨드를 수행하거나, 그래픽 서비스(124)에 코맨드를 반송할 수 있다. 코맨드를 그래픽 서비스(124)로 전달하기 전에, 공통 차팅 컴포넌트(128)는 필요하다면 그 코맨드를 수정할 수 있다. 사용자가 기본 차트 데이터를 편집하여 차트 객체 (112)가 수정되면, 변형 엔진(118)은 자동으로 차트 객체(112)를 갱신된 형상 기반 차트 정의(122)로 또다시 변형시킨다.
사용자가 차트(110)의 기본 데이터를 조작할 때, 공통 차팅 컴포넌트(128)는 조작에 대한 함수들을 제공한다. 종래에, 사용자가 차트를 조작할 때, 어플리케이션 프로그램(102)이 조작들을 수행했다. 이는 상이한 차트 프리젠테이션 및 행동, 및 상이한 어플리케이션 프로그램들 간의 상이한 사용자 상호작용을 발생시켰다. 여기에 설명된 구현에서, 공통 차팅 컴포넌트(128)는 차트(110)를 생성하는 기본 차트 데이터를 조작하기 위한 함수들의 공통적인 세트를 제공한다. 그 결과, 사용자가 기본 차트 데이터를 편집할 때, 차트(110)의 행동은 모든 어플리케이션 프로그램들에 걸쳐 일관적이다.
유익하게, 차트(110)가 형상 기반 차트 정의(122)를 사용해 렌더링되더라도, 기본 차트 데이터는 여전히 차트 객체(112) 내의 문서(104) 내에 유지된다(즉, 제거되지 않음). 사용자가 기본 차트 데이터(예를 들어, 수치 데이터)를 편집할 때, 공통 차팅 컴포넌트(128)는 차트 객체(112)를 사용한다. 그러므로, 사용자는 공통 그래픽 인터페이스(116)를 통해 차트(110)의 형상을 편집하고, 공통 차팅 컴포넌트(128)를 통해 기본 차트 데이터를 편집할 수 있다. 문서가 닫혔을 때도, 차트 객체(112)는 문서(104) 내에 유지된다. 결론적으로, 사용자는 차트 및/또는 그림으로서의 차트(110)를 편집할 수 있다.
특별한 구현에서, 형상 기반 차트 정의(122)는 향후의 사용을 위해 저장될 수 있다. 이 구현에서, 형상 기반 차트 정의(122)는 문서(104)가 닫히기 전에 문 서(104)와 함께 또는 캐시 메모리(도시되지 않음)에 저장될 수 있다. 그 후, 문서(104)가 후에 열릴 때, 형상 기반 차트 정의(122)는 메모리로부터 리트리브되어, 차트(110)를 렌더링하는데 사용된다. 이 구현에서, 변형 엔진(120)은 문서(104)가 열릴 때마다 차트 객체(112)를 변형시킬 필요가 없다.
모듈이라는 용어는 일반적인 의미로는 하나 이상의 지정된 함수들을 수행하기 위해 동작가능한 컴포넌트를 설명하는 것으로 사용된다. 모듈은 다양한 방식 및 형태들로 구현될 수 있다. 예를 들어, 모듈은 속도, 비용, 크기 등의 요소들에 따라 하드웨어, 소프트웨어, 펌웨어, 또는 하드웨어, 소프트웨어 및/또는 펌웨어의 다양한 조합들 내에 또는 그것들로 구현될 수 있다. 예를 들어, 일 구현에서, 시스템(100) 내의 각각의 모듈들은 동적 링크 라이브러리(DLL)와 같은, 컴퓨터 판독가능 매체 상에 저장되고 도 6에 관련해 후술된 컴퓨팅 시스템과 같은 컴퓨팅 시스템 상에서 실행되는 소프트웨어를 포함하지만, 이에 한정된 것은 아니다.
예시적인 동작
도 2는 도 1에 도시된 차팅 시스템(100)이 수행할 수 있는 공통 차팅 알고리즘(200)을 예시한다. 공통 차팅 알고리즘(200)은 공통 차팅 시스템(100)보다도 시스템들에 의해 수행될 가능성이 있다. 사용자가 기본 차트 데이터를 편집할 수 있도록 차트 객체를 유지시키면서, 문서에 관련된 차트를 렌더링하기 위해, 공통 차팅 알고리즘(200)은 형상들을 사용하기 위한 예시적인 동작들을 포함한다.
초기에, 리트리브 동작(202)은 차트의 정의를 제공하는 차트 객체를 리트리브한다. 전형적으로, 차트 객체는 문서로부터 리트리브된다. 차트 객체는 바, 축 , 라벨, 수치 데이터 등의 차트에 본질적으로 관련된 차트 구성요소들로 차트의 부분들을 정의한다. 차트 객체는 차트를 기초하는 기본 차트 데이터의 데이터 소스들에의 참조를 제공한다.
변형 동작(204)이 차트 객체를 형상 기반 차트 정의로 변형시키므로, 차트는 형상들을 사용하여 렌더링 및 편집될 수 있다. 형상들은 차트 구성요소들의 가시적인 외형(예를 들어, 크기, 위치 및 색깔)을 특정한다. 사각형 내의 대응하는 텍스트 또는 라벨을 갖는 사각형을 생성함으로써 데이터 라벨 또는 다른 텍스트 구성요소도 형상으로 변환될 수 있다. 텍스트 또는 라벨 사각형은 특정한 색깔로 채워지거나, 경계 또는 사각형에 적절한 다른 그래픽적 효과들을 갖도록 편집될 수 있다. 예시적인 변형 동작(204)이 도 3 내에 도시되고 후술된다.
차트 객체가 형상 기반 정의로 변형된 후, 렌더링 동작(206)은 형상 기반 정의에 특정된 형상들을 사용하여 차트를 렌더링한다. 전형적으로, 차트는 문서가 특정한 위치에 렌더링된다. 형상 기반 정의는 위치, 색깔, 그룹핑, 치수, 및 차트 내의 형상들의 다른 속성들을 특정할 수 있다.
차트가 형상들로 렌더링되더라도, 차트 객체는 문서와의 결합을 지속시킨다. 즉, 차트 객체는 문서와 결합 해제되지 않는다. 차트 객체가 유지되기 때문에, 사용자는 기본 차트 데이터를 계속 편집할 수 있다. 사용자가 기본 차트 데이터를 편집하여 차트 객체를 편집할 때마다, 변형 동작(204)이 수행될 것이다.
도 3에서, 예시적인 변형 동작(304)이 도시된다. 변형 동작(204)은 임의의 관련 시간에 또는 관련 이벤트에 응답하여 수행될 수 있다. 예를 들어, 제한없이, 자동으로 문서가 열릴 때마다 또는 차트가 하나의 문서로부터 복사되어 또다른 문서로 임포트될 때, 변형 동작(204)이 수행될 수 있다. 용이하게 예시하기 위해, 변형 동작(204)은 도 4을 참조하여 설명된다. 그러므로, 예시를 위해, 차트 객체 및 대응하는 형상 기반 정의가 도 4에 도시된 차트(400)를 정의함이 가정될 것이다.
초기에 결정 동작(302)은 차트(400)의 유형을 결정한다. 도시된 특별한 경우에서, 차트 객체는 차트가 컬럼 차트임을 나타내는 차트 유형 식별자를 포함한다. 그러므로, 결정 동작(302)은 차트가 컬럼 차트라고 결정한다. 차트 유형은 전형적으로 데이터 값들에 의미를 부여하는 것 및 차트 구성요소들이 어떻게 형상들로 변형될지를 나타내는 것에 관련이 있기 때문에, 차트의 유형이 결정된다.
리트리브 동작(304)은 그후 차트에 기초 역할을 하는 기본 데이터를 리트리브한다. 전형적으로, 기본 차트 데이터는 데이터 값, 레벨, 및 통화 유형 또는 소수자리와 같은 데이터 포맷들을 포함하지만, 이에 한정된 것은 아니다. 기본 데이터는 차트 객체가 특정한 하나 이상의 데이터 소스들로부터 리트리브된다. 그러므로, 차트(400)를 참조하면, 리트리브된 기본 데이터는 데이터 라벨[402a(6.0)], 데이터 라벨[402a(8.9)] 및 데이터 라벨[402a(3.2)]을 포함한다.
변형 동작(306)은 그후 차트 구성요소들을 대응하는 형상들로 변형시킨다. 차트(400)를 참조하면, 예를 들어, 차트 객체 내의 제1 컬럼은 사각형(404a)으로 변형되는데, 이것의 치수들은 그컬럼에 관련된 데이터 값에 기초한다. 변형 동작(306)은 우선 최대 값(이 경우에는 8.9)을 가진 컬럼(404b)을 식별하고, 차트의 높 이에 기초하여 사각형(404a)을 선형으로 크기조정함으로써, 사각형(404a)의 치수를 결정한다. 마찬가지로, 변형 동작(306)은 다른 두개의 컬럼들을 관련 사각형(404b 및 404c)들로 변형시킨다.
그룹화 동작(307)은 그후 관련 형상들을 그룹화한다. 사용자가 그룹으로 편집 또는 조작하길 원하는 형상들을 그룹화하는 것이 최적이다. 예를 들어, 데이터 레벨(402a, 402b 및 402c)들이 그룹화될 수 있다. 또다른 예에서, 사각형(404a, 404b 및 404c)들이 그룹화될 수 있다. 그룹화 동작(307)은 어떤 형상들이 그룹 내에 있는지를 나타내는 그룹 표시자를 형상 기반 차트 정의에 삽입한다.
관련 형상들을 그룹화한 후, 공통 그래픽 모듈(예를 들어, 도 1의 공통 그래픽 모듈)은 사용자 입력에 기초하여 그룹 효과들을 적용할 수 있다. 예를 들어, 사용자가 차트(400) 내의 모든 사각형들의 색깔을 수정하길 원하면, 사용자는 하나의 사각형을 선택하고 그 색깔을 수정하기만 하면 된다. 사용자가 그룹 내의 한 형상을 한번 클릭함으로써 그룹 내의 모든 형상을 조작할 수 있기 때문에, 이러한 그룹들은 유용할 수 있다. 사용자가 그룹 내의 단일 형상만을 조작하길 원하면, 사용자는 그 형상을 더블클릭한다.
예시적인 컴퓨팅 장치
도 5를 참조하면, 여기에 설명된 동작들을 구현하기 위한 예시적인 시스템은 프로세싱 유닛(21), 시스템 메모리(22) 및 시스템 버스(23)를 포함하는 통상적인 개인용 컴퓨터(20) 형태의 범용 컴퓨팅 장치를 포함한다. 시스템 버스(23)는 시스템 메모리(22)를 포함하는 다양한 시스템 컴포넌트들과 프로세싱 유닛(21)을 링크 시킨다. 시스템 버스(23)는 메모리 버스, 메모리 제어기, 주변 버스, 및 다양한 버스 아키텍처들 중 임의의 것을 사용하는 로컬 버스(local bus)를 포함하는 몇몇 유형을 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(22)는 ROM(24) 및 RAM(25)을 포함한다. 시동중과 같은 때에 개인용 컴퓨터(20) 내의 구성요소들 간의 정보 전달을 돕는 기본 루틴을 포함하는 기본 입출력 시스템(26, BIOS)이 ROM(24)에 저장된다.
설명된 바와 같이, 이 예에서, 개인용 컴퓨터(20)는 하드 디스크(도시되지 않음)로부터 판독하고 이에 기록하기 위한 하드 디스크 드라이브(27), 분리형 자기 디스크(29)로부터 판독하고 이에 기록하기 위한 자기 디스크 드라이브(28), 및 CD ROM, DVD 또는 다른 유사 광학 매체와 같은 분리형 광학 디스크(31)로부터 판독하고 이에 기록하기 위한 광학 디스크 드라이브(30)를 더 포함한다. 하드 디스크 드라이브(27), 자기 디스크 드라이브(28) 및 광학 디스크 드라이브(30)는 각각 하드 디스크 드라이브 인터페이스(32), 자기 디스크 드라이브 인터페이스(33) 및 광학 드라이브 인터페이스(34)에 의해 시스템 버스(23)에 접속된다. 이런 예시적인 드라이브 및 그 관련 컴퓨터 판독가능 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 컴퓨터 프로그램 및 개인용 컴퓨터(20)에 대한 다른 데이터의 비휘발성 저장소를 제공한다.
여기에 설명된 예시적인 환경은 하드 디스크, 분리형 자기 디스크(29) 및 분리형 광학 디스크(31)를 이용하지만, 당업자들은 자기 카세트, 플래시 메모리 카드, DVD, RAM, ROM 등의 컴퓨터에 의해 액세스가능한 데이터를 저장할 수 있는 다 른 유형의 컴퓨터 판독가능 매체들도 예시적인 운영 환경에서 사용될 수 있음을 인식할 것이다.
오퍼레이팅 시스템(35), 하나 이상의 어플리케이션 프로그램(36), 다른 프로그램(37) 및 데이터(38)를 포함하는 수많은 컴퓨터 프로그램들은 하드 디스크, 자기 디스크(29), 광학 디스크(31), ROM(24) 또는 RAM(25) 상에 저장될 수 있다. 사용자는 키보드(40)와 같은 입력 장치 및 포인팅 장치(42)(마우스와 같은)를 통해 개인용 컴퓨터(20)에 코맨드 및 정보를 입력할 수 있다.
이미지 데이터를 캡쳐(capture)할 수 있는 카메라(55)(디지털/전자 스틸(still)이나 비디오 카메라, 또는 필름/그림 스케너 등)도 입력 장치로서 개인용 컴퓨터(20)에 표함될 수 있다. 이미지 데이터는 적절한 카메라 인터페이스(57)를 통해 컴퓨터(20)에 입력된다. 이 예에서, 인터페이스(57)는 시스템 버스(23)에 접속되어, 이미지가 RAM(25), 또는 컴퓨터(20)에 관련된 다른 데이터 저장 장치중 하나로 라우팅되고 그곳에 저장되도록 한다. 그러나, 이미지 데이터는 카메라(55)를 사용하지 않고, 상술된 컴퓨터 판독가능 매체들중 임의의 것으로부터 컴퓨터(20)로 입력될 수 있음을 명심해야 한다.
다른 입력 장치(도시되지 않음)는 마이크로폰, 조이스틱, 게임 패드, 위성 안테나 스케너 등을 포함할 수 있다. 이런 및 다른 입력 장치들은 종종 시스템 버스에 연결된 직렬 포트 인터페이스(46)를 통해 프로세싱 유닛(21)에 접속되지만, 병렬 포트, 게임 포트, UBS 등의 다른 인터페이스들에 의해 접속될 수도 있다.
모니터(47) 또는 다른 유형의 디스플레이 장치도 비디오 어댑터(45)와 같은 인터페이스를 통해 시스템 버스(23)에 접속된다. 모니터 이외에, 개인용 컴퓨터들은 전형적으로 스피커 및 프린터와 같은 다른 주변 출력 장치(도시되지 않음)를 포함한다.
개인용 컴퓨터(20)는 원격 컴퓨터(49)와 같은 하나 이상의 원격 컴퓨터들로의 논리적인 접속을 사용하여 네트워크 환경에서 동작할 수 있다. 원격 컴퓨터(49)는 또다른 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 다른 공통 네트워크 노드일 수 있으며, 전형적으로 개인용 컴퓨터(20)에 관련해 상술된 많은 또는 모든 구성요소들을 포함한다.
도 5에 설명된 논리적인 접속은 LAN(51) 및 WAN(52)을 포함한다. 이러한 네트워크 환경은 사무실, 기업 크기 컴퓨터 네트워크, 인트라넷 및 인터넷에 일반적이다.
LAN 네트워크 환경에서 사용될 때, 개인용 컴퓨터(20)는 네트워크 인터페이스 또는 어댑터(53)를 통해 로컬 네트워크(51)에 접속된다. WAN 네트워크 환경에서 사용될 때, 개인용 컴퓨터(20)는 모뎀(54) 및 전형적으로 인터넷과 같은 WAN(52)에 걸쳐 통신을 구축하기 위한 다른 수단들을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(54)은 직렬 포트 인터페이스(46)를 통해 시스템 버스(23)에 접속된다.
네트워크 환경에서, 개인용 컴퓨터(20) 또는 그 일부에 관련해 설명된 컴퓨터 프로그램은 원격 메모리 저장 장치에 저장될 수 있다. 도시된 네트워크 접속들은 예시적인 것이며, 컴퓨터들 간의 통신 링크를 구축하는 다른 수단들이 사용될 수 있음이 인식될 것이다.
다양한 모듈 및 기술들이 하나 이상의 컴퓨터 또는 다른 장치들에 의해 실행되는, 프로그램 모듈과 같은, 컴퓨터 실행가능 명령어들의 일반적인 문맥으로 여기에 설명될 수 있다. 일반적으로, 프로그램 모듈들은 특정한 태스크들을 수행하거나 특정한 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조를 포함한다. 전형적으로, 프로그램 모듈의 기능은 다양한 실시예들에 설명된 바와 같이 조합 또는 분산될 수 있다.
이러한 모듈 및 기술들의 구현은 컴퓨터 판독가능 매체의 몇몇 형태 상에 저장되거나 그것들에 걸쳐 또는 전송될 수 있다. 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 사용가능 매체일 수 있다. 예를 들어, 컴퓨터 판독가능 매체는 "컴퓨터 저장 매체" 및 "통신 매체"를 포함할 수 있지만, 이에 한정된 것은 아니다.
"컴퓨터 저장 매체"는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보를 저장하기 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD 또는 다른 광학 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 설명된 정보를 저장하는데 사용될 수 있고 컴퓨터가 액세스할 수 있는 임의의 다른 매체를 포함하지만, 이에 한정된 것은 아니다.
"통신 매체"는 전형적으로 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터를 구현한다. 통신 매체는 또한 임의의 정보 전달 매체도 포함한다. "변조된 데이터 신호"란 용어는 신호 내에 정보를 엔코딩하는 방식으로 설정 또는 변경된 특성의 하나 또는 그 이상의 갖는 신호를 의미한다. 예를 들어, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향, RF, 적외선, 및 다른 무선 매체와 같은 무선 매체를 포함하지만, 이에 한정된 것은 아니다. 상기의 것들중 임의의 것의 조합들도 컴퓨터 판독가능 매체의 영역에 포함된다.
예시적인 동작 실시예가 종래 컴퓨터의 동작 흐름의 문맥으로 설명되었지만, 당업자들은 본 발명이 비디오 신호들을 처리 및/또는 그것들이 통신하는 임의의 플랫폼 또는 환경에 구현될 수 있음을 인식할 것이다. 예들은 화상 회의, 펌웨어, 반도체 장치, 핸드핼드 컴퓨터, 팜 사이즈 컴퓨터(palm-sized computer), 셀룰러 전화기 등의 전용 하드웨어와 같은 프로그램가능 및 프로그램 불가능 장치 모두를 포함한다.
몇몇 예시적인 방법 및 시스템이 첨부된 도면들로 예시되고 상술된 상세한 설명에 설명되었지만, 도시되고 설명된 이 방법 및 시스템들은 여기에 설명된 특정한 구현에 한정되지 않으며, 오히려 여기에 설명된 취지를 벋어나지 않는 수많은 재배치물, 수정물 및 대입물일 수 있음이 이해될 것이다.
본 발명은 어플리케이션들에 걸쳐 차트를 일관적으로 렌더링 및 조정하는 능력을 제공한다.

Claims (32)

  1. 문서에 관련된 차트를 렌더링(rendering)하기 위한 방법으로서,
    차트 객체를 수신하는 단계 - 상기 차트 객체는 상기 차트를 차트 구성요소들로 정의하고 차트가 기초하고 있는 기본 차트 데이터(underlying chart data)의 데이터 소스를 참조하고, 상기 기본 차트 데이터는 상기 차트에 대한 데이터 값들을 포함함 -;
    상기 차트 객체에 의해 표현되는 차트의 유형을 결정하는 단계;
    상기 차트 객체에 의해 참조되는 데이터 소스로부터 상기 기본 차트 데이터를 리트리브(retrieve)하는 단계;
    다수의 어플리케이션 프로그램들에 의해 사용될 수 있고 공통 차팅 컴포넌트(common charting component)를 포함하는 공통 차팅 모듈의 변형 엔진(translation engine)을 사용하여, 복수의 차트 구성요소들을 상기 복수의 차트 구성요소들 각각에 관련된 데이터 값들 및 차트의 유형에 기초하여 복수의 대응하는 형상들로 변형(translate)시키는 단계;
    상기 복수의 대응하는 형상들에 기초하여 형상 기반 차트 정의(shape-based chart definition)를 생성하는 단계 - 상기 결정하는 단계, 상기 리트리브하는 단계, 상기 변형시키는 단계 및 상기 생성하는 단계는 상기 문서가 열릴 때 자동으로 수행됨 -;
    상기 차트에 포함된 기본 차트 데이터에 액세스할 수 있도록, 상기 문서 내에 상기 차트 객체를 유지시키는 단계; 및
    상기 공통 차팅 컴포넌트를 통해 상기 차트를 편집하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 형상 기반 차트 정의에 기초하여 상기 차트를 렌더링하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서, 상기 리트리브하는 단계는 상기 문서, 데이터베이스, 파일 또는 인터넷 중 하나 이상으로부터 데이터를 리트리브하는 단계를 포함하는 방법.
  4. 제1항에 있어서, 상기 변형시키는 단계는 관련 형상(related shape)들을 그룹화하는 단계를 포함하는 방법.
  5. 제4항에 있어서, 그룹 내의 관련 형상들에 그룹 효과(group effect)를 적용하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서, 상기 결정하는 단계, 상기 리트리브하는 단계, 상기 변형시키는 단계 및 상기 생성하는 단계는 상기 차트가 다른 문서로 복사될 때 자동으로 수행되는 방법.
  7. 제1항에 있어서, 상기 형상 기반 차트 정의를 캐싱(caching)하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서,
    상기 차트 객체에 기초하여 기본 차트 데이터를 조작하는 단계; 및
    상기 형상 기반 차트 정의에 기초하여 상기 차트 내의 형상을 조작하는 단계
    를 더 포함하는 방법.
  9. 컴퓨터로 하여금 문서에 관련된 차트를 렌더링하기 위한 프로세스를 수행하게 하는 컴퓨터 실행가능 명령어들이 저장된 컴퓨터 판독가능 저장 매체로서, 상기 프로세스는,
    상기 차트를 하나 이상의 차트 구성요소들로 정의하는 차트 객체를 수신하는 단계;
    상기 차트 객체에 의해 표현되는 차트의 유형을 결정하는 단계;
    상기 차트 객체에 의해 참조되는 데이터 소스로부터 기본 차트 데이터를 리트리브하는 단계 - 상기 기본 차트 데이터는 상기 차트에 대한 데이터 값들을 포함함 -;
    다수의 어플리케이션 프로그램들에 의해 사용될 수 있고 공통 차팅 컴포넌트를 포함하는 공통 차팅 모듈의 변형 엔진을 사용하여, 복수의 차트 구성요소들을 상기 복수의 차트 구성요소들 각각에 관련된 데이터 값들 및 차트의 유형에 기초하여 복수의 대응하는 형상들로 변형시키는 단계;
    상기 복수의 대응하는 형상들에 기초하여 형상 기반 차트 정의를 생성하는 단계 - 상기 컴퓨터 실행가능 명령어들은 상기 문서가 열릴 때 상기 결정하는 단계, 상기 리트리브하는 단계, 상기 변형시키는 단계 및 상기 생성하는 단계를 자동으로 수행하도록 구성됨 -;
    상기 차트 객체를 상기 문서로부터 결합 해제(disassociating)하지 않고, 상기 형상 기반 차트 정의를 사용하여 상기 차트를 렌더링하는 단계; 및
    상기 공통 차팅 컴포넌트를 통해 상기 차트를 편집하는 단계
    를 포함하는 컴퓨터 판독가능 저장 매체.
  10. 제9항에 있어서, 상기 생성하는 단계는 2 이상의 관련 형상들을 그룹 내에 위치시키는 단계를 포함하는 컴퓨터 판독가능 저장 매체.
  11. 제10항에 있어서, 상기 2 이상의 관련 형상들은 2 이상의 차트 라벨(label)들에 대응하는 컴퓨터 판독가능 저장 매체.
  12. 제10항에 있어서, 상기 2 이상의 관련 형상들은 상기 차트 내의 관련 데이터 시리즈에 대응하는 컴퓨터 판독가능 저장 매체.
  13. 제10항에 있어서, 상기 프로세스는 상기 그룹 내의 상기 형상들 모두에 그룹 효과를 적용하는 단계를 더 포함하는 컴퓨터 판독가능 저장 매체.
  14. 제10항에 있어서, 상기 프로세스는,
    상기 형상들의 그룹 내의 형상에 대한 제1 사용자 선택 이벤트를 검출하는 단계; 및
    상기 제1 사용자 선택 이벤트들을 검출하는 단계에 응답하여, 제1 사용자 조작을 상기 그룹 내의 상기 형상들 모두에 적용시킴으로써 상기 차트를 편집하는 단계
    를 더 포함하는 컴퓨터 판독가능 저장 매체.
  15. 제10항에 있어서, 상기 프로세스는,
    상기 형상들의 그룹 내의 형상에 대한 제2 사용자 선택 이벤트를 검출하는 단계; 및
    상기 제2 사용자 선택 이벤트를 검출하는 단계에 응답하여, 제2 사용자 조작을 상기 형상에만 적용시킴으로써 상기 차트를 편집하는 단계
    를 더 포함하는 컴퓨터 판독가능 저장 매체.
  16. 제9항에 있어서, 상기 생성하는 단계는 상기 차트 구성요소의 하나 이상의 데이터 값 특성에 기초하여 차트 구성요소에 관련된 형상의 치수를 결정하는 단계를 더 포함하는 컴퓨터 판독가능 저장 매체.
  17. 프로세싱 유닛;
    차트를 포함하는 문서;
    상기 차트를 차트 구성요소들로 정의하는 차트 객체;
    상기 프로세싱 유닛 상에서 동작하고 형상들을 렌더링하도록 동작가능한 그래픽 모듈; 및
    상기 프로세싱 유닛 상에서 동작하고, 상기 문서가 열릴 때, 상기 차트 객체에 기초하여 형상 기반 차트 정의를 자동으로 생성하도록 동작가능한 공통 차팅 모듈
    을 포함하고,
    상기 공통 차팅 모듈은 변형 엔진 및 공통 차팅 컴포넌트를 포함하고 다수의 어플리케이션 프로그램들에 의해 사용될 수 있고, 상기 형상 기반 차트 정의는 상기 차트를 상기 그래픽 모듈에 의해 렌더링될 수 있는 형상들로 정의하고, 상기 공통 차팅 모듈은 또한 상기 차트 객체에 의해 표현되는 차트의 유형을 결정하고, 상기 차트 객체에 의해 참조되는 데이터 소스로부터 상기 차트에 대한 데이터 값들을 포함하는 기본 차트 데이터를 리트리브하고, 상기 변형 엔진을 이용하여 복수의 차트 구성요소들 각각에 관련된 데이터 값들 및 차트의 유형에 기초하여 복수의 차트 구성요소들을 복수의 대응하는 형상들로 변형하고, 상기 공통 차팅 컴포넌트를 이용하여 차트들을 조작하도록 동작가능한 시스템.
  18. 제17항에 있어서, 상기 데이터 소스는 상기 차트 객체에 관련된 문서, 파일, 데이터베이스 또는 인터넷 중 하나 이상인 시스템.
  19. 제17항에 있어서, 상기 변형 엔진은 상기 복수의 대응하는 형상들로부터의 관련 형상들을 그룹 내에 위치시키는 시스템.
  20. 제17항에 있어서, 상기 차팅 모듈은 상기 복수의 차트 구성요소들 중 하나의 차트 구성요소에 관련된 형상의 치수를, 상기 차트 구성요소에 관련된 하나 이상의 데이터 값들에 기초하여 결정하는 시스템.
  21. 차트를 포함하는 문서 - 상기 차트는 차트 구성요소들로 정의됨 -;
    프로세싱 유닛;
    상기 프로세싱 유닛에 의해 실행가능한 컴퓨터 프로그램을 포함하는 하나 이상의 컴퓨터 저장 매체 - 상기 컴퓨터 프로그램은,
    상기 차트 구성요소들을 나타내는 형상들을 렌더링하기 위한 수단; 및
    상기 차트 구성요소들을 그래픽 모듈에 의해 렌더링될 수 있는 형상들로 변형시키기 위한 수단 - 상기 변형시키기 위한 수단은 다수의 어플리케이션 프로그램들에 의해 공유될 수 있고, 상기 변형시키기 위한 수단은, 차트의 유형을 결정하기 위한 수단; 상기 차트에 의해 참조되는 데이터 소스로부터 기본 차트 데이터를 리트리브하기 위한 수단 - 상기 기본 차트 데이터는 상기 차트에 대한 데이터 값들을 포함함 -; 복수의 차트 구성요소들 각각에 관련된 데이터 값들 및 차트의 유형에 기초하여 상기 차트 구성요소들을 대응하는 형상들로 변형시키기 위한 수단; 및 복수의 대응하는 형상들에 기초하여 형상 기반 차트 정의를 생성하기 위한 수단을 포함하고, 상기 결정하기 위한 수단, 상기 리트리브하기 위한 수단, 상기 변형시키기 위한 수단 및 상기 생성하기 위한 수단은 문서가 열릴 때 자동으로 수행됨 - 을 포함함-; 및
    다수의 어플리케이션 프로그램들에 의해 공통된 방식으로 상기 차트를 조작하기 위한 수단
    을 포함하는 시스템.
  22. 제21항에 있어서, 상기 변형시키기 위한 수단은 하나 이상의 데이터 값들에 기초하여 상기 차트 구성요소에 관련된 형상의 치수들을 결정하기 위한 수단을 포함하는 시스템.
  23. 제21항에 있어서, 상기 형상들은 확장성 생성 언어 코드(extensible markup language code)로 특정되는 시스템.
  24. 제22항에 있어서, 상기 변형시키기 위한 수단은 하나 이상의 관련 형상들을 더 그룹화하고, 이에 따라 그룹 효과가 상기 그룹 내의 상기 관련 형상들 모두에 적용될 수 있는 시스템.
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
KR1020050054849A 2004-09-15 2005-06-24 형상들을 사용하는 공통 차팅 KR101130484B1 (ko)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
KR20060048511A KR20060048511A (ko) 2006-05-18
KR101130484B1 true KR101130484B1 (ko) 2012-03-28

Family

ID=35517182

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050054849A KR101130484B1 (ko) 2004-09-15 2005-06-24 형상들을 사용하는 공통 차팅

Country Status (12)

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

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
WO2008043042A2 (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
US9004027B2 (en) * 2010-05-26 2015-04-14 Mitsubishi Electric Corporation Cam-data creation device and cam-data creation program
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 浪潮软件集团有限公司 基于模板的数据分析展现方法
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
US10304225B2 (en) 2016-12-30 2019-05-28 Microsoft Technology Licensing, Llc Chart-type agnostic scene graph for defining a chart

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0199909A2 (en) * 1985-04-02 1986-11-05 International Business Machines Corporation Updating business chart data by editing the chart
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

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0199909A2 (en) * 1985-04-02 1986-11-05 International Business Machines Corporation Updating business chart data by editing the chart
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

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
D. PETZOLD, "Environments - Metafile Support under the OS/2 Graphics Programming Interface", PC Magzine, 25 September 1990. *
P. ASMAN, "Creating SVG Pie charts through XSLT via Web Services: An experience report" SVG Open 2003 Conference and Exhibition, 18 July 2003. *

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101130484B1 (ko) 형상들을 사용하는 공통 차팅
US6995777B2 (en) System and method for providing vector editing of bitmap images
AU2004287140B2 (en) System and method for a unified composition engine in a graphics processing system
US11537278B2 (en) Interactively presenting a visible portion of a rendering surface on a user device
US7380202B1 (en) Method and system for customizing and personalizing page control content
EP0992918A2 (en) A method of saving sections of a document to random access memory
US10713420B2 (en) Composition and declaration of sprited images in a web page style sheet
US9286228B2 (en) Facilitating caching in an image-processing system
KR20080023724A (ko) 컴퓨터를 위한 확대 엔진 및 인터페이스
KR20080042835A (ko) 사용자 인터페이스의 액티브 콘텐트에서의 확장가능한시각적 이펙트
US6271858B1 (en) Incremental update for dynamic/animated textures on three-dimensional models
US8670634B2 (en) Method and apparatus for managing image-processing operations
EP1625515B1 (en) System and method for providing multiple renditions of document content
US20120297285A1 (en) Computer-Implemented Systems And Methods For High Resolution Design Template Generation
CN113535304B (zh) 设计软件中插入、展示、编辑第三方模型的方法与装置
JP7175360B2 (ja) 業務処理装置、情報処理方法及びプログラム
JP2008310423A (ja) 画像ファイル作成編集装置、画像ファイル閲覧装置、及び画像ファイル作成編集方法
JPH0594434A (ja) 文書処理方式

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150217

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160218

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200218

Year of fee payment: 9