JP2006114013A - チャート上の自動ラベル配置のためのシステムおよび方法 - Google Patents

チャート上の自動ラベル配置のためのシステムおよび方法 Download PDF

Info

Publication number
JP2006114013A
JP2006114013A JP2005183579A JP2005183579A JP2006114013A JP 2006114013 A JP2006114013 A JP 2006114013A JP 2005183579 A JP2005183579 A JP 2005183579A JP 2005183579 A JP2005183579 A JP 2005183579A JP 2006114013 A JP2006114013 A JP 2006114013A
Authority
JP
Japan
Prior art keywords
layout
score
chart
computer
label
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2005183579A
Other languages
English (en)
Inventor
Miltiadis Vafiadis
バフィアディス ミルティアディス
Maneesh Agrawala
アグラワラ マニーシュ
Adam Clyde Eversole
クライド エバーソウル アダム
Daniel Philip Cory
フィリップ コリー ダニエル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 filed Critical Microsoft Corp
Publication of JP2006114013A publication Critical patent/JP2006114013A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Processing Or Creating Images (AREA)
  • Document Processing Apparatus (AREA)
  • Preparing Plates And Mask In Photomechanical Process (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】 チャートなどの視覚データオブジェクトに関連するラベルレイアウトを最適化するためのアルゴリズムを提供する。
【解決手段】 ラベルはまず、ラベルを形状として定義するチャート定義ファイル内に置かれる。ラベルの初期レイアウトが作成され、採点される。次いで、形状は、最適なスコアに最も近いスコアを有するレイアウトに対応するラベルの最適レイアウトが取得されるまで、繰返し操作される。次いで、最適レイアウトは、画面上に視覚データオブジェクトをレンダリングする際に使用される。
【選択図】 図2

Description

本発明は、チャート上の自動ラベル配置のためのシステムおよび方法に関する。
チャートは、数値データのグラフィカル表現である。チャートは、複雑なデータを簡潔な容易に理解できる形で提示するのに特に有用である。今日のデスクトップ出版環境では、ユーザは、チャートを用いて印象的なプレゼンテーションを作成することができる。チャートは、ワシントン州、レッドモンドのMICROSOFT CORPORATION社からの「EXCEL」(登録商標)などのアプリケーションプログラム内に入力される、基礎となるデータに基づく。次いで、その基礎となるデータを使用して、円グラフ、棒グラフ、ヒストグラム、線グラフなど、複数の異なるフォーマットでデータのチャートを作成することができる。さらに、チャートの各部分は、情報を伝えるのに非常に重要であるチャートの外観を向上させるための関連する色、テクスチャ、および他の効果を有し得る。
チャート内に含まれるラベルは、チャートの視覚機能および表示に寄与する。ユーザが自動データラベル機能をアクティブ化する場合、数個より多いデータ点を含むチャートは、読むのが難しくなり得る。一般に、以前に提供された自動チャートラベル付けアルゴリズムは、チャート領域を使用するように最適化されていない重なり合うテキストおよびラベルの位置決めをもたらす。したがって、代替の方法が求められている。
本発明の実施形態は、チャートおよびグラフ上のラベル配置を最適化することによって上述の制限を解決するシステムおよび方法に関する。
ラベルの最適化は、1組の制約に基づいて、ラベルの指定された位置決めを採点するアルゴリズムに従って提供される。ラベルの現在の位置決めが一定の制約によりよく適合するほど、チャートのスコアはよくなる。このアルゴリズムは、複数回、関数を呼び出すことによってスコアをできるだけ小さくしようと試み、呼び出される度に該関数が単一のラベルを再配置する。本発明の一実装では、手作業で配置されたラベルは、最適化プロセス時の考慮対象から除外される。
本発明のある態様では、最適化プロセスの関数は、チャートまたはグラフのラベルおよびアンカーに作用する目標関数すなわちスコア関数、および摂動関数に従って定義される。アンカーは、円グラフの特定のスライス、バブルチャートのバブル、または使用されるチャートに応じた他の要素など、関連するラベルを含むチャートの表示要素を指す。目標関数は、それによってチャートが採点され得る最適化の目標を定義する関数を指す。たとえば、目標関数は、ラベル重なりの最小化、アンカーのエッジからの距離の最小化、ラベル配置の最適化のための他の目標、およびその目標の可能な組合せに対応し得る。摂動関数は、チャート上のラベルの調整についての制限を定義する関数を指す。たとえば、摂動関数は、ラベルの再配置についての範囲制限、ラベルに関して行われ得る変更のタイプの制限されたサブセット、および他の制限を定義し得る。
次に本発明について、その一部を形成しており、また図示することによって本発明を実施するための特定の例示的な実施形態を示す添付の図面を参照して、本明細書中で以下により完全に説明する。しかし、本発明は、多くの異なる形で実施されることができ、本明細書で述べる諸実施形態に限定されるものと解釈すべきでなく、こうした実施形態は、本開示が徹底的で完全なものとなり、また当業者に本発明の範囲を完全に伝えるものとなるように提供されている。本発明は、他にもあるが特に、方法または装置として実施され得る。したがって、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、あるいはソフトウェアとハードウェアの側面を組み合わせた実施形態の形を取り得る。したがって、以下の詳細な説明は、限定的な意味で取るべきでない。
(例示的なオペレーティング環境)
図1を参照すると、本発明を実施するための例示的なシステムが、コンピューティングデバイス100などのコンピューティングデバイスを含んでいる。コンピューティングデバイス100は、クライアント、サーバ、モバイル装置、または他の任意のコンピューティングデバイスとして構成され得る。非常に基本的な構成では、コンピューティングデバイス100は一般に、少なくとも1つの処理ユニット102およびシステムメモリ104を含む。厳密な構成、およびコンピューティングデバイスのタイプに応じて、システムメモリ104は、揮発性(RAMなど)、不揮発性(ROM、フラッシュメモリなど)あるいはその2つの何らかの組合せであり得る。システムメモリ104は一般に、オペレーティングシステム105、1つまたは複数のアプリケーション106を含み、またプログラムデータ107を含み得る。ある実施形態では、アプリケーション106は、本発明の機能を実施するためのチャートラベル最適化アプリケーション120を含む。図1で、この基本的な構成は、破線108内のこうした構成要素によって示されている。
コンピューティングデバイス100は、追加の特徴または機能を有し得る。たとえば、コンピューティングデバイス100は、たとえば磁気ディスク、光ディスクまたはテープなど、追加のデータストレージ(取り外し式および/または固定式)をも含み得る。図1で、こうした追加のストレージは、取り外し式ストレージ109および固定式ストレージ110によって示されている。コンピュータ記憶媒体は、コンピュータ読出し可能命令、データ構造体、プログラムモジュール、または他のデータなどの情報を格納するための任意の方法または技術で実装された揮発性と不揮発性、取り外し式と固定式の媒体を含み得る。システムメモリ104、取り外し式ストレージ109および固定式ストレージ110はすべて、コンピュータ記憶媒体の例である。コンピュータ記憶媒体には、それだけに限らないが、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD:digital versatile disk)または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージ、あるいは所望の情報を格納するために使用することができ、またはコンピューティングデバイス100からアクセスすることができる他の任意の媒体が含まれる。こうした任意のコンピュータ記憶媒体は、装置100の一部であり得る。コンピューティングデバイス100は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイスなどの入力デバイス112をも含み得る。表示装置、スピーカ、プリンタなどの出力デバイス114もまた含まれ得る。
コンピューティングデバイス100は、装置がたとえばネットワークを介して他のコンピューティングデバイス118と通信することを可能にする通信接続116をも含む。通信接続116は、通信媒体の一例である。通信媒体は一般に、コンピュータ読取り可能命令、データ構造体、プログラムモジュール、または搬送波や他のトランスポート機構などの変調されたデータ信号内の他のデータによって実装されることができ、また任意の情報送達媒体を含む。用語「変調されたデータ信号」は、信号の情報を復号するなどのやり方でその特性の1つまたは複数が設定されまたは変更された信号を意味する。限定のためではなく、例を挙げると、通信媒体には、有線ネットワークや直接有線接続などの有線媒体、ならびに音響などの無線媒体、RF、赤外線、および他の無線媒体が含まれる。本明細書では、用語コンピュータ読取り可能媒体は、記憶媒体と通信媒体の両方を含む。
(自動ラベル配置を最適化するための例示的な実施形態)
本明細書では、用語「チャート」および「視覚データオブジェクト」は、円グラフ、バブルチャート、線グラフ、時系列図、折線グラフ、棒グラフ、写真、デジタル画像、および関連ラベルを含み得る他のオブジェクトなどの様々な視覚オブジェクトを表すために同義に用いられている。
本発明の実施形態は、チャート上のラベル位置を最適化するためのアルゴリズムの使用に関する。本発明は、1組の可能なレイアウトからラベルの最適なレイアウトを探索するための関数を使用する。レイアウト問題を探索として組み立てるために、本発明は、初期レイアウト、および2つの関数、すなわち評価基準に基づいてレイアウトの品質を査定する目標関数、および探索空間内に新しいレイアウトをもたらすように所与のレイアウトを操作する摂動関数を定義する。スコア関数と摂動関数の両方が、レイアウトに関する1組の制約によって定義される。こうした2つの関数が与えられると、最適なレイアウトを判断するために、探索が実施され得る。ある実施形態では、シミュレートされたアニーリング方法が、最適レイアウトを判断するためのランダム探索アルゴリズムとして使用される。
制約は、2つの組、すなわちハード制約およびソフト制約に分けられ得る。ハード制約は、任意の許容可能なレイアウトについて必要とされる特性からなり、したがって、ハード制約は、可能なレイアウトの空間を制限する。それとは異なり、ソフト制約は、必須ではないが、最終的なレイアウトに望まれる特性からなる。ハード制約は一般に、ハード制約を満たすレイアウトだけを生成するように設計された摂動関数を介して課される。スコア関数は、所与のレイアウトがソフト制約をどれほどよく達成しているかをチェックする。
アルゴリズムを用いて、1組のデータが、チャート領域内のラベル位置を最適化しながらチャートにラベルを自動的に投入するために使用され得る。
図2に、本発明によるラベル位置最適化が行われる前および後の、自動ラベル付けされた円グラフの例示的なビューを示す。
ビュー210は、円グラフ内に含まれるデータ点の数のせいで、円グラフ上のラベルが重なり合っていることを示している。重なり合うテキストによって、すべてのラベル、および円グラフの諸要素とのその関連付けを視覚的に見分けることが難しくなる。
ビュー220は、本発明の最適化アルゴリズムを実行することによってラベル付けが改善された円グラフをもたらしている。円グラフの読みやすさは、チャート空間内のラベルの位置を最適化することによって大幅に改善されている。このアルゴリズムによって、一部のラベルは、それが関連するアンカー(スライス)から離され、他のラベルは、より近くに移動され、あるいはさらにそのアンカーの中央に置かれ、またはある程度その中央に置かれている。他のラベルは、ラベルをその関連アンカーに視覚的にリンクするために引出し線が追加されている。ビュー220は、このアルゴリズムが、チャートのラベルの最適レイアウトを提供するための様々な方法を使用することを示している。
図3に、本発明によるラベル位置最適化が行われる前および後の、自動ラベル付けされたバブルチャートの例示的なビューを示す。
ビュー310は、バブルチャート上のラベルが、その関連アンカーの判断が不可能であり得るように配置され得ることを示している。さらに、ラベルのテキストは、バブルのエッジに重なり合うテキストを含み、チャート内のバブルの表示を最適化するように配置されないことがある。
ビュー320は、本発明の最適化アルゴリズムを実行するとによってラベル付けが改善されたバブルチャートである。バブルチャートの読みやすさは、チャート空間内のラベル位置を最適化することによって大幅に改善されている。このアルゴリズムによって、一部のラベルはそれが関連するアンカー(バブル)から離され、他のラベルは、より近くに移動され、あるいはさらにそのアンカーの中央に置かれ、またはある程度その中央に置かれている。他のラベルは、関連するアンカーからある距離だけそれを移動するが、ラベルをその関連アンカーに視覚的にリンクするために引出し線が追加されている。ビュー320は、このアルゴリズムが、円グラフについて使用される様々な方法に類似した、バブルチャートのラベルの最適レイアウトを提供するための様々な方法を使用することを示している。
図4に、本発明によるラベル位置最適化が行われる前および後の、自動ラベル付けされた時系列チャートの例示的なビューを示す。
ビュー410は、提供された空間内に含まれるデータ点の数のせいで、時系列チャート上のラベルが重なり合っていることを示している。さらに、本発明の恩恵を得ない自動ラベル付けアルゴリズムは、時系列上のデータ点からのテキストのスペーシングを変更できるほど知的ではない。
ビュー420は、本発明の最適化アルゴリズムを実行することによってラベル付けが改善された時系列チャートである。時系列チャートの読みやすさは、チャート空間内のラベル位置を最適化することによって大幅に改善されている。このアルゴリズムは、チャート空間の使用を最適化するために、チャート空間全体を通してテキストフォーマットを変更し、ラベルを移動している。ビュー420は、このアルゴリズムが、上記で示した円グラフおよびバブルチャートの例について使用される様々な方法に類似した、時系列チャートのラベルの最適レイアウトを提供するための様々な方法を使用することを示している。
図2〜4に示す実施形態以外の実施形態が、本発明に従って提供され得る。たとえば、本発明は、折線グラフ上、写真内、または他の視覚データオブジェクトと併せたラベルの位置を最適化するために使用され得る。
図5に、本発明による、チャート生成およびラベル位置最適化を実施するための例示的なチャート作成システム500を示す。システム500内には、ドキュメント504へのアクセスを提供するアプリケーションプログラム502、コンピュータモニタ画面508上にドキュメント504をレンダリングするためのグラフィックモジュール506が含まれる。
本明細書では、ドキュメント504は、テキストおよびグラフィックなどのユーザ読取り可能情報を含むコンピュータ読取り可能ファイルである。ドキュメント504は、アプリケーションプログラム502のユーザインターフェースを介してユーザによって表示され、編集され得る。ドキュメントの例示的なタイプには、それだけに限らないが、スプレッドシート、プレゼンテーション、または従来のテキストドキュメントが含まれる。したがって、ドキュメントのタイプに応じて、アプリケーションプログラム502は、それだけに限らないが、たとえば、MICROSOFT「WORD」(登録商標)、「POWERPOINT」(登録商標)、「EXCEL」(登録商標)または他のアプリケーションプログラムであり得る。たとえば、画面508上に示すように、ドキュメント504は、常にではないがしばしば「POWERPOINT」(登録商標)に関連する「プレゼンテーション」であり得る。
本説明に特に関係があるのは、プレゼンテーション内のチャート510である。図1の特定の実装内で示されるチャート510は、カラムチャートである。他の実装によれば、チャート510は、カラムチャートに限らず、他の任意のタイプのチャート、たとえば、それだけに限らないが、円グラフ、線グラフ、分布図、写真、または他の視覚データオブジェクトなどであり得る。チャート510内の様々なデータは元来、ドキュメント504によって指定されている。ドキュメント504は、チャートオブジェクト512と呼ばれるチャート定義でチャート510を指定する。
チャートオブジェクト512は、チャート要素に関して、チャート510を定義する。一般にチャート要素は、チャートの側面を表すデータ単位である。一般にチャート要素は、チャートが伝える情報、またはチャートのタイプに関するチャートの側面を表す。例示的なチャート要素には、(たとえばバーチャートの)バー、チャート軸、チャートの凡例、チャートタイトル、チャートラベル、要素カラー、テキストフォント、要素位置、データソースなどが含まれる。チャート要素は、ラベルに関するアンカーと称され得る。チャートオブジェクト512のある実装は、1組の拡張可能マークアップ言語(XML:extensible markup language)である。例示するため、チャートオブジェクト512からの例示的なXMLを以下に示す。
Figure 2006114013
Figure 2006114013
Figure 2006114013
Figure 2006114013
ドキュメント504は一般に、それだけに限らないが、テキスト、およびフォーマット設定情報を含む他のドキュメントデータ514をも含む。ある実装によれば、アプリケーションプログラム502が起動され、ドキュメント504が開かれると、チャートオブジェクト512は、レンダリングのために、グラフィクモジュール506のグラフィックインターフェース516に渡される。
グラフィックインターフェース516は、どのタイプのグラフィックがチャートオブジェクト512によって表現されているか判断する。グラフィックインターフェース516によって取り扱われるグラフィックのタイプには、それだけに限らないが、ダイアグラム、チャートまたは任意の形状が含まれる。チャートオブジェクト512は、それがチャートを定義することを示す識別子を含む。チャート識別子に基づいて、グラフィックインターフェース516は、チャートオブジェクト512がチャートを定義すると判断し、それをチャート作成モジュール518に送信する。
チャート作成モジュール118は、グラフィックモジュール506が画面508にチャート510をレンダリングするために使用する形にチャートオブジェクト512を変換する変換エンジン520を含む。具体的には、変換エンジン520は、チャートオブジェクト512を形状ベースのチャート定義522に変換する。その名前が示唆するように、形状ベースチャート定義522は、チャート要素ではなく、形状に関してチャートを定義する。形状を使用すると、グラフィックと対話するための機構を可能にすることによって、チャートレンダリングプロセス、チャートの外観、およびチャート操作が向上し得る。
変換プロセスでは、変換エンジン520は、複数の操作を実施する。たとえば、変換エンジン520は、チャートオブジェクト512内で参照されるデータソースからチャート510を構成するデータ(数値データなど)を取り出す。データソースは、ドキュメント504自体、またはそれだけに限らないが、別のドキュメント、データベース、ファイル、インターネット、キューなどの何らかの他のソースであり得る。変換エンジン520は、データに加えて、データがどのようにフォーマットされるかを表す数値フォーマット設定情報を取り出し得る。数値フォーマット設定情報は、それだけに限らないが、通貨記号、小数点の数、パーセンテージまたは分数フォーマット、あるいは日付および時間フォーマットが含まれる。
変換エンジン520は、チャート要素を、線、長方形、円、三角形などの形状に変換する。形状は、チャート要素の視覚的外観を単純に表現するデータ単位であり、基礎となる数値チャートデータに結び付いておらず、またはそれに依存しない。したがって、たとえば、チャートオブジェクト512内のバーは形状ベースチャート定義522内の四角形に変換され、チャート軸は線に変換されるなどである。
さらに、変換エンジン520は、ユーザによる関連形状の操作を容易にするために、選択された関連形状をグループ化する。グラフィックインターフェース516は、ユーザが関連形状のグループと対話できるようにする関数を提供する。変換エンジン520は、それだけに限らないが、関連データラベルおよび関連データシリーズなどの関連チャート要素をグループ化することによってこうした関数を利用する。データを取り出し、チャート要素を形状に変換し、また関連形状をグループ化した後に、変換エンジン520は、形状ベースチャート定義522を生成する。
形状ベースチャート定義522の一実装は、XMLコードで構成される。説明するために、例示的な形状ベースチャート定義522からのXMLコードを以下に示す。
Figure 2006114013
Figure 2006114013
Figure 2006114013
Figure 2006114013
Figure 2006114013
Figure 2006114013
Figure 2006114013
Figure 2006114013
グラフィックインターフェース516は、形状ベースチャート定義522を受信し、形状ベースチャート定義によって指定された1組の形状として、チャート510を画面508上にレンダリングする。グラフィックインターフェース516は一般に、オペレーティングシステムまたは表示コントローラ関数への呼出しを行うことによってレンダリングを実施する。たとえば、WINDOWS(登録商標)オペレーティングシステム内で、グラフィックインターフェース516は、グラフィック表示インターフェース(GDI+)への呼出しを行い得る。
図示するように、グラフィックモジュール506は、1組のグラフィックサービス524を含む。グラフィックサービス524は、チャート510を操作するためにアプリケーションプログラムによってアクセス可能なサービスを含む。グラフィックサービス524は、サービスにアクセスするための1つまたは複数のアプリケーションプログラミングインターフェース(API:application programming interface)を提供する。
グラフィックモジュール506が形状をレンダリングするので、グラフィックサービス524は、チャート510を操作するための高いレベルの関数を提供することができる。グラフィックサービス524は、たとえば、チャート内の形状に対してベクトルグラフィック機能を実施する。例示すると、四角形は、それを新しい位置で再描画するために複数の低レベル関数を呼び出すのではなく、形状を移動するグラフィックサービス524の単一の関数を呼び出すことによって容易に移動され得る。さらに、グラフィックモジュール506は、形状の操作/編集、および外観がアプリケーションプログラム間で一貫性があるように、複数のアプリケーションプログラムに共通している。したがって、グラフィックモジュール506は、アプリケーションプログラム502のタイプに関係なく、チャート510内の形状を編集するためのグラフィックユーザインターフェースを提示し得る。
ラベル最適化526は、システム500内の本発明を対象とするコードである。ラベル最適化526は、形状ベースチャート定義522を受信し、最適化アルゴリズムに従ってラベル位置を最適化する。上述したように、形状ベースチャート定義522によって、ラベルを、ラベルの再描画を必要とする他の低レベル関数によってではなく、その形状によってそれが定義されているので、容易に移動することができる。ラベル最適化526は、ラベルの位置決めを最適化するために、チャート510が画面508上にレンダリングされる前または後に使用され得る。たとえば、最適化アルゴリズムによるラベルの位置決めは、レンダリングされるあらゆるチャートについて自動的に行われ得る。それとは異なり、ラベルの最適化は、ユーザ選択に従って提供されることができ、ラベルが最適化されることをユーザが肯定的に選択する。ある実施形態では、ユーザによって手作業で配置されるラベルは、最適化プロセス時に無視される。
用語モジュールは、1つまたは複数の指定された機能を実施するように動作可能であるコンポーネントを表すために一般的な意味で使用される。モジュールは、様々なやり方および形で実装され得る。たとえば、モジュールは、速度、コスト、サイズなどの要因に応じて、ハードウェア、ソフトウェア、ファームウェア、あるいはハードウェア、ソフトウェアおよび/またはファームウェアの様々な組合せで、またはそれとして実装され得る。限定ではなく、たとえば、ある実装では、システム100内の各モジュールは、コンピュータ読取り可能媒体内に格納されており、また図1に関して上述したコンピューティングシステムなどのコンピューティングシステム上で実行されるダイナミックリンクライブラリ(DLL:dynamic link library)などのソフトウェアを含む。
図6に、本発明のよる、ラベルの最適なレイアウトに対応する視覚データオブジェクトのレイアウトを判断するための例示的な疑似コードを示す。
例示的なアルゴリズム600の実装は、複数の異なる関数の仕様を必要とする。InitializeLayout()関数は、それぞれの視覚要素について初期配置を定義し、それによって、探索のための開始点を提供する。PerturbLayout()関数は、上述した摂動関数に対応し、所与のレイアウトを新しいレイアウトに変更するための方法を提供する。RevertLayout()関数は、PerturbLayout()関数の動作を、新しいレイアウトから前のレイアウトに戻るように反転させる。Random()関数は、0.0と1.0の間の数を返す。最後に、上述した目標関数に対応するScoreLayout()関数は、現レイアウトが最適なものにどれほど近似しているかを計算する。ある実施形態では、終了条件は、使用可能なレイアウト、最適レイアウトにレイアウトが近似すること、および他の要因を実現するための時間制限に従って変化し得る。別の実施形態では、スコアは、正のものと定義され、スコアが下がるほど、レイアウトはよくなる。したがって、目標は、使用される制約に従ってスコアを最小化することである。使用されるレイアウトにとって許容できるスコアは、アルゴリズムの終了条件に依存する。
疑似コード内に示すように、アルゴリズムは、探索空間内のすべての良い動きを受け付け、また温度Tの指数関数である確率で、悪い動きをも同様に受け付ける。アルゴリズムが進行するにつれて、Tは、強固になり(annealed)(または減少され)、悪い動きを受け付ける確率の減少がもたらされる。このようにして悪い動きを受け付けることによって、アルゴリズムは、スコア関数におけるローカル最小値(minima)から脱出することができる。
ラベルの最適レイアウトをもたらすために定義される制約には、アンカーからの距離の最小化、ラベルの重なりの最小化、要素との重なりの最小化、フォント制約、方位の制約、およびラベルがどのように操作され得るかに影響を及ぼす他の制限が含まれ得る。任意の数の制約が、表示可能な空間でその位置を最適化するようにラベルを操作するためのアルゴリズムに与えられ得る。
上記の明細、例およびデータは、本発明の構成の製造および使用についての完全な説明を提供している。本発明の精神および範囲から逸脱せずに、本発明の多くの実施形態が作られ得るので、本発明は、添付の特許請求の範囲にある。
本発明の例示的な一実施形態で使用され得る例示的なコンピューティングデバイスを示す図である。 本発明によるラベル位置最適化が行われる前および後の、自動ラベル付けされた円グラフの例示的なビューを示す図である。 本発明によるラベル位置最適化が行われる前および後の、自動ラベル付けされたバブルチャートの例示的なビューを示す図である。 本発明によるラベル位置最適化が行われる前および後の、自動ラベル付けされた時系列チャートの例示的なビューを示す図である。 本発明による、チャート生成およびラベル位置最適化を実施するための例示的なチャート作成システム500を示す図である。 本発明による、ラベルの最適なレイアウトに対応する視覚データオブジェクトのレイアウトを判断するため例示的な疑似コードを示す図である。
符号の説明
100 コンピューティングデバイス
102 処理ユニット
104 システムメモリ
105 オペレーティングシステム
106 アプリケーション
107 プログラムデータ
109 取り外し式ストレージ
110 固定式ストレージ
112 入力デバイス
114 出力デバイス
116 通信接続
118 他のコンピューティングデバイス
120 チャートラベル最適化
502 アプリケーションプログラム
504 ドキュメント
506 グラフィックモジュール
512 チャートオブジェクト
514 他のドキュメントデータ
516 グラフィックインターフェース
518 チャート作成モジュール
520 変換エンジン
522 形状ベースチャート定義
524 グラフィックサービス
526 ラベル最適化

Claims (21)

  1. 視覚データオブジェクトに関連するラベルを自動的に配置するためのコンピュータ実施方法であって、
    前記ラベルの第1のレイアウトを判断することと、
    前記第1レイアウトを採点して、第1のスコアを判断することと、
    前記ラベルの第2のレイアウトを判断することと、
    前記第2レイアウトを採点して、第2のスコアを判断することと、
    前記第1スコアを前記第2スコアと比較することと、
    前記第1スコアの前記第2スコアとの前記比較に応じて、前記視覚データオブジェクトをレンダリングするために選択されたレイアウトとして、前記第1レイアウトおよび前記第2レイアウトのうちの1つを続行することとを含むことを特徴とするコンピュータ実施方法。
  2. 前記第1レイアウトを採点して、前記第1のスコアを判断することは、目標関数を実行することをさらに含み、前記目標関数は、前記第1レイアウトが採点される目標を提供することを特徴とする請求項1に記載のコンピュータ実施方法。
  3. 前記目標は、前記ラベルの重なりを最小化することに対応することを特徴とする請求項2に記載のコンピュータ実施方法。
  4. 前記目標は、前記ラベルから前記チャート内のその関連アンカーへの距離を最小化することに対応することを特徴とする請求項2に記載のコンピュータ実施方法。
  5. 前記第1レイアウトを採点して、前記第1のスコアを判断することは、前記第1レイアウトに関連するスコアを最適レイアウトに関連する別のスコアと比較することをさらに含むことを特徴とする請求項1に記載のコンピュータ実施方法。
  6. 前記第1レイアウトおよび前記第2レイアウトのうちの1つを続行することは、最適レイアウトに最も密接に対応するレイアウトを続行することをさらに含むことを特徴とする請求項5に記載のコンピュータ実施方法。
  7. 前記ラベルの第2のレイアウトを判断することは、摂動関数を実行することをさらに含み、前記摂動関数は、1組の制約に従って前記第1レイアウトを変更することを特徴とする請求項1に記載のコンピュータ実施方法。
  8. 前記摂動関数は、前記チャート内に含まれる単一のラベルの側面を調整することに対応することを特徴とする請求項7に記載のコンピュータ実施方法。
  9. 最適レイアウトに近似するレイアウトが達成されるまで、前記ラベルの追加のレイアウトを判断し、前記追加レイアウトを採点する複数の反復を繰り返すことをさらに含むことを特徴とする請求項1に記載のコンピュータ実施方法。
  10. チャートをレンダリングするためのシステムであって、
    チャート要素で前記チャートを定義するように構成されたチャートオブジェクトと、
    形状をレンダリングするように動作可能なグラフィックモジュールと、
    前記チャートオブジェクトに基づいて形状ベースチャート定義を生成するように動作可能なチャート作成モジュールであって、前記形状ベースチャート定義は、前記グラフィックモジュールによってレンダリングされ得る形状で前記チャートを定義するチャート作成モジュールと、
    最適レイアウトに従って、前記チャート内に前記チャートに関連するラベルを自動的に配置するラベル最適化と
    を含むことを特徴とするシステム。
  11. 前記ラベル最適化アプリケーションは、
    前記ラベルの第1のレイアウトを判断し、
    前記第1レイアウトを採点して、第1のスコアを判断し、
    前記ラベルの第2のレイアウトを判断し、
    前記第2レイアウトを採点して、第2のスコアを判断し、
    前記第1スコアを前記第2スコアと比較し、
    前記第1スコアの前記第2スコアとの前記比較に応じて、前記視覚データオブジェクトをレンダリングするために選択されたレイアウトとして、前記第1レイアウトおよび前記第2レイアウトのうちの1つを続行するためのコンピュータ実行可能命令を含むことを特徴とする請求項10に記載のシステム。
  12. 前記第1レイアウトを採点して、前記第1のスコアを判断することは、目標関数を実行することをさらに含み、前記目標関数は、前記第1レイアウトが採点される目標を提供することを特徴とする請求項11に記載のシステム。
  13. 前記第1レイアウトを採点して、前記第1のスコアを判断することは、前記第1レイアウトに関連するスコアを最適レイアウトに関連する別のスコアと比較することをさらに含むことを特徴とする請求項11に記載のシステム。
  14. 前記ラベルの第2のレイアウトを判断することは、摂動関数を実行することをさらに含み、前記摂動関数は、1組の制約に従って前記第1レイアウトを変更することを特徴とする請求項11に記載のシステム。
  15. 最適レイアウトに近似するレイアウトが達成されるまで、前記ラベルの追加のレイアウトを判断し、前記追加レイアウトを採点する複数の反復を繰り返すことをさらに含むことを特徴とする請求項11に記載のシステム。
  16. 視覚データオブジェクトに関連するラベルを自動的に配置するコンピュータ実行可能命令を含むコンピュータ読取り可能媒体であって、前記命令は、
    前記ラベルの第1のレイアウトを判断することと、
    前記第1レイアウトを採点して、第1のスコアを判断することと、
    前記ラベルの第2のレイアウトを判断することと、
    前記第2レイアウトを採点して、第2のスコアを判断することと、
    前記第1スコアを前記第2スコアと比較することと、
    前記第1スコアの前記第2スコアとの前記比較に応じて、前記視覚データオブジェクトをレンダリングするために選択されたレイアウトとして、前記第1レイアウトおよび前記第2レイアウトのうちの1つを続行することとを含むことを特徴とするコンピュータ読取り可能媒体。
  17. 前記第1レイアウトを採点して、前記第1のスコアを判断することは、目標関数を実行することをさらに含み、前記目標関数は、前記第1レイアウトが採点される目標を提供することを特徴とする請求項16に記載のコンピュータ読取り可能媒体。
  18. 前記第1レイアウトを採点して、前記第1のスコアを判断することは、前記第1レイアウトに関連するスコアを最適レイアウトに関連する別のスコアと比較することをさらに含むことを特徴とする請求項16に記載のコンピュータ読取り可能媒体。
  19. 前記第1レイアウトおよび前記第2レイアウトのうちの1つを続行することは、最適レイアウトに最も密接に対応するレイアウトを続行することをさらに含むことを特徴とする請求項18に記載のコンピュータ読取り可能媒体。
  20. 前記ラベルの第2のレイアウトを判断することは、摂動関数を実行することをさらに含み、前記摂動関数は、1組の制約に従って前記第1レイアウトを変更することを特徴とする請求項16に記載のコンピュータ読取り可能媒体。
  21. 最適レイアウトに近似するレイアウトが達成されるまで、前記ラベルの追加のレイアウトを判断し、前記追加レイアウトを採点する複数の反復を繰り返すことをさらに含むことを特徴とする請求項16に記載のコンピュータ読取り可能媒体。
JP2005183579A 2004-10-18 2005-06-23 チャート上の自動ラベル配置のためのシステムおよび方法 Pending JP2006114013A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/968,619 US7292244B2 (en) 2004-10-18 2004-10-18 System and method for automatic label placement on charts

Publications (1)

Publication Number Publication Date
JP2006114013A true JP2006114013A (ja) 2006-04-27

Family

ID=35788724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005183579A Pending JP2006114013A (ja) 2004-10-18 2005-06-23 チャート上の自動ラベル配置のためのシステムおよび方法

Country Status (5)

Country Link
US (1) US7292244B2 (ja)
EP (1) EP1647896A3 (ja)
JP (1) JP2006114013A (ja)
KR (1) KR101159325B1 (ja)
CN (1) CN1763743B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011524035A (ja) * 2008-05-06 2011-08-25 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. メディアオブジェクトの時空間レイアウト
JP2014157569A (ja) * 2013-02-18 2014-08-28 Ohbayashi Corp 情報描画装置、情報描画方法およびプログラム
JP7494579B2 (ja) 2019-06-27 2024-06-04 富士フイルムビジネスイノベーション株式会社 推奨チャートを生成するグラフィカルユーザインターフェースを提供する方法、プログラム、及び装置

Families Citing this family (41)

* 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
JP2007208529A (ja) * 2006-01-31 2007-08-16 Canon Inc 表示制御装置、表示制御方法および制御プログラム
JP2007205804A (ja) * 2006-01-31 2007-08-16 Canon Inc 表示装置、表示方法および制御プログラム
US20070268311A1 (en) * 2006-05-22 2007-11-22 Smith Stephen M Overlapping mekko charts
US8484554B2 (en) * 2006-08-31 2013-07-09 Sap Ag Producing a chart
US7975234B2 (en) * 2006-10-11 2011-07-05 Microsoft Corporation Graphical acquisition of an objective function
US20090118998A1 (en) * 2007-11-07 2009-05-07 Flightview Inc. Flight Tracking Display Systems and Methods
US20100031152A1 (en) * 2008-07-31 2010-02-04 Microsoft Corporation Creation and Navigation of Infinite Canvas Presentation
US8108777B2 (en) 2008-08-11 2012-01-31 Microsoft Corporation Sections of a presentation having user-definable properties
US10127524B2 (en) 2009-05-26 2018-11-13 Microsoft Technology Licensing, Llc Shared collaboration canvas
US20100306018A1 (en) * 2009-05-27 2010-12-02 Microsoft Corporation Meeting State Recall
US8515957B2 (en) 2009-07-28 2013-08-20 Fti Consulting, Inc. System and method for displaying relationships between electronically stored information to provide classification suggestions via injection
EP2471009A1 (en) 2009-08-24 2012-07-04 FTI Technology LLC Generating a reference set for use during document review
US8473842B2 (en) 2010-05-12 2013-06-25 Microsoft Corporation Contour based flow layout
US9118612B2 (en) 2010-12-15 2015-08-25 Microsoft Technology Licensing, Llc Meeting-specific state indicators
US9383888B2 (en) 2010-12-15 2016-07-05 Microsoft Technology Licensing, Llc Optimized joint document review
US9864612B2 (en) 2010-12-23 2018-01-09 Microsoft Technology Licensing, Llc Techniques to customize a user interface for different displays
US9544158B2 (en) 2011-10-05 2017-01-10 Microsoft Technology Licensing, Llc Workspace collaboration via a wall-type computing device
US8682973B2 (en) 2011-10-05 2014-03-25 Microsoft Corporation Multi-user and multi-device collaboration
US9996241B2 (en) 2011-10-11 2018-06-12 Microsoft Technology Licensing, Llc Interactive visualization of multiple software functionality content items
US9135233B2 (en) 2011-10-13 2015-09-15 Microsoft Technology Licensing, Llc Suggesting alternate data mappings for charts
US10198485B2 (en) 2011-10-13 2019-02-05 Microsoft Technology Licensing, Llc Authoring of data visualizations and maps
US10061473B2 (en) 2011-11-10 2018-08-28 Microsoft Technology Licensing, Llc Providing contextual on-object control launchers and controls
US9633110B2 (en) 2011-11-15 2017-04-25 Microsoft Technology Licensing, Llc Enrichment of data using a semantic auto-discovery of reference and visual data
US8793567B2 (en) 2011-11-16 2014-07-29 Microsoft Corporation Automated suggested summarizations of data
US9772682B1 (en) 2012-11-21 2017-09-26 Open Text Corporation Method and system for dynamic selection of application dialog layout design
US9142046B2 (en) 2013-06-06 2015-09-22 International Business Machines Corporation Effective arrangement of data elements
US9213474B2 (en) * 2013-06-21 2015-12-15 Baker Hughes Incorporated System and method for displaying well data
CN105426368B (zh) * 2014-09-03 2020-07-07 腾讯科技(北京)有限公司 信息显示方法、装置及电子设备
US10482635B2 (en) * 2014-09-29 2019-11-19 Adp, Llc Chart labeling system
KR20170140808A (ko) * 2015-03-10 2017-12-21 에이심메트리카 랩스 인코퍼레이티드 단어 사이의 불확실성에 따른 단어 공백의 비대칭 포맷팅을 위한 시스템 및 방법
US10198412B2 (en) * 2016-03-09 2019-02-05 Autodesk, Inc. Simulated annealing to place annotations in a drawing
WO2017210618A1 (en) 2016-06-02 2017-12-07 Fti Consulting, Inc. Analyzing clusters of coded documents
CN106372230A (zh) * 2016-09-09 2017-02-01 天津海量信息技术股份有限公司 一种图表标签统计方法及装置
US11074726B2 (en) * 2017-03-09 2021-07-27 Apple Inc. Techniques for automatically mitigating overlapping labels associated with pie charts
CN107544950A (zh) * 2017-07-26 2018-01-05 阿里巴巴集团控股有限公司 添加标签的方法及装置
US10825214B2 (en) * 2017-10-30 2020-11-03 Microsoft Technology Licensing, Llc Priority based automatic placement of labels on charts
WO2021084667A1 (ja) * 2019-10-30 2021-05-06 日本電信電話株式会社 可視化データへの付箋の付与及び復元
US11295075B2 (en) * 2019-12-31 2022-04-05 Microsoft Technology Licensing, Llc Automatic generation of alternative content layouts
KR102299879B1 (ko) * 2020-12-31 2021-09-09 렉스소프트 주식회사 도식에서의 그래프의 자동 배치 및 맞춤을 위한 방법 및 컴퓨터 판독가능매체

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108834A (ja) * 1991-10-15 1993-04-30 Nec Corp グラフの文字列・引出し線作図方式
JPH0991446A (ja) * 1995-09-27 1997-04-04 Kobe Nippon Denki Software Kk グラフ生成装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684940A (en) * 1995-03-13 1997-11-04 Rutgers, The States University Of New Jersey Computer-implemented method and apparatus for automatically labeling area regions of maps using two-step label placing procedure and for curved labeling of point features
US6154219A (en) * 1997-12-01 2000-11-28 Microsoft Corporation System and method for optimally placing labels on a map
WO2001061448A1 (en) * 2000-02-18 2001-08-23 The University Of Maryland Methods for the electronic annotation, retrieval, and use of electronic images
US7131060B1 (en) * 2000-09-29 2006-10-31 Raytheon Company System and method for automatic placement of labels for interactive graphics applications
US7425968B2 (en) * 2003-06-16 2008-09-16 Gelber Theodore J System and method for labeling maps
US7599790B2 (en) * 2004-03-23 2009-10-06 Google Inc. Generating and serving tiles in a digital mapping system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108834A (ja) * 1991-10-15 1993-04-30 Nec Corp グラフの文字列・引出し線作図方式
JPH0991446A (ja) * 1995-09-27 1997-04-04 Kobe Nippon Denki Software Kk グラフ生成装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6011001921, S.Edmondson et al, A General Cartographic Labeling Algorithm, 19961231 *
JPN6011001922, P. Asman, Creating SVG Pie Charts through XSLT via a Web Service, 20040301 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011524035A (ja) * 2008-05-06 2011-08-25 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. メディアオブジェクトの時空間レイアウト
US8683326B2 (en) 2008-05-06 2014-03-25 Hewlett-Packard Development Company, L.P. Spatiotemporal media object layouts
JP2014157569A (ja) * 2013-02-18 2014-08-28 Ohbayashi Corp 情報描画装置、情報描画方法およびプログラム
JP7494579B2 (ja) 2019-06-27 2024-06-04 富士フイルムビジネスイノベーション株式会社 推奨チャートを生成するグラフィカルユーザインターフェースを提供する方法、プログラム、及び装置

Also Published As

Publication number Publication date
CN1763743A (zh) 2006-04-26
CN1763743B (zh) 2010-05-12
EP1647896A3 (en) 2008-08-06
US7292244B2 (en) 2007-11-06
KR20060049709A (ko) 2006-05-19
EP1647896A2 (en) 2006-04-19
US20060082594A1 (en) 2006-04-20
KR101159325B1 (ko) 2012-06-22

Similar Documents

Publication Publication Date Title
JP2006114013A (ja) チャート上の自動ラベル配置のためのシステムおよび方法
JP6293142B2 (ja) データを消費型コンテンツに変換するときにバリエーションを生じさせること
US7707498B2 (en) Specific type content manager in an electronic document
US8605090B2 (en) Modifying and formatting a chart using pictorially provided chart elements
US10417316B2 (en) Emphasizing a portion of the visible content elements of a markup language document
US10839139B2 (en) Glyph aware snapping
US8966361B2 (en) Providing summary view of documents
US20170139890A1 (en) Smart card presentation of tabular data from collaboration database
GB2554126A (en) Font replacement based on visual similarity
US8381101B2 (en) Supporting platform-independent typesetting for documents
US20120004898A1 (en) Contextual Input Method
US8914740B1 (en) Aligning segments of bar graphs for comparative analysis
US10210142B1 (en) Inserting linked text fragments in a document
US8584012B1 (en) Methods and systems for displaying text on a path
US11501477B2 (en) Customizing font bounding boxes for variable fonts
US11556219B2 (en) Interactive display of data distributions
US20080211777A1 (en) Stroke number input
US20180033180A1 (en) Transitioning between visual representations
US20190130615A1 (en) Priority based automatic placement of labels on charts
US11030388B2 (en) Live text glyph modifications
US20210224946A1 (en) Glyph Transformations as Editable Text
US10990256B2 (en) Modifying default display configurations for objects in a user interface
US11631206B2 (en) Glyph selection tool for digital text content
US20140040859A1 (en) Generating and Presenting Property Editors
US20190333258A1 (en) Design element association and modification

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110408

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110929

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20110930

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110930

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111021

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20111111