(57)【要約】【課題】  表示及び操作の機能を向上させた、形状を使用する共通チャーティングを提供する。【解決手段】  文書に関連付けられたチャートを表示するための方法は、チャート要素を有するチャートを定義するチャートオブジェクトを、形状を有するチャートを定義する形状ベースチャート定義に変換することと、チャートに含有された基礎チャートデータへアクセスできるように維持することとを含む。システムは、チャート要素を有するチャートを定義するチャートオブジェクトと、形状を表示するよう操作できるグラフィックスモジュールと、チャートオブジェクトに基づく形状ベースチャート定義を生成するチャーティングモジュールとを含み、形状ベースチャート定義がグラフィックスモジュールによって表示できる形状を備えたチャートを定義する。【選択図】  図１
2006085674.tif 000002
【特許請求の範囲】
【請求項１】
文書に関連付けられたチャートを表示する方法であって、
チャートオブジェクトを形状ベースチャート定義に変換するステップであって、チャートオブジェクトがチャート要素を有するチャートを定義し、形状ベース形状定義が形状を有するチャートを定義するステップと、
チャートに含有された基礎チャートデータへのアクセスを可能にするために、チャートオブジェクトを文書内に維持するステップと、
を備えることを特徴とする方法。
【請求項２】
形状ベースチャート定義に基づいてチャートを表示するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記変換するステップは、チャートオブジェクトによって参照されたデータ源からデータを検索することを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記検索することは、
文書と、
データベースと、
ファイルと、または、
インターネットと
の１つまたは複数からデータを検索することを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記変換するステップは関連形状をグルーピングすることを含むことを特徴とする請求項１に記載の方法。
【請求項６】
グループ内の関連形状にグループ効果を施すステップをさらに備えることを特徴とする請求項５に記載の方法。
【請求項７】
前記変換するステップは、文書が開いているときに自動的に実施されることを特徴とする請求項１に記載の方法。
【請求項８】
前記変換するステップは、チャートが別の文書にコピーされるときに自動的に実施されることを特徴とする請求項１に記載の方法。
【請求項９】
形状ベースチャート定義をキャッシュするステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１０】
１つまたは複数のアプリケーションプログラムによって使用される共通チャーティングコンポーネントによってチャートを編集するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項１１】
チャートオブジェクトに基づいて基礎チャートデータを操作するステップと、
形状ベースチャート定義に基づいてチャート内で形状を操作するステップと
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項１２】
コンピュータに文書と関連付けられたチャートを表示するプロセスを実施させるための、コンピュータが実行可能な命令を格納したコンピュータ読取り可能な記録媒体であって、前記プロセスは、
１つまたは複数のチャート要素を有するチャートを定義するチャートオブジェクトを受け取るステップと、
チャートオブジェクトに基づく形状ベースチャート定義を生成するステップであって、前記形状ベースチャート定義は１つまたは複数の形状を有するチャートを定義する、生成するステップと、
チャートオブジェクトを文書から分離することなく、形状ベースチャート定義を使用してチャートを表示するステップと
を備えることを特徴とするコンピュータ読取り可能な記録媒体。
【請求項１３】
前記生成するステップは、チャートオブジェクトのチャート要素を形状ベースチャート定義内の対応する形状に変換することを含むことを特徴とする請求項１２に記載のコンピュータ読取り可能な記録媒体。
【請求項１４】
前記生成するステップは、チャートオブジェクトによって参照されたデータ源からデータを検索することを含むことを特徴とする請求項１２に記載のコンピュータ読取り可能な記録媒体。
【請求項１５】
前記生成するステップは、
チャート要素に対応する複数の形状を生成することと、
２つ以上の関連形状をグループにすることと、
を含むことを特徴とする請求項１２に記載のコンピュータ読取り可能な記録媒体。
【請求項１６】
２つ以上の関連形状が２つ以上のチャートラベルに対応することを特徴とする請求項１５に記載のコンピュータ読取り可能な記録媒体。
【請求項１７】
２つ以上の関連形状がチャート内の一連のデータ点に対応することを特徴とする請求項１５に記載のコンピュータ読取り可能な記録媒体。
【請求項１８】
グループ内のすべての形状にグループ効果を施すステップをさらに備えることを特徴とする請求項１５に記載のコンピュータ読取り可能な記録媒体。
【請求項１９】
形状のグループ内の形状の第一のユーザー操作を検知するステップと、
第一のユーザー操作の検知に反応して、ユーザー操作をグループ内のすべての形状に施すことによってチャートを編集するステップと
をさらに備えることを特徴とする請求項１５に記載のコンピュータ読取り可能な記録媒体。
【請求項２０】
形状のグループ内の形状の第二のユーザー操作を検知するステップと、
第二のユーザー操作の検知に反応して、ユーザー操作をその形状のみに施すことによってチャートを編集するステップと
をさらに備えることを特徴とする請求項１９に記載のコンピュータ読取り可能な記録媒体。
【請求項２１】
前記生成するステップは、チャート要素に特有の１つまたは複数のデータ値に基づいてチャート要素に関連付けられた形状の寸法を判定することを含むことを特徴とする請求項１２に記載のコンピュータ読取り可能な記録媒体。
【請求項２２】
チャート要素を有するチャートを定義するチャートオブジェクトと、
形状を表示するよう操作できるグラフィックスモジュールと、
チャートオブジェクトに基づいて形状ベースチャート定義を生成するよう操作できるチャーティングモジュールであって、形状ベースチャート定義がグラフィックスモジュールによって参照できる形状を有するチャートを定義する、チャーティングモジュールと
を備えたことを特徴とするシステム。
【請求項２３】
前記チャーティングモジュールは、チャートオブジェクトによって参照された１つまた複数のデータ源からデータを検索することによって、チャートオブジェクトを形状ベースチャート定義に変換する変換エンジンを含むことを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記１つまたは複数のデータ源は、
チャートオブジェクトに関連付けられた文書と、
ファイルと、
データベースと、または、
インターネットと
のうち１つまたは複数であることを特徴とする請求項２３に記載のシステム。
【請求項２５】
前記変換エンジンは、チャートオブジェクト内の１つまたは複数のチャート要素を１つまたは複数の対応する形状に変換することを特徴とする請求項２３に記載のシステム。
【請求項２６】
前記変換エンジンは、１つまたは複数の形状からの関連形状をグループ内に入れることを特徴とする請求項２５に記載のシステム。
【請求項２７】
前記変換エンジンは、チャート要素に関連付けられた１つまたは複数のデータ値に基づくチャート要素に関連付けられた形状の寸法を判定することを特徴とする請求項２２に記載のシステム。
【請求項２８】
チャーティングモジュールが、複数のアプリケーションプログラムに共通の方法でチャートを操作するよう操作できる共通チャーティングコンポーネントを含むことを特徴とする請求項２２に記載のシステム。
【請求項２９】
チャート要素によって定義されるチャートを含む文書と、
チャート要素を代表する形状を表示するよう操作できるグラフィックスモジュールと、
チャート要素をグラフィックスモジュールによって表示できる形状に変換する手段と
を備えたことを特徴とするシステム。
【請求項３０】
前記変換する手段は、チャートの種類を判定し、チャート要素を代表する１つまたは複数のデータ値を検索し、１つまたは複数のデータ値に基づくチャート要素に関連付けられた形状の寸法を判定する変換モジュールを含むことを特徴とする請求項２９に記載の方法。
【請求項３１】
形状が拡張マークアップ言語コードで規定されていることを特徴とする請求項２９に記載の方法。
【請求項３２】
変換モジュールが１つまたは複数の関連形状をさらにグループ化し、それによってグループ効果をグループ内のすべての関連形状に施すことができることを特徴とする請求項３０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、形状を使用する共通チャーティング（charting）に関する。
【背景技術】
【０００２】
チャートは、数値データのグラフィカル表現である。チャートは特に、複雑なデータを簡潔および容易に理解できる形で示すために有用である。今日のデスクトップパブリッシング環境では、ユーザーはチャートを使用して印象的なプレゼンテーションを作成できる。チャートは、ＭＩＣＲＯＳＯＦＴ  ＣＯＲＰＯＲＡＴＩＯＮのＥＸＣＥＬ（商標）などのアプリケーションプログラムに入力した基礎データに基づいている。そして基礎データは、データのチャートを多数の異なる形式、たとえば円グラフ、棒グラフ、ヒストグラム、折れ線グラフなどで作成するために使用できる。加えて、チャートの各部分は、情報を伝達するために非常に重要であるチャートの外観を改善するために関連付けられた色、テクスチャーおよび他の効果を有することができる。
【０００３】
アプリケーションプログラムはチャートを表示するために、従来、原始関数呼出しを使用してきた。“ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）”によるグラフィックス・ディスプレイ・インタフェース（ＧＤＩまたはＧＤＩ＋）および“ＭＩＣＲＯＳＯＦＴ  ＯＦＦＩＣＥ（商標）”によるＧＥＬはたとえば、チャートを表示するためにアプリケーションプログラムによってよく使用される比較的低レベルのインタフェースである。そのような低レベルインタフェースは通例、画素レベルでチャート要素を表示するための関数を提供する。たとえばラインを引くために、アプリケーションプログラムは、開始画素および終了画素を規定する必要がある。その後、ラインを延伸する場合には、アプリケーションプログラムは再度、新しい開始および／または終了画素を規定する必要がある。従来のインタフェースは画素のグループをラインとして扱うための、より高いレベルの関数、たとえばライン延伸関数を含まない。
【０００４】
別の問題は、各種のアプリケーションプログラムが従来、チャートを異なって表示してきたことである。たとえば“ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）”では、あるアプリケーションプログラムはＧＤＩを使用するが、別のアプリケーションは、ＧＥＬおよびＧＤＩへの組合せ呼出しを使用する。チャートが異なって表示されるため、異なるアプリケーションプログラムによって表示されたチャート内の同様の要素は、ユーザーには異なって見えることがある。それゆえ、たとえばＭＩＣＲＯＳＯＦＴ  “ＰＯＷＥＲＰＯＩＮＴ（商標）”および“ＥＸＣＥＬ（商標）”でそうでなければ同じに見えるべきチャートは、２つのアプリケーションプログラムで多少異なって見えることがある。
【０００５】
ユーザーは、１つのアプリケーションプログラムからチャートをコピーして、それを別のアプリケーションプログラムに導入することが多い。たとえばチャートを“ＥＸＣＥＬ（商標）”からコピーしてＭＩＣＲＯＳＯＦＴ  “ＷＯＲＤ（商標）”文書または“ＰＯＷＥＲＰＯＩＮＴ（商標）”プレゼンテーションにペーストすることができる。従来、ユーザーはチャートオブジェクトまたはピクチャのどちらかとしてペーストすることができた。残念ながら、ユーザーがチャートをピクチャとしてペーストする場合、チャートはピクチャを作成するのに使用した基礎データから分離される。これは、ユーザーがペーストしたチャートを介して、チャートの基礎データをもはや操作できないことを意味する。たとえばユーザーは、チャートをいったんピクチャとしてペーストすると、チャート内の数値データまたはラベルを編集できない。
【０００６】
加えて、チャートがピクチャとしてペーストされない場合、文書内のチャートはある欠点を有することがある。これらの欠点は主に、ピクチャ形式でないチャートがプレゼンテーションの側面を考慮せずに生成されるという事実による。たとえば、チャートは、視覚を混乱させる劣化効果と共に表示されることがある。別の例として、ユーザーがチャートのサイズ変更をする場合、フォントスケーリングが不正確であるために、テキストが通常とは異なって表示されることがある。さらに別の例として、ピクチャとしてペーストされていないチャートは、座標マッピングの相違により、プリントアウトの表示とは異なってコンピュータの画面上に表示されることがある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
それゆえ、アプリケーションで一貫してチャートを表示および操作する機能に対する必要性がある。加えて、ユーザがチャートの基礎要素を操作できるとともに、チャートの一貫した高品質の表示を提供する必要性がある。
【０００８】
本発明は、このような状況に鑑みてなされたもので、その目的とするところは、表示及び操作の機能を向上させた、形状を使用する共通チャーティングを提供することにある。
【課題を解決するための手段】
【０００９】
このような目的を達成するために、本発明の文書に関連付けられたチャートを表示する方法は、チャートオブジェクトを形状ベースチャート定義に変換するステップであって、チャートオブジェクトがチャート要素を有するチャートを定義し、形状ベース形状定義が形状を有するチャートを定義するステップと、チャートに含有された基礎チャートデータへのアクセスを可能にするために、チャートオブジェクトを文書内に維持するステップと、を備えることを特徴とする。
【００１０】
また上記目的を達成するために、本発明の記録媒体は、コンピュータに文書と関連付けられたチャートを表示するプロセスを実施させるための、コンピュータが実行可能な命令を格納したコンピュータ読取り可能な記録媒体であって、前記プロセスは、１つまたは複数のチャート要素を有するチャートを定義するチャートオブジェクトを受け取るステップと、チャートオブジェクトに基づく形状ベースチャート定義を生成するステップであって、前記形状ベースチャート定義は１つまたは複数の形状を有するチャートを定義する、生成するステップと、チャートオブジェクトを文書から分離することなく、形状ベースチャート定義を使用してチャートを表示するステップとを備えることを特徴とする。
【００１１】
また上記目的を達成するために、本発明のシステムは、チャート要素を有するチャートを定義するチャートオブジェクトと、形状を表示するよう操作できるグラフィックスモジュールと、チャートオブジェクトに基づいて形状ベースチャート定義を生成するよう操作できるチャーティングモジュールであって、形状ベースチャート定義がグラフィックスモジュールによって参照できる形状を有するチャートを定義する、チャーティングモジュールとを備えたことを特徴とする。
【００１２】
また上記目的を達成するために、本発明のシステムは、チャート要素によって定義されるチャートを含む文書と、チャート要素を代表する形状を表示するよう操作できるグラフィックスモジュールと、チャート要素をグラフィックスモジュールによって表示できる形状に変換する手段とを備えたことを特徴とする。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明を適用できる実施形態を詳細に説明する。
【００１４】
本明細書では、チャートを表示および操作するためのシステムおよび方法の各種のインプリメンテーションについて述べる。本明細書で述べた各種のインプリメンテーションにおいて、チャートはチャートオブジェクトから形状（shape）ベースの定義に変換される。チャートオブジェクトは、チャート要素によってチャートの部分を定義し、チャートが基づいている基礎チャートデータを参照する。チャートは形状として表示されるが、チャートオブジェクトは、基礎チャートデータの操作を可能にするために維持される。１つ以上のアプリケーションプログラムに共通である共通チャーティングコンポーネントは、チャートオブジェクトを使用して、ユーザーがチャートの基礎要素を操作できるようにする。
【００１５】
形状ベースの定義は、形状によってチャートを定義する。形状ベースの定義は、異なるアプリケーションで一貫した形状表示サービスおよび形状操作サービスを提供するために、共通グラフィックスモジュールによって使用される。加えて共通グラフィックスモジュールは、グループ操作関数を提供し、それによって関連形状のグループがチャート内で操作される。
【００１６】
図１は、形状ベースチャート定義を使用して共通チャーティングを実施するための、チャーティングシステム１００の例を示す。共通チャーティングという用語は、複数のおよび／または異なるアプリケーションでのチャート操作の共通方法を指す。システム１００には、コンピュータモニタ画面１０８に文書１０４を表示するために、文書１０４および共通グラフィックスモジュール１０６へのアクセスを提供するアプリケーションプログラム１０２が含まれている。
【００１７】
本明細書で使用するように、文書１０４は、ユーザー読取り可能情報、たとえばテキストおよびグラフィックスを含むコンピュータ読取り可能ファイルである。文書１０４は、アプリケーションプログラム１０２のユーザーインタフェースによって、ユーザが閲覧および編集できる。文書の種類の例は、これに限定されるわけではないが、スプレッドシート、プレゼンテーション、または従来のテキスト文書を含む。それゆえ文書の種類に応じて、アプリケーションプログラム１０２はたとえば、ＭＩＣＲＯＳＯＦＴ  “ＷＯＲＤ（商標）”、“ＰＯＷＥＲＰＯＩＮＴ（商標）”、“ＥＸＣＥＬ（商標）”、または他のアプリケーションプログラムでもよく、またこれに限定されるわけではない。画面１０８に一例として示すように、文書１０４は、“ＰＯＷＥＲＰＯＩＮＴ（商標）”と必ずというわけではないがよく関連付けられる「プレゼンテーション」である。
【００１８】
本説明に特に関連しているのが、プレゼンテーション内のチャート１１０である。図１の特定のインプリメンテーションに示すチャート１１０は、カラムチャートである。他のインプリメンテーションに従って、チャート１１０はカラムチャートに限定されず、円グラフ、折れ線グラフ、または散布図などの他の種類のチャートでもよい。１１０内の各種のデータは、文書１０４によって最初に規定される。文書１０４は、チャートオブジェクト１１２と呼ばれるチャート定義によってチャート１１０を規定する。
【００１９】
チャートオブジェクト１１２は、チャート要素によってチャート１１０を定義する。一般にチャート要素は、チャートの側面を表すデータ単位である。通例、チャート要素はチャートが伝達する情報またはチャートの種類に関連して、チャートの側面を表す。チャート要素の例は、棒（たとえば棒グラフ用の）、チャート軸、チャート凡例、チャートタイトル、チャートラベル、要素色、テキストフォント、要素位置、データ源などを含む。チャートオブジェクト１１２のインプリメンテーションのひとつは、拡張マークアップ言語（ＸＭＬ）コードのセットである。説明のために、チャートオブジェクト１１２によるＸＭＬコードの例を以下に示す：
【００２０】
【数１】
2006085674.tif 000003
2006085674.tif 000004
【００２１】
【数２】
2006085674.tif 000005
【００２２】
文書１０４は通例、他の文書データ１１４を有し、文書データ１１４はテキストおよびフォーマット情報を含みこれに限定されない。１つのインプリメンテーションに従って、アプリケーションプログラム１０２を起動して、文書１０４を開くと、チャートオブジェクト１１２が表示のために、共通グラフィックスモジュール１０６の共通グラフィックスインタフェース１１６に渡される。
【００２３】
共通グラフィックスインタフェース１１６は、チャートオブジェクト１１２に表現されるグラフィックの種類を決定する。共通グラフィックスインタフェース１１６によって扱われるグラフィックスの種類は、これに限定されるわけではないが、図、チャート、またはオートシェイプを含む。チャートオブジェクト１１２は、それがチャートを定義することを示す識別子を含む。チャート識別子に基づいて、共通グラフィックスインタフェース１１６は、チャートオブジェクト１１２がチャートを定義して、それを共通チャーティングモジュール１１８に送付することを決定する。
【００２４】
共通チャーティングモジュール１１８は、チャートオブジェクト１１２をグラフィックスモジュール１０６がチャート１１０を画面１０８に表示するために使用する形に変換する変換エンジン１２０を含む。変換エンジン１２０は特に、チャートオブジェクト１１２を形状ベースチャート定義１２２に変換する。形状ベースチャート定義１２２はその名が示すように、チャート要素ではなく、形状によってチャートを定義する。以下に述べるように、形状の使用は、グラフィックスと相互作用するための共通機構を考慮することによって、チャート表示プロセス、チャート外観、およびチャート操作を改良することができる。
【００２５】
変換プロセスにおいて、変換エンジン１２０は多数の操作を実施する。たとえば変換エンジン１２０は、チャートオブジェクト１１２で参照されたデータ源からチャート１１０を作成するデータ（たとえば数値データ）を検索する。データ源は、文書１０４自体、または他の供給源、たとえばこれに限定されるわけではないが、別の文書、データベース、ファイル、インターネット、またはキューでもよい。データに加えて、変換エンジン１２０は、データがフォーマットされる方法を説明する数値フォーマット情報を検索する。数値フォーマット情報はこれに限定されるわけではないが、通貨記号、小数点の数、パーセンテージまたは分数のフォーマット、あるいは日付および時間のフォーマットを含む。
【００２６】
変換エンジン１２０は、チャート要素を形状へ、たとえばライン、矩形、円形、三角形などへの変換も行う。形状は、単にチャート要素の視覚的外観を表現するデータ単位であり、基礎数値チャートデータに関連付けられておらず、それらに依存してもいない。それゆえたとえばチャートオブジェクト１１２のバーは、形状ベースチャート定義１２２では矩形に変換され、チャート軸は、ラインに変換される、などである。
【００２７】
加えて変換エンジン１２０は、選択した関連形状をグループ化して、ユーザーによる関連形状の操作を促進する。共通グラフィックスインタフェース１１６は、ユーザーに関連形状のグループと相互作用させる関数を提供する。変換エンジン１２０は、関連チャート要素、たとえばこれに限定されるわけではないが、関連データラベルおよび関連データシリーズをグループ化することによって、これらの関数を利用する。データを検索した上で、チャート要素を形状に変換し、関連形状をグループ化した後に、変換エンジン１２０は、形状ベースチャート定義１２２を生成する。
【００２８】
形状ベースチャート定義１２２のインプリメンテーションは、ＸＭＬコードより成る。説明するために、形状ベースチャート定義１２２の例によるＸＭＬコードを以下に示す：
【００２９】
【数３】
2006085674.tif 000006
【００３０】
【数４】
2006085674.tif 000007
【００３１】
【数５】
2006085674.tif 000008
【００３２】
【数６】
2006085674.tif 000009
【００３３】
【数７】
2006085674.tif 000010
【００３４】
グラフィックスインタフェース１１６は、形状ベースチャート定義１２２を受け取り、画面１０８上に、形状ベースチャート定義によって規定された形状のセットとしてチャート１１０を表示する。共通グラフィックスインタフェース１１６は通例、オペレーティングシステムまたは表示コントローラ関数への呼出しを行うことによって表示を実施する。たとえばＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムにおいて、共通グラフィックスインタフェース１１６は、グラフィックス表示インタフェース（ＧＤＩ＋）に呼出しを行う。
【００３５】
示したように、共通グラフィックスモジュール１０６は、共通グラフィックスサービス１２４のセットを含む。共通グラフィックスサービス１２４は、チャート１１０を操作するためのアプリケーションプログラムによってアクセスできるサービスを含む。共通グラフィックスサービス１２４は、１つ以上のアプリケーションプログラミングインタフェース（ＡＰＩ）がサービスにアクセスできるよう規定する。
【００３６】
共通グラフィックスモジュール１０６が形状を表示するので、グラフィックスサービス１２４は、チャート１１０を操作するための高レベル関数を提供することができる。グラフィックスサービス１２４はたとえば、チャート内の形状に対してベクトルグラフィックス関数を実施する。説明すると、新しい位置に矩形を描画する多数の低レベル関数を呼出すよりも、形状を移動するグラフィックスサービス１２４の単一の関数を呼出すことにより、矩形を容易に移動することができる。加えて、共通グラフィックスモジュール１０６は、複数のアプリケーションプログラムにとって共通であるため、形状操作／編集および外観は、アプリケーションプログラム間で一貫したものになるであろう。それゆえ共通グラフィックスモジュール１０６は、アプリケーションプログラム１０２の種類とは無関係に、チャート１１０で形状を編集するための共通グラフィックスユーザーインタフェースを表現することができる。
【００３７】
共通グラフィックスモジュール１０６は、文書１０４の内容を画面１０８上で表示および／または操作するための他のサービス１２６も含む。他のサービス１２６は、これに限定されるわけではないが、メモリ割当およびテキスト関連操作を含むことができる。
【００３８】
チャート１１０を表示した後に、ユーザーは、チャート１１０内の形状またはチャート１１０の基礎データを操作できる。チャートを編集する大半の命令は、共通チャーティングコンポーネント１２８に渡される。共通チャーティングコンポーネント１２８は次に、命令に基づいて動作するか、命令をグラフィックスサービス１２４に返送することができる。命令をグラフィックスサービス１２４に渡す前に、共通チャーティングコンポーネント１２８は、必要に応じて命令を修正できる。ユーザーが基礎チャートデータを編集し、それによってチャートオブジェクト１１２を変更する場合、変換エンジン１１８は、チャートオブジェクト１１２を再度、更新された形状ベースチャート定義１２２に自動的に変換する。
【００３９】
ユーザーがチャート１１０の基礎データを操作する場合、共通チャーティングコンポーネント１２８は、操作のための関数を提供する。過去には、ユーザーがチャートを操作するときに、アプリケーションプログラム１０２が操作を実施した。このことは、異なるアプリケーション間で異なるチャート表示および挙動、ならびに異なるユーザー相互作用を生じさせた。本明細書で述べるインプリメンテーションでは、共通チャーティングコンポーネント１２８が、チャート１１０を構成する基礎チャートデータを操作するための共通の関数セットを提供する。結果として、ユーザーが基礎チャートデータを編集するときに、チャート１１０の挙動がすべてのアプリケーションプログラムにわたって一貫する。
【００４０】
チャート１１０は形状ベースチャート定義１２２を使用して表示されるが、有益なことに、基礎チャートデータは、チャートオブジェクト１１２の文書１０４内になお維持される（すなわち文書１０４から除去されていない）。共通チャーティングコンポーネント１２８は、ユーザーが基礎チャートデータ（たとえば数値データ）を編集するときにチャートオブジェクト１１２を使用する。それゆえユーザーは、共通グラフィックスインタフェース１１６を介してチャート１１０の形状を編集し、共通チャーティングコンポーネント１２８を介して基礎チャートデータを編集できるようになる。文書１０４が閉じられるときにさえ、チャートオブジェクト１１２は文書１０４内に維持される。結果としてユーザーは、チャート１１０をチャートおよび／またはピクチャとして編集できる。
【００４１】
特定のインプリメンテーションにおいては、形状ベースチャート定義１２２は将来使用するために保存できる。このインプリメンテーションにおいて、形状ベースチャート定義１２２は、文書１０４が閉じられる前に、文書１０４と共に、またはキャッシュメモリ（図示せず）内に保存される。次に文書１０４が後日開かれるときに、形状ベースチャート定義１２２がメモリから検索されて、チャート１１０を表示するために使用される。このインプリメンテーションでは、変換エンジン１２０は文書１０４を開くたびに毎回、チャートオブジェクト１１２を変換する必要がない。
【００４２】
モジュールという用語は一般的な意味で、１つ以上の指定された関数を実施するために操作可能なコンポーネントの説明に使用される。モジュールは、各種の方法および形式で実施できる。たとえばモジュールは、スピード、コスト、サイズなどの因子によって、ハードウェア、ソフトウェア、ファームウェアの中で、またはハードウェア、ソフトウェア、ファームウェアとして、あるいはハードウェア、ソフトウェア、および／またはファームウェアの各種の組合せにおいて実施できる。たとえば制限なく、１つのインプリメンテーションにおいて、システム１００のモジュールはそれぞれ、コンピュータ読取り可能媒体に格納されて、コンピューティングシステム、たとえば図６に関して以下で説明するコンピューティングシステムで実行されるソフトウェア、たとえばダイナミックリンクライブラリ（ＤＬＬ）を含む。
【００４３】
操作例 
図２は、図１に示すチャーティングシステム１００によって実施できる共通チャーティングアルゴリズム２００を示している。共通チャーティングアルゴリズム２００は、共通チャーティングシステム１００以外のシステムによって同様に実施できる。共通チャーティングアルゴリズム２００は、基礎チャートデータを編集できるようにするためにチャートオブジェクトを維持しながら、文書と関連付けられたチャートを表示するために形状を使用する操作例を含む。
【００４４】
最初に、検索操作２０２がチャートの定義を提供するチャートオブジェクトを検索する。通例、チャートオブジェクトは文書から検索される。チャートオブジェクトは、チャートに固有に関連するチャート要素、たとえばバー、軸、ラベル、数値データなどを用いて、チャートの部分を定義する。チャートオブジェクトは、チャートが基づいている、基礎チャートデータのデータ源への参照を提供する。
【００４５】
変換操作２０４は、チャートが形状を使用して表示および編集できるように、チャートオブジェクトを形状ベースチャート定義に変換する。形状は、チャート要素の視覚的外観（たとえばサイズ、位置、および色）を規定する。データラベルまたは他のテキスト要素も、矩形内の該当するテキストまたはラベルを有する矩形を作成することによって、形状に変換できる。テキストまたはラベル矩形は編集されて、規定色によって塗りつぶされる、あるいは境界線、または矩形に適当なグラフィック効果を有することができる。変換操作２０４の例を図３に示し、以下で説明する。
【００４６】
チャートオブジェクトが形状ベース定義に変換された後、表示操作２０６は、形状ベース定義に規定された形状を使用してチャートを表示する。通例、チャートは文書によって指定された位置に表示される。チャート内の形状の位置、色、グループ化、寸法、および他の属性は、形状ベース定義によって規定できる。
【００４７】
チャートは形状と共に表示されるが、チャートオブジェクトは文書と関連付けられたままである。言い換えれば、チャートオブジェクトは文書から関連付けを解除されない。チャートオブジェクトが維持されるため、ユーザーは基礎チャートデータの編集を継続できる。ユーザーが基礎チャートデータを編集することによってチャートオブジェクトを編集する場合は常に、変換操作２０４が実施される。
【００４８】
図３には、変換操作２０４の例が示されている。変換操作２０４は、関連時間にて、または関連イベントに反応して実施できる。たとえば制限なく、文書が開いているときは常に、またはチャートが１つの文書からコピーされて、別の文書にインポートされるときには、変換操作２０４は自動的に実施できる。変換操作２０４は、説明を容易にするために、図４を参照して説明する。それゆえ説明のために、チャートオブジェクトおよび対応する形状ベースの定義が、図４に示したチャート４００を定義することを仮定する。
【００４９】
最初に、決定操作３０２がチャート４００の種類を決定する。図示した詳細な場合では、チャートオブジェクトは、チャートがカラムチャートであることを示すチャート種類識別子を含む。それゆえ決定操作３０２は、チャートがカラムチャートであることを決定する。チャート種類が通例、データ値に意味を与えることに関連しており、チャート要素が形状に変換される方法を規定するので、チャートの種類が決定される。
【００５０】
次に検索操作３０４は、チャートの基準となる基礎データを検索する。通例、しかし制限なく、基礎チャートデータはたとえば通貨タイプや小数点といった、データ値、ラベル、およびデータフォーマットを含む。基礎データは、チャートオブジェクトによって規定された１つ以上のデータ源から検索される。それゆえチャート４００に関して、検索される基礎データは、データラベル４０２ａ（６．０）、データラベル４０２ｂ（８．９）、およびデータラベル４０２ｃ（３．２）を含む。
【００５１】
次に変換操作３０６は、チャート要素を対応する形状に変換する。チャート４００を参照すると、たとえばチャートオブジェクト内の第一のカラムは、矩形４０４ａに変換され、その寸法は、カラムに関連付けられたデータ値に基づいている。変換操作３０６は、最初にカラム４０４ｂに最大値（この場合、８．９）を関連付け、チャートの高さに基づいて矩形４０４ａを線形にスケーリングすることによって矩形４０４ａの矩形を決定する。変換操作３０６は同様に、残りの２つのカラムを関連付けられた矩形４０４ｂおよび４０４ｃに変換する。
【００５２】
グループ化操作３０７は次に、関連形状をグループ化する。ユーザーがグループとして編集または操作したい形状をグループ化することがベストである。たとえばデータラベル４０２ａ、４０２ｂ、および４０２ｃはグループ化できる。別の例として、矩形４０４ａ、４０４ｂ、および４０４ｃをグループ化できる。グループ化操作３０７は、グループ内にある形状を指示する形状ベースチャート定義にグループインジケータを挿入する。
【００５３】
関連形状をグループ化した後、共通グラフィックスモジュール（たとえば共通グラフィックスモジュール１０４、図１）は、ユーザー入力に基づいてグループ効果を施すことができる。たとえばユーザーがチャート４００のすべての矩形の色を変更したい場合、ユーザーは矩形の１つを選択して、色を変更するだけでよい。そのようなグループはユーザーが次に、グループ内の形状を一度クリックすることによって各形状をグループで操作することができるため、有用である。ユーザーがグループ内の単一の形状を操作したい場合、ユーザーはその形状を二度クリックする。
【００５４】
コンピューティングデバイスの例 
図５を参照すると、本明細書で述べた説明を実施するためのシステム例は、プロセッサ２１、システムメモリ２２、およびシステムバス２３を含む従来のパーソナルコンピュータ２０の形の、汎用コンピューティングシステムを含む。システムバス２３は、システムメモリ２２およびプロセッサ２１を含む各種のシステムコンポーネントを共にリンクする。システムバス２３は、各種のバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、複数の種類のバス構造のいずれかである。システムメモリ２２は、リードオンリーメモリ（ＲＯＭ）２４およびランダムアクセスメモリ（ＲＡＭ）２５を含む。起動中などの、パーソナルコンピュータ２０内の要素間で情報の転送を補助する基本ルーチンを含有する基本入力／出力システム２６（ＢＩＯＳ）は、ＲＯＭ２４に格納される。
【００５５】
図示したように、この例において、パーソナルコンピュータ２０は、ハードディスクにデータを読み書きするためのハードディスクドライブ２７（図示せず）、リムーバブル磁気ディスク２９に読み書きするための磁気ディスクドライブ２８、およびリムーバブル光ディスク３１、たとえばＣＤ（compact disc）  ＲＯＭ、ＤＶＤまたは他の同様の光媒体に読み書きするための光ディスクドライブ３０をさらに含む。ハードディスクドライブ２７、磁気ディスクドライブ２８、および光ディスクドライブ３０は、ハードディスクドライブインタフェース３２、磁気ディスクドライブインタフェース３３、および光ドライブインタフェース３４それぞれによって、システムバス２３に接続される。これらのドライブ例およびその関連するコンピュータ読取り可能媒体は、コンピュータ読取り可能命令、データ構造、コンピュータプログラムおよびパーソナルコンピュータ２０用の他のデータの不揮発性ストレージを提供する。
【００５６】
本明細書で述べる環境の例はハードディスク、リムーバブル磁気ディスク２９およびリムーバブル光ディスク３１を採用している、この分野の当業者はコンピュータによってアクセスできるデータを格納できる他の種類のコンピュータ読取り可能媒体、たとえば磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）などもオペレーティング環境例で使用できることを認識すべきである。
【００５７】
多数のコンピュータプログラムはオペレーティングシステム３５、１つ以上のアプリケーションプログラム３６、他のプログラム３７、およびプログラムデータ３８を含めて、ハードディスク、磁気ディスク２９、光ディスク３１、ＲＯＭ２４またはＲＡＭ２５に格納できる。ユーザーは、命令および情報を入力装置、たとえばキーボード４０およびポインティングデバイス４２（たとえばマウス）によって、パーソナルコンピュータ２０に入力できる。
【００５８】
画像データを取込み可能なカメラ５５（たとえばデジタル／電子スチルまたはビデオカメラ、またはフィルム／写真スキャナ）も、パーソナルコンピュータ２０への入力装置として含むことができる。画像データは、適当なカメラインタフェース５７を介してコンピュータ２０に入力される。この例では、インタフェース５７はシステムバス２３に接続され、それにより画像は、ＲＡＭ２５またはコンピュータ２０に接続された他のデータストレージデバイスの１つに送付および格納できる。しかしながら画像データは、カメラ５５を使用せずに、上述のコンピュータ読取り可能媒体のいずれからもコンピュータ２０に入力できることに注目する。
【００５９】
他の入力装置（図示せず）はマイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含む。これらおよび他の入力装置は、システムバスに連結されるシリアルポートインタフェース４６を介してプロセッサ２１に接続されることが多いが、他のインタフェース、たとえばパラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）などによっても接続できる。
【００６０】
モニタ４７または他の種類のディスプレイ装置もインタフェース、たとえばビデオアダプタ４５を介してシステムバス２３に接続される。モニタに加えて、パーソナルコンピュータは通例、他の周辺出力装置（図示せず）、たとえばスピーカーおよびプリンタを含む。
【００６１】
パーソナルコンピュータ２０は、１つ以上のリモートコンピュータ、たとえばリモートコンピュータ４９への論理接続を使用するネットワーク環境で動作する。リモートコンピュータ４９は、別のパーソナルコンピュータ、サーバー、ルーター、ネットワークＰＣ（personal computer）、ピアデバイスまたは他の共通ネットワークノードでもよく、通例、パーソナルコンピュータ２０に関して上述した要素の多くまたはすべてを含む。
【００６２】
図５に示した論理接続は、ローカルエリアネットワーク（ＬＡＮ）５１およびワイドエリアネットワーク（ＷＡＮ）５２を含む。そのようなネットワーク環境は、オフィス、企業規模コンピュータネットワーク、イントラネットおよびインターネットにおいて一般的である。
【００６３】
ＬＡＮネットワーク環境で使用される場合、パーソナルコンピュータ２０は、ネットワークインタフェースまたはアダプタ５３を介してローカルネットワーク５１に接続される。ＷＡＮネットワーク環境で使用される場合、パーソナルコンピュータ２０は通例、モデム５４またはワイドエリアネットワーク５２、たとえばインターネットを介した通信を確立するための他の手段を含む。モデム５４は内蔵でも外付けでもよく、シリアルポートインタフェース４６を介してシステムバス２３に接続される。
【００６４】
ネットワーク環境において、パーソナルコンピュータ２０に関して示されたコンピュータプログラム、またはその一部は、リモートメモリストレージデバイスに格納できる。示したネットワーク接続は例であり、コンピュータ間に通信リンクを確立する他の手段も使用できることが認識されるであろう。
【００６５】
各種のモジュールおよび技法は、１つ以上のコンピュータまたは他の装置によって実行されるコンピュータで実行可能な命令、たとえばプログラムモジュールの一般的な状況において、本明細書で述べられる。一般にプログラムモジュールは、特定のタスクを実行するか、特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。通例、プログラムモジュールの機能は、各種の実施形態で所望されるように統合または分散させることができる。
【００６６】
これらのモジュールおよび技法のインプリメンテーションは、コンピュータ読取り可能媒体の一部の形式に格納されるか、または相互に送信することができる。コンピュータ読取り可能媒体は、コンピュータによってアクセスできる入手可能などの媒体でもよい。一例として、コンピュータ読取り可能媒体は「コンピュータストレージ媒体」および「通信媒体」を含み、これに制限されない。
【００６７】
「コンピュータストレージ媒体」は情報、たとえばコンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータを格納するためにいずれかの方法または技術で実施される揮発性および不揮発性、リムーバブルおよびノンリムーバブル媒体を含む。コンピュータストレージ媒体は、これに限定されるわけではないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージ装置、あるいは所望の情報を格納するのに使用可能であり、コンピュータがアクセスできる他のいずれかの媒体を含む。
【００６８】
「通信媒体」は通例、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータを変調データ信号、たとえば搬送波または他のトランスポート機構として具現する。通信媒体は、情報送達媒体も含む。「変調データ信号」という用語は、その特性セットの１つ以上を有する、または信号内で情報をコード化するような方法で変更される信号を意味する。一例として、通信媒体は有線媒体、たとえば有線ネットワークまたは直接配線接続、および無線媒体、たとえば音響、ＲＦ（radio frequency）、赤外および他の無線媒体を含み、これに制限されない。上のいずれの組合せも、コンピュータ読取り可能媒体の範囲に含まれる。
【００６９】
有効な実施形態の例を従来のコンピュータのオペレーショナルフローによって説明したが、この分野の当業者は、本発明がおよび／またはビデオ信号を処理および／または伝達するどのプラットホームまたは環境でも具現できることを認識するであろう。例は、プログラマブルおよび非プログラマブル装置の両方、たとえば専用目的のあるハードウェア、たとえばビデオ会議、ファームウェア、半導体デバイス、携帯型コンピュータ、パームサイズコンピュータ、携帯電話などを含む。
【００７０】
一部の方法およびシステムの例を添付図面で例示し、上述の詳細な説明で述べたが、図示および説明した方法およびシステムが本明細書で述べた特定のインプリメンテーションに限定されず、本明細書で述べた主旨と範囲から逸脱せずに、むしろ多数の再配置、改良および置換が可能であることを理解すべきである。
【図面の簡単な説明】
【００７１】
【図１】共通チャーティングコンポーネントを使用する形状ベースチャーティングを採用したチャーティングシステムの例の図である。
【図２】チャートオブジェクトに由来する形状を使用したチャートの表示を示す、フローチャートである。
【図３】チャートオブジェクトの形状ベースのチャート定義への翻訳を示したフローチャートである。
【図４】形状に翻訳できる、および／または翻訳エンジンによってグループ化できるデータ、ラベル、シリーズおよび他のチャート要素を有するチャートである。
【図５】本明細書で述べる共通チャーティングシステムを実現するために使用できる汎用コンピュータおよび方法の図である。
【符号の説明】
【００７２】
１００  チャーティングシステム
１０２  アプリケーションプログラム
１０４  文書
１０６  共通グラフィックスモジュール
１０８  コンピュータモニタ画面
１１０  チャート
１１２  チャートオブジェクト
１１４  他の文書データ
１１６  共通グラフィックスインタフェース
１１８  共通チャーティングモジュール
１２０  変換エンジン
１２２  形状ベースチャート定義
１２４  共通グラフィックスサービス
１２６  他のサービス
１２８  共通チャーティングコンポーネント
【図１】
2006085674.tif 000011
【図２】
2006085674.tif 000012
【図３】
2006085674.tif 000013
【図４】
2006085674.tif 000014
【図５】
2006085674.tif 000015
【外国語明細書】
2006085674000001.pdf