(57)【要約】【課題】データ集合をグラフで表示したチャートを視覚的わかりやすく効率的に作成する。【解決手段】第１のデータ集合を第１のグラフとして表示し（Ｓ１０５）、表示された第１のグラフに対するユーザの所定の操作に従って、第１のデータ集合に対する計算方法を指定し（Ｓ１０６〜Ｓ１０８）、第１のデータ集合に対して指定された計算方法により計算を行って第２のデータ集合を生成し、第２のデータ集合を第２のグラフとして表示する（Ｓ１０９）。【選択図】　　図２
2004062421.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのデータ集合に対応するグラフを表示して該グラフを含むチャートを作成するチャート作成方法において、
第１のデータ集合に基づいて第１のグラフを表示する第１の表示ステップと、表示された前記第１のグラフに対するユーザの所定の操作に従って、前記第１のデータ集合に対する計算方法を指定する計算方法指定ステップと、
前記第１のデータ集合に対して、前記計算方法指定ステップにより指定された計算方法により計算を行って、第２のデータ集合を生成する計算ステップと、
前記計算ステップにより生成された前記第２のデータ集合に基づいて第２のグラフを表示する第２の表示ステップとを具備するチャート作成方法。
【請求項２】
前記所定の操作は、前記表示された前記第１のグラフに対するドラッグ・アンド・ドロップ操作及びダイアログ操作の少なくとも一方を含む請求項１記載のチャート作成方法。
【請求項３】
前記計算方法指定ステップにより指定された前記計算方法を記憶する計算方法記憶ステップと、
前記第１のデータ集合に変化が生じた場合に、前記計算方法記憶ステップにより記憶された前記計算方法により再計算を行って前記第２のデータ集合を生成する再計算ステップとをさらに具備する請求項１記載のチャート作成方法。
【請求項４】
前記第１及び第２の表示ステップにより表示された前記第１及び第２のグラフに対するユーザの選択操作に従って、前記計算ステップが前記計算方法記憶ステップにより記憶された計算方法に従って順次複数回の計算を行って前記第２のデータ集合を生成するまでの手順を特定するステップをさらに具備する請求項３に記載のチャート作成方法。
【請求項５】
少なくとも一つのデータ集合に対応するグラフを表示して該グラフを含むチャートを作成するチャート作成装置において、
データ集合に基づいてグラフを表示する表示手段と、
前記表示手段で表示された第１のデータ集合に基づく第１のグラフに対してなされた所定の操作に従って、前記第１のデータ集合に対する計算方法を指定する計算方法指定手段と、
前記第１のデータ集合に対して前記計算方法により計算を行って、前記第１のグラフとは異なる第２のグラフを表示するための第２のデータ集合を生成する計算手段とを具備するチャート作成装置。
【請求項６】
前記計算指定手段により指定された前記計算方法を記憶する計算方法記憶手段をさらに具備し、前記計算手段は、前記第１のデータ集合に変化が生じた場合に、前記計算方法記憶手段により記憶された前記計算方法により再計算を行って前記第２のデータ集合を生成する請求項５記載のチャート作成装置。
【請求項７】
少なくとも一つのデータ集合に対応するグラフを表示して該グラフを含むチャートを作成するチャート作成処理をコンピュータに行わせるためのプログラムにおいて、
第１のデータ集合に基づいて第１のグラフを表示させる処理と、
表示された前記第１のグラフに対するユーザの所定の操作に従って、前記第１のデータ集合に対する計算方法を指定する処理と、
前記第１のデータ集合に対して前記計算方法により計算を行って、第２のデータ集合を生成する処理と、
生成された前記第２のデータ集合に基づいて第２のグラフを表示させる処理とを含むチャート作成処理を前記コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ集合をグラフとして表示することにより該グラフを含むチャートを作成するチャート作成方法と装置及びプログラムに関する。
【０００２】
【従来の技術】
実験や統計で観測された連続する数値データなどのデータ集合の変動傾向や法則性を導く指標もしくは統計量を計算する、またはそれを計算するための新たな計算式を開発することは、データ集合の要因分析、法則の理論化及び予測精度の向上を達成する上できわめて重要かつ有益である。指標や統計量を折れ線や棒といった形状でグラフ化し、チャートとして表示することは、データに裏付けられた特性や現象を視覚的に理解するために非常に有効である。以下、本明細書ではデータ集合である数値データの数値を表現する折れ線や棒等の図形をグラフと呼び、１つ以上のグラフを目盛りや軸線とともに表示している図表全体をチャートと呼ぶ。
【０００３】
近年では、コンピュータの処理能力向上と、数値処理言語環境の普及により指標や統計量をコンピュータに自動的に計算させたり、観測データと計算結果の数値を棒グラフや折れ線グラフの形でグラフ化して重ね合わせたチャートを作成することが容易になってきている。数値処理言語を用いると、所定の文法を用いて計算式の定義、あるいは命令文をユーザが記述することによって、計算方法とチャート作成方法をコンピュータに伝え、コンピュータにチャート作成を行わせることができる。しかし、このようなチャート作成処理は、計算機言語の記述技能を有するユーザにしか行うことができない。
【０００４】
一般ユーザでも比較的容易にチャート作成処理を行うことができるソフトウェアとして、表計算ソフトウェア（以下、単に表計算ソフトという）が知られている。表計算ソフトによると、表に配列された格子上にデータもしくは計算式を入力させるユーザ・インタフェースを用いて計算方法の定義を容易にすることができる。格子状に配列することで計算結果が整理され、編集と閲覧が容易となる。表中の行及び列を一つのデータ集合として登録を行うと、複数のデータ集合をグラフ表示させたチャートを作成する機能を備えている表計算ソフトも開発されている。表計算ソフトは、このように種々の利点を有する反面、以下のような改善されるべき問題点を有している。
【０００５】
第一に、表計算ソフトでは表上で計算方法の定義作業とチャート化の定義作業が分離されており、ユーザがそれぞれの作業を個別に行う必要があるため、その作業が繁雑である。特に表上でデータ集合を定義するには、データを一つ一つ入力するか、もしくは数式をデータ量の分だけコピーしなければならない。多くの表計算ソフトでは、数式のコピー作業は少ない作業量で行うことができるように工夫されてはいるが、データの種類が増加するにつれて作業は煩雑となる。一方で、チャート作成時にはグラフ化する領域の定義を行う必要があるなど、ユーザの作業量は多い。
【０００６】
数式コピーや領域指定の作業が増えるのは、表上の格子一つ一つを独立した要素としてデータや計算式の定義を行い、一つの行もしくは列に記録されたデータを必ずしもひとまとまりのデータ集合とみなさない表計算ソフトの性質による。従って、従来の表計算ソフトはデータ集合を大量に扱うチャート作成には必ずしも向いていない。
【０００７】
このように表計算ソフトにおいて、計算方法の定義作業とチャート化の定義作業が分離されていることは、計算方法の定義作業中に計算結果を視覚的に閲覧できないことをも意味する。通常、新たにチャートを作成する場合、表上でグラフ表示させたいデータ集合及びその計算方法を一通り定義してから、グラフ化の設定を行う。このため、少なくとも最初の表上のデータ集合及び計算方法の定義作業については、視覚的に確認しながら行うことはできない。従って不適当な計算方法の定義作業を行っていても気づきにくく、定義作業を試行錯誤で進めることも難しい。データの視覚化こそチャート作成の主目的であり、チャート作成作業を視覚的に確認しながら行うことができないということは、作業の非効率化を招くといえる。
【０００８】
第二に、表計算ソフトでは作成した表で定義された計算手順の再利用を行いにくいという問題がある。複雑な計算式を記録した表は、いわば一つの統計処理モジュールであり、これをうまく再利用することは作業量の削減につながる。しかしながら、例えばある表で統計データが記録されている格子群に、数値そのものの代わりに何らかの計算結果を用いる形で表を再利用しようとすると、格子群の数値を何らかの計算式に置き換える必要がある。これは表を変更するということであり、その表を本来の目的で使うことはできなくなってしまう。表をコピーした新しい表を変更すれば、元の表を温存することはできるが、そうすると元の表に変更を加える必要が生じた場合、コピーした数だけ変更作業を行わなければならなくなり、管理が困難となる。
【０００９】
さらに、表の格子をそれぞれ独立した要素として扱う表計算ソフトの性質も、再利用を困難なものにしている。一つのデータ集合全体をまとめて扱いたい場合にも、表計算ソフトでは個々のデータを個別に計算しているため、表をコピーして流用した場合、コピー元の表とコピー先の新たな表がそれぞれ扱うデータ量の違いによって、同様の数式がコピーされている格子の数を変更するための格子のコピーもしくは削減が必要となる。この作業は、扱うデータの種類が多いほど煩雑になる。この問題を解決するには、データ集合を一つの要素とみなす枠組が必要となる。
【００１０】
【発明が解決しようとする課題】
上述したように、複数のデータ集合をグラフ表示したチャートを作成する機能を備えた従来の表計算ソフトでは、計算方法の定義作業とチャート化の定義作業をユーザが個別に行う必要があるため作業が繁雑であり、またチャート上に表現された計算手順の再利用が難しいという問題点があった。
【００１１】
本発明は、チャート作成の作業負担を軽減するとともに作業そのものを視覚的に理解しやくすることを目的とする。
【００１２】
さらに、本発明は作成したチャート上に表現された計算方法の再利用を容易にして作業効率の向上をはかることを目的とする。
【００１３】
【課題を解決するための手段】
上記の課題を解決するため、本発明は少なくとも一つのデータ集合に対応するグラフを表示して該グラフを含むチャートを作成する際に、第１のデータ集合に基づいて第１のグラフを表示し、表示された第１のグラフに対するユーザの所定の操作に従って、第１のデータ集合に対する計算方法を指定し、第１のデータ集合に対して指定された計算方法により計算を行って、第２のデータ集合を生成し、生成された第２のデータ集合に基づいて第２のグラフを表示する。
【００１４】
ここで、指定された計算方法を記憶しておき、第１のデータ集合に変化が生じた場合に、記憶された計算方法により再計算を行って第２のデータ集合を生成するようにしてもよい。
また、表示された第１及び第２のグラフに対するユーザの選択操作に従って、記憶された計算方法に従って順次複数回の計算を行って第２のデータ集合を生成するまでの手順を特定することも可能である。
【００１５】
本発明においては、上述したチャート作成処理をコンピュータに行わせることも可能である。すなわち、本発明によると少なくとも一つのデータ集合に対応するグラフを表示して該グラフを含むチャートを作成するチャート作成処理をコンピュータに行わせるためのプログラムであって、第１のデータ集合に基づいて第１のグラフを表示させる処理と、表示された第１のグラフに対するユーザの所定の操作に従って、第１のデータ集合に対する計算方法を指定する処理と、第１のデータ集合に対して指定された計算方法により計算を行って、第２のデータ集合を生成する処理と、生成された第２のデータ集合に基づいて第２のグラフを表示させる処理とを含むチャート作成処理をコンピュータに実行させるためのプログラムを提供することができる。
【００１６】
【発明の実施の形態】
図１に、本発明の一実施形態に係るチャート作成装置のシステム構成の一例を示す。このチャート作成装置はハードウェアとして実現することもできるし、コンピュータを用いてソフトウェアにより実行することもできる。
【００１７】
本実施形態のチャート作成装置には、まず、入力装置として位置指定部１１と文字入力部１２が備えられ、これらは制御部１３に接続される。位置指定部１１は、例えばマウスのようなポインティングデバイスである。文字入力部１２は、典型的にはキーボードである。
ユーザは、位置指定部１１を用いて後述するチャート表示部の画面上に表示されている矢印を画面の任意の位置に移動させたり、その状態で位置指定部１１の所定のボタンをクリックすることで画面上の特定の位置を指示したり、さらにボタンを押したまま位置指定部１１の移動操作を行うことで指示した位置をドラッグさせたりすることができる。ユーザは、さらに文字入力部１２を用いて後述するダイアログボックス内に文字情報を適宜入力することができる。
【００１８】
データ集合記憶部１４には、外部から与えられるデータ集合が記憶される。データ集合記憶部１４に記憶されたデータ集合は、チャートを構成するグラフを作成するための元データであり、制御部１３からの制御の下で計算部１５に読み込まれる。
【００１９】
計算部１５は、データ集合記憶部１４から取り出されたデータ集合（入力データ集合）に対して、計算方法記憶部１６から取り出された計算方法に従って計算を行うことにより、出力データ集合を生成する。
【００２０】
計算方法記憶部１６には、計算部１５が実行できる複数の計算方法が記憶されている。計算方法記憶部１６に記憶された複数の計算方法は、制御部１３からの制御の下で計算部１５に読み込まれる。
【００２１】
グラフ情報記憶部１７には、複数のグラフ情報が記憶されている。グラフ情報は、各グラフが参照している他のグラフを示すグラフの参照情報と、参照しているグラフの計算方法及びグラフの表示方法を含む。「グラフの計算方法」は、計算方法記憶部１６に記憶された計算方法のいずれかを指示する情報である。「グラフの表示方法」は、グラフの形状や色の情報のほか、表示／非表示の区別を示す情報を含む。
【００２２】
チャート表示部１８では、グラフ情報記憶部１７に記憶された複数のグラフ情報に含まれる「グラフの表示方法」のうちの表示／非表示の区別によって表示が指定されているグラフの各々について、データ集合記憶部１４から計算部１５を経て入力されるデータ集合、あるいは計算部１５で生成された出力データ集合を「グラフの表示方法」のうちのグラフの形状や色の情報に従って画面上にチャートとして表示する。
【００２３】
チャート表示部１８により表示されるチャート上で、グラフは必ず何らかの数値データのデータ集合を表現する形で表される。言い換えれば、データ集合が存在しなければグラフを表示できない。そのようなデータ集合を獲得していない状態でチャート作成作業を行わなければならない場合のために、データ集合記憶部１４には適度にばらつきを持った例示用のデータ集合をいくつか用意しておき、特定の例示用データ集合を参照して暫定的にグラフを表示しておくようにしてもよい。
【００２４】
制御部１３は、位置指定部１１及び文字入力部１２からの入力に応じて、チャート表示部１８の画面上の矢印の移動、画面上のオブジェクトの選択とその変更、文字の表示・変更・削除をチャート表示部１５に指示し、適切な表示を行わせる。また、制御部１３は位置指定部１１及び文字入力部１２からの入力に応じて、計算部１５に対して再計算を指示したり、グラフ情報記憶部１７に対してグラフ情報の追加・変更・削除を指示する。
【００２５】
計算部１５についてさらに具体的に説明する。計算部１５は、まずグラフ情報記憶部１７に記憶された複数のグラフ情報に含まれる「グラフの表示方法」によって表示が指定されている各々のグラフについて、グラフ情報記憶部１７に記憶された複数のグラフ情報に含まれる「グラフの参照情報」を調べる。「グラフの参照情報」から、データ集合記憶部１４に記憶されているデータ集合が参照されている場合、計算部１５はそのデータ集合をデータ集合記憶部１４から取り出し、チャート表示部１８に渡す。
【００２６】
「グラフの参照情報」から、他のグラフが参照されている場合、計算部１５は参照されているグラフに対応するデータ集合を調べ、そのデータ集合に対してグラフ情報に含まれる「グラフの計算方法」に従って計算を行うことにより出力データ集合を生成し、チャート表示部１８に渡す。このとき、参照されているグラフの参照情報がデータ集合記憶部１４に記憶されているデータ集合を参照している場合は、データ集合記憶部１４からそのデータ集合を取り出す。また他のグラフが参照されているときは、再帰的に参照されているグラフのデータ集合を調べる手順を繰り返す。
【００２７】
次に、図２（ａ）（ｂ）のフローチャートを参照して本実施形態におけるチャート作成手順の基本的な流れについて説明する。
データ集合記憶部１４には、外部から与えられた複数のデータ集合が予め記憶されているとする。また、チャート表示部１８の画面（以下、チャート作成画面という）には、例えば図３に示すような複数のグラフを含むチャートが表示されているとする。
【００２８】
まず、図２（ａ）を用いてチャート上に新たなグラフを追加する手順について述べる。
ユーザは、位置指定部１１を用いてチャート作成画面上の所定のボタンを押すか、または画面上のメニューを選択することによって、チャート上に新たなグラフを追加する旨の指示を行う（ステップＳ１０１）。このグラフ追加指示に基づいて、制御部１３による制御の下で、データ集合記憶部１４に記憶されているデータ集合の一覧と、グラフ表示情報を設定するためのダイアログボックスがチャート表示部１８で表示される（ステップＳ１０２）。
【００２９】
次に、ユーザは位置指定部１１を用いて、チャート作成画面上に表示されているデータ集合の一覧から新たなグラフとして表示させたいデータ集合を選択し、さらにグラフ表示方法設定ダイアログボックスの操作を行うことよって、制御部１３に対し新たなグラフの追加の設定を行う（ステップＳ１０３）。この設定内容は制御部１３からグラフ情報記憶部１７に送られ、新たなグラフのグラフ情報（グラフの参照情報、計算方法及び表示方法）が記憶される（ステップＳ１０４）。チャート表示部１８は、このグラフ情報に基づいて図４のように追加されたグラフ、この例では、折れ線グラフ２０１をチャート作成画面のチャート表示領域に表示する（ステップＳ１０５）。
【００３０】
次に、図２（ｂ）を用いて、チャート作成画面上に表示されたグラフを参照して新たなグラフを定義する手順について述べる。ここでは、図２（ａ）の手順で追加されたグラフ２０１を参照して新たなグラフを定義する例について説明するが、参照するグラフは他のグラフであってもよい。
ユーザは、チャート作成画面上に図４のようにグラフ２０１が表示された状態で、位置指定部１１を用いてチャート作成画面上のボタンまたはメニューを操作することによって、チャート作成画面の画面モードをグラフの編集作業を行うための編集モードに移行させる（ステップＳ１０６）。ユーザは、この編集モードで描画ソフトと同様の操作を行うことによって、新たなグラフを定義することができる。
【００３１】
一例として、図４のグラフ２０１を水平方向に平行移動させた新たなグラフを作成する手順について説明する。ユーザは、メニューまたはダイアログボックスを呼び出し、ステップＳ１０６において編集モードをさらに平行移動を行うサブモードへ移行させる。その状態でユーザが位置指定部１１を用いてグラフ２０１をドラッグすると（ステップＳ１０７）、図５のようにドラッグさせた位置に従って平行移動の距離が変化する新たなグラフ２０２がチャート作成画面上に出現する。ドラッグされたグラフは、記号２０３，２０４で示されるように矢印の操作により移動する。ドラッグの途中、ドラッグさせている距離を表す数値をチャート作成画面に表示させることもできる。ユーザが適切な位置でドラッグを解除（ドロップ）すると、ドラッグされていたグラフがチャート作成画面上に固定され、新たなグラフ２０２の定義が完了する。
【００３２】
ここで、図５に示した新たなグラフ２０２の定義を図１のチャート作成装置での具体的な処理で説明する。ステップＳ１０７においてユーザが位置指定部１１を用いてグラフ２０１をドラッグすると、グラフ２０１をドラッグした距離だけ平行移動させるための計算方法が指定される（ステップＳ１０８）。すなわち、制御部１３による制御の下でグラフ２０１をドラッグした距離だけ平行移動させるための計算方法が計算方法記憶部１６から取り出され、計算部１５に与えられる。計算部１５では、データ集合記憶部１４からのグラフ２０１の元となる入力データ集合に対して、計算方法記憶部１６から取り出された計算方法に従って計算が行われ、グラフ２０２に対応する出力データ集合が生成される（ステップＳ１０８）。この出力データ集合に基づいて、チャート表示部１８によりチャート作成画面上に新たなグラフ２０２が表示される（ステップＳ１０９）。
【００３３】
上述の手順によって新たなグラフ２０２の定義が終了すると、ドラッグされた元のグラフ２０１を示す「参照情報」、元のグラフ２０１をドラッグした距離だけ平行移動させるための「計算方法」、及び元のグラフ２０１と同一の「表示方法」を含むグラフ情報がグラフ情報記憶部１７に新たに記憶される（ステップＳ１１０）。
【００３４】
ここで、上記のようにしてグラフ情報記憶部１７に記憶されたグラフ情報に含まれる参照情報及び計算方法に変更が加えられていない状態で、例えば元のグラフ２０１が参照しているデータ集合が変化したり、元のグラフ２０１が他のグラフの計算結果に依存して決まるグラフに変更された場合を考える。このような場合、元のグラフ２０１が参照しているデータ集合の変化や、元のグラフ２０１の変化に応じて、新たに定義されるグラフは元のグラフ２０１が参照するデータ集合を平行移動させたグラフへと変化する。ユーザは、上記のようにして定義されたグラフを、常に元のグラフに対して平行移動を行ったグラフとして利用することができる。
【００３５】
ドラッグ・アンド・ドロップ操作によって行うグラフ定義には、上述の平行移動の他に拡大・縮小、反転等を指定することができる。例えば、編集モード設定後のサブモードとして垂直方向の拡大・縮小を選んだ場合、元のグラフ２０１はドラッグによって図６のような挙動をする。グラフの平行移動や拡大・縮小は、ドラッグに代わってチャート作成画面上の矢印ボタンを出現させてそれを位置指定部１１でクリックしたり、文字入力部１２の矢印キー（カーソルキー）を操作することで行うこともできる。このようにグラフを変化させる際、グラフの表示はそれぞれの形状に従って適切なアニメーションが行われる。グラフが折れ線でなく棒グラフで、垂直方向の拡大・縮小の操作が行われたときは、指定されたグラフの全ての棒が位置指定部１１や文字入力部１２の操作によって伸縮する。これらの操作の際、グラフがチャートに入りきらなくなった場合や、縮尺が適切でない場合、ユーザの操作によって目盛りの幅や位置を変更することもできる。
【００３６】
一方、ステップＳ１０７でドラッグ・アンド・ドロップによらない操作、例えばダイアログ操作を行うことによって、グラフ定義を行うこともできる。ユーザは、計算対象になるグラフを指定すると同時に、グラフを変化させる関数をメニューまたはダイアログボックス中のリストから選択、あるいは所定のテキストボックス内に文字入力部１２を用いて関数名を入力することで計算方法を指定することによって、図７（ａ）のように新たなグラフが定義できる。図７（ａ）において、グラフ２０５は横軸の各点において元のグラフ２０１の左側２６個の点で値が最大のものを示す折れ線グラフ、グラフ２０６は横軸の各点において元のグラフ２０１の左側２６個の点で値が最小のものを示す折れ線グラフである。
【００３７】
図７（ｂ）に示すように、グラフ２０５の追加作業はダイアログ操作、すなわちチャート作成画面に表示されるダイアログボックス３の操作によって行うことができる。ダイアログボックス３内の第１のテキストボックス３１には関数名、例えば最大値を計算結果とする関数の関数名“ＭＡＸ”が位置指定部１１によってリストから示されるか、文字入力部１２からの入力によって指定される。第２のテキストボックス３２には、位置指定部１１により矢印ボタンをクリックすることによる数値の上下、文字入力部１２による数値の入力、もしくは文字入力部１２の矢印キーの上下によって、パラメータが指定される。関数“ＭＡＸ”の場合、このパラメータは最大値を求める値の領域の広さを示す。第３のテキストボックス３３には、チャート作成画面上で関数によって参照されるデータ集合として選択されている元のグラフを指し示す名前（この例では、グラフ２０１）が表示され、チャート作成画面上で他のグラフがクリックで選択されることにより変化する。チャート作成画面上では、選択されたグラフは太線や色の変化等による強調表示が行われ、それが選択されていることを示す。
【００３８】
図７（ｂ）に示したようなダイアログボックス３での指定を行うと、新たなグラフとして図７（ａ）中に示したグラフ２０５が確定するため、実際の計算方法が未確定な状態でグラフ表示させることができる。ユーザは、この状態で対話処理によってグラフ２０５の定義を変化させることができる。例えば、図７（ｂ）のダイアログボックス３内でユーザが位置指定部１１や文字入力部１２を用いてパラメータの数値を増減させると、計算結果が少しずつ変化することによって、計算部１１は再計算を素早く行い、グラフ２０５の表示を新たなパラメータに従った形状に変更する。一方、この状態でグラフのクリックやキーによる選択されたグラフの切替やリストからの選択等を用いて、関数によって参照されるグラフ２０１を変更することによっても、再計算によるグラフ２０５の再表示を行うことができる。ダイアログボックス３での設定は、ＯＫボタン３８によって完了し、キャンセルボタン３９によって取り消される。
【００３９】
このような機能により、ユーザは新たに表示させるグラフのパラメータ調整が必要な場合や、どのデータを参照したグラフを表示すべきかを模索しなければならない場合に、ダイアログボックス３での入力を変化させながら再計算によってグラフの形状を変化させ、それを観察することで、視覚的に最も妥当と思われるグラフのパラメータと参照されるグラフを対話的に決定することができる。
【００４０】
ダイアログボックス上で指定すべきパラメータとグラフの数は、グラフを変化させる関数によって異なる。図８（ａ）（ｂ）は、関数として２本のグラフの中間値を求める“ＭＩＤ”を指定した場合の新たに定義されるグラフとダイアログボックス３での入力の様子を示す。ここで参照されるグラフは、グラフ２０５とグラフ２０６である。このように複数のグラフを選択して新たなグラフを定義する場合、グラフ２０５と対応するテキストボックス３３の組、グラフ２０６と対応するテキストボックス３４の組とを互いに異なる色で描画する等することによって、参照されるグラフ同士を区別することが望ましい。このような対話処理による関数名の変更は、パラメータ数と参照するグラフの数が共に等しい関数への変更にのみ適用される。ダイアログボックス３での設定は、ＯＫボタン３８によって完了し、キャンセルボタン３９によって取り消される。
【００４１】
図５及び図６の説明では、元のグラフ２０１に対するドラッグ・アンドドロップ操作によって平行移動や拡大・縮小を行って新たなグラフを定義したが、平行移動や拡大・縮小・反転による新たなグラフの定義についても、図７及び図８と同様にダイアログ操作により行うことができる。また、上述したようなグラフの新規作成の場合だけでなく、既存のグラフの定義を変更する場合にも、ダイアログボックスにグラフの定義情報を表示させ、ダイアログボックス上で変更の入力操作を行う方法を用いることができる。
【００４２】
以上のようにして新たなグラフの追加作業を繰り返すことにより、例えば図９のような多数のグラフからなるチャートを作成することができる。本実施形態によるチャート作成装置を用いると、従来の表計算ソフトを用いるよりもはるかに簡易に、このような複雑なチャートの作成を可能にする。図９に示すチャートは一目均衡表と呼ばれ、将来の株価や先物商品の価格を予測するのに用いられる。この一目均衡表は、［表１］のように定義された折れ線グラフ群と帯グラフによって示される。帯グラフは、２つのデータ集合の組によって表される。
【００４３】
【表１】
2004062421.tif 000003
【００４４】
ここで、価格以外のデータを表すグラフは、他の参照するグラフと計算方法を決定することで定義するが、一般に複雑な計算方法によって求められる指標をダイアログで示すような一つの関数によって表現することはできない。そこで、各グラフの定義は［表２］に示すように複数のグラフ定義を経由することによって行う。［表３］は、ここで使われている関数の説明である。
【００４５】
【表２】
2004062421.tif 000004
【００４６】
【表３】
2004062421.tif 000005
【００４７】
一例として、転換線（Ｌ４）をデータＬ０から直接求めるような関数は存在しない。そこで、本実施形態では転換線Ｌ４を定義するために、過去９個のデータＬ０の最大値及び最小値を計算した結果としてＬ２，Ｌ３というグラフを定義し、両グラフＬ２，Ｌ３の中間値としてＬ４を定義することにより、表１で示した定義と同様の計算を行う。このように複数のグラフを経由した計算を行うことによって、複数の関数で定義されるような複雑な計算が可能になる。
【００４８】
同様に表２の全ての折れ線グラフを定義した上、さらにグラフＬ９とＬ１３の間を帯表示する表示設定を加えたチャートが図１０のチャートである。細い線で示されているのが、表１の定義にない折れ線グラフである。図１０のチャートは１４本もの折れ線グラフがあって見づらいので、細い線で表記したグラフを全て非表示に設定することで、図９に示した一目均衡表の完成となる。
【００４９】
このような複雑な構成のチャートを整合的に作成するために、本実施形態のチャート作成装置では、各グラフ定義の検査を行う。図１１は、［表２］及び［表３］に示した各グラフの定義に基づくグラフ間の参照関係を示すツリーであり、グラフ名をノードで表現している。本実施形態のチャート作成装置においては、図１のグラフ情報記憶部１７に記憶されたグラフ情報中の「グラフの参照情報」によって、このツリー表現が特定される。ここでは便宜上、表現を常にツリーにするため、１つのノードから複数の矢印を出発させないよう、複数のグラフによって参照されているグラフのノードを複数化して表現する。この場合は、折れ線グラフＬ０がそれに当たる。一般にツリーは１つ以上生成される。
【００５０】
ツリーは循環的であってはならない。一例としてグラフＬ２の定義で、参照データをＬ０からＬ９に変更すると、チャートの定義が不完全となる。なぜなら、図１１には『Ｌ２→Ｌ４→Ｌ８→Ｌ９』という部分ツリーがあり、ここに『Ｌ９→Ｌ２』に相当する定義を行うと、Ｌ２，Ｌ４，Ｌ８，Ｌ９の定義が全て循環的になり、曖昧な定義になってしまうからである。そこで、グラフの定義変更時、チャート作成装置はツリーが循環的になるような変更が行われようとした場合、ユーザにその変更ができないことを示す警告メッセージを表示し、変更を制限する。
【００５１】
図１２に、この過程を含んだ対話的なグラフ定義の変更手順の概略を示す。本実施形態のチャート作成装置は、この手順を用いてツリーを常に整合的な状態に保つ。ユーザは、まず位置指定部１１を用いて変更するグラフを選び（ステップＳ２０１）、次いでそのグラフの変更を指示する（ステップＳ２０２）。チャート作成装置は、チャート表示部１８でグラフ定義のためのダイアログを表示し（ステップＳ２０３）、ユーザの指示を待つ（ステップＳ２０４）。
【００５２】
ユーザは、表示されているダイアログ中の情報を変更する（ステップＳ２０６）。ここで、その変更が参照データの変更であり（ステップＳ２０７でｙｅｓ）、かつ参照しようとするデータをルートとする部分ツリーが変更中のグラフを含むとする（ステップＳ２０８でｙｅｓ）。この場合、その変更によってツリーが整合的でなくなるので、チャート作成装置は座に対して警告をメッセージし（ステップＳ２０９）、グラフ定義の変更を行わずにユーザの指示を待つ状態（ステップＳ２０４）に戻る。
【００５３】
一方、ステップＳ２０６でのダイアログ中の情報の変更が参照データの変更でない場合（ステップＳ２０７でｎｏ）、あるいは参照しようとするデータをルートとする部分ツリーが変更中のグラフを含まない場合（ステップＳ２０８でｎｏ）は、グラフの変更を行い（ステップＳ２１０）、変更後のグラフを再表示してユーザに示す（ステップＳ２１１）。これにより、変更後のグラフが妥当なものか否かをユーザに判定させ、ユーザの指示を待つ状態（ステップＳ２０４）に戻ることで、対話的な編集処理を行う。ステップＳ２０４でユーザがＯＫボタンを押すと、グラフは確定する（ステップＳ２０５）。
【００５４】
次に、本実施形態における計算手順の再利用について説明する。
本実施形態のチャート作成装置は、上述のツリー表現を整合性の検査のみならず、計算手順の再利用にも活用できる。例えば、一目均衡表のツリーを示した図１１から、Ｌ０で示された価格データを元に全てのグラフの値を計算でき、その計算の過程は一意に決まることがわかる。このような関係は、図１１中の部分ツリーでも成り立つ。このことから、入力となるグラフと出力となるグラフを適切に指定することで、その計算手順すなわち計算の過程を特定（同定）できることがわかる。
【００５５】
本実施形態のチャート作成装置では、この性質を利用して、一度作成した計算手順を再利用する機能を備える。図１１のツリーを例にとると、価格データＬ０から直接、先行スパン１であるＬ９を求めるのと同等の計算を行う場合、ツリーの情報を活用して、一目均衡表を作成するために費やした手間を省くことができる。
【００５６】
図１３のツリーを用いて説明する。ここでｆ，ｇ，ｐ，ｑ，ｒは、ある関数名とパラメータで決まる、１つまたは複数のグラフから所定の計算結果を導く関数であることをツリー上で表示するものとする。グラフを引数としてグラフを返す関数とみなしてもよい。ｇ，ｑは１引数の関数、ｆ，ｐは２引数の関数、ｒは３引数の関数である。これらの関数によってグラフＧ１〜Ｇ８が既に定義され、図１４のようにチャートが表示されているものとする。
【００５７】
次に、図１４のチャートで行われている計算を他のチャート作成に再利用する手順を説明する。
今、図１５（ｂ）のチャートを作成するために、図１４のチャートを再利用する操作を行う。図１５（ｂ）のチャートを編集するとき、ユーザは再利用を行うメニューを選択し、図１４のチャートを特定するチャート名、もしくはファイル名等を指定する。図１５（ｃ）のようにダイアログボックス４が現れると共に、図１５（ａ）のようにチャート作成画面上に図１４のチャートが呼び出される。図１５（ｃ）におけるボタン４０１，４１１，４２１は、現在のモードを再利用するチャートの入力（入力グラフ）を選択するモード、再利用するチャートの出力（出力グラフ）を選択するモード、編集対象のチャートの入力（入力グラフ）を選択するモードにそれぞれ移行させるためのボタンである。
【００５８】
再利用するチャートの入力を選択するモードで、図１５（ａ）のチャート上のグラフを位置指定部１１で次々に選択すると、選択されたグラフが図１６（ａ）のように適当な強調表示によって選択されていることを示し、同時にそれらのグラフの名称が図１６（ｃ）のようにダイアログボックス４に表示される。図１６（ｂ）は図１５（ｂ）と同様、編集対象のチャートを示している。
【００５９】
ユーザは、このようにグラフ選択を、再利用するチャートの入力グラフを選択するモード、再利用するチャートの出力グラフを選択するモード及び編集対象のチャートの入力グラフを選択するモードの３通りのモードについて行い、図１７（ａ）（ｂ）（ｃ）のように全てのグラフ選択を終了する。ここで、各種のグラフの選択に際しては、チャート中のグラフの表示色とダイアログボックス４中のグラフ名の表示色をそれぞれに統一することによって、それぞれの区別がつくものとする。また、再利用する側のグラフは重複して選ばれないように、チャート作成装置によって制限される。
【００６０】
ユーザが全てのグラフ選択を終えてＯＫボタン４４１を押すと、チャート作成装置は再利用が可能かどうかのチェックを行う。図１７（ａ）（ｂ）（ｃ）のような選択を行った場合、ユーザは図１７（ａ）のチャートでＧ１，Ｇ２，Ｇ４のデータを計算してＧ６，Ｇ８のデータを求めるのと同じ計算手順を用いて図１７（ｂ）のＨ１，Ｈ２，Ｈ３のデータを計算し、求めた結果を新たな２本のグラフとして定義させようとしていることを意味する。従って、図１７（ｃ）の左右の入力グラフ（再利用するチャートの入力グラフと編集対象のチャートの入力グラフ）の数は等しくなければならず、数が異なる場合はＯＫボタン４４１は無効になっている。
【００６１】
ここでチェックされるのは、Ｇ１，Ｇ２，Ｇ４のデータからＧ６，Ｇ８のデータが計算可能であるかどうかであり、計算不可能の場合はダイアログボックス４にその旨のメッセージを表示し、ＯＫボタン４４１の押下を無効にする。図１７（ａ）（ｂ）（ｃ）の場合、Ｇ１，Ｇ２からＧ３が計算され、それによってＧ４も含めて図１３の全ての葉ノードが求まり、よって全てのグラフの値が計算できるので、グラフ定義は有効である。しかし、例えば図１７（ｃ）の左側の入力グラフがＧ１，Ｇ２のみであった場合、図１３からＧ３，Ｇ７は計算できるものの、Ｇ５，Ｇ６，Ｇ８は計算できないので、グラフ定義は無効になる。
【００６２】
一方、例えば図１７（ｃ）の左側の入力グラフにＧ１，Ｇ３，Ｇ５が選択されている場合、図１３中の部分ツリーである図１８の全ての葉ノードが選択されているため、グラフ定義は有効である。ここで図１３のツリー全体を見ると、Ｇ３はＧ１とＧ２から求められることになっているが、入力グラフに指定された場合はこの関係を無視し、Ｇ３をＧ１から独立した別個のグラフとして扱い、新たなチャート上ではＧ３に対応するグラフの計算を行わないものとする。同様にＧ５もＧ４との関係が無視される。
【００６３】
図１９は、上述した再利用するチャートに含まれるグラフ間の関係をチェックする手順を一般化して示している。この手順はツリーをマーキングしてチェックを行うアルゴリズムを示しており、マークされたグラフが計算可能であることを表す。
まず、最初にツリー中の入力グラフの部分、すなわち計算が開始される全てのノードをマークし（ステップＳ３０１）、次いでそのマークされたノードをルートとする部分ツリーを無視して独立のグラフとみなす（ステップＳ３０２）。次に、マークされていないノードのうち、全ての子ノードがマークされたノードが存在するかをチェックし（ステップＳ３０３）、存在していれば子ノードが全てマークされたノードとその同一のグラフを指す全てのノードにマークを付ける（ステップＳ３０４）。このステップＳ３０４でマークされるノードは、計算過程において段階毎に計算されるグラフに対応することになる。
【００６４】
一方、ステップＳ３０３でマークされていないマークのノードに全ての子ノードがマークされたノードが存在しない場合は、全ての出力ノードがマークされているかどうかをチェックする（ステップＳ３０５）。ここで、全ての出力ノードがマークされているとき、グラフ定義が有効であることがわかるので、再利用が行われる（ステップＳ３０６）。その結果として、編集中のチャートに、Ｇ６，Ｇ８を求めるのと同じように図１３のｆ，ｇ，ｐ，ｑ，ｒを用いた計算をＨ１，Ｈ２，Ｈ３について行った結果としてのグラフが新たに追加される。ステップＳ３０５の条件を満たさなければ、グラフ定義は無効とされ（ステップＳ３０７）、ＯＫボタン４４１の押下は無効となる。図２０に、以上のチャート再利用によって作成されたチャートの例を示す。
【００６５】
上述の説明では、他のチャートから直接、計算手順を再利用する方法を示したが、同様に入力・出力を指定するユーザ・インタフェースを用いて、あるチャートの計算手順を独立した関数として取り出すことも可能である。取り出した関数に名前を付け、グラフ定義中に用いることが可能である。取り出した関数は、元のチャートの変更に従って定義を変える形で保存されてもよいし、チャートとは独立に記録されてもよい。
【００６６】
【発明の効果】
以上述べたように、本発明によればグラフィカル・ユーザ・インタフェース技術を用いて視覚的にわかりやすく、しかも効率的にチャートの作成を行うことができる。また、チャート作成過程において定義された計算手順の再利用を容易として、さらに作業効率を高めることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態におけるチャート作成装置の構成図の一例を示す図
【図２】本発明の一実施形態におけるチャート作成手順の基本的な流れを示すフローチャート
【図３】本発明の一実施形態における複数のグラフを含むチャートの表示例を示す図
【図４】本発明の一実施形態における追加されたグラフを含むチャートの表示例を示す図
【図５】本発明の一実施形態におけるドラッグ操作により平行移動されたグラフを含むチャートの表示例を示す図
【図６】本発明の一実施形態におけるドラッグ操作により拡大・縮小されたグラフを含むチャートの表示例を示す図
【図７】本発明の一実施形態におけるダイアログ操作により定義されるグラフを含むチャート及びダイアログボックスの表示例を示す図
【図８】本発明の一実施形態におけるダイアログ操作により定義されるグラフを含むチャート及びダイアログボックスの他の表示例を示す図
【図９】本発明の一実施形態に従って作成されるチャートの具体的な一例としての一目均衡表を示す図
【図１０】本発明の一実施形態における表２及び表３のグラフ定義に従って作成したチャートを示す図
【図１１】図１０に示したチャートにおける各グラフ間の参照関係をツリーで示す図
【図１２】本発明の一実施形態における対話的なグラフ定義の変更手順の一例を示す図
【図１３】本発明の一実施形態に基づいて作成される他のチャートのグラフ間の参照関係と用いられる関数の一例をツリーで示す図
【図１４】本発明の一実施形態における図１３のツリーで示されるチャートの表示例を示す図
【図１５】本発明の一実施形態におけるチャート再利用によるチャート作成手順を説明するためのチャート作成画面上のチャート及びダイアログボックスの第１の表示例を示す図
【図１６】同じくチャート再利用によるチャート作成手順を説明するためのチャート作成画面上のチャート及びダイアログボックスの第２の表示例を示す図
【図１７】同じくチャート再利用によるチャート作成手順を説明するためのチャート作成画面上のチャート及びダイアログボックスの第３の表示例を示す図
【図１８】図１３中の部分ツリーの一例を示す図
【図１９】本発明の一実施形態における再利用するチャートに含まれるグラフ間の関係をチェックする処理手順の一例を示す図
【図２０】本発明の一実施形態におけるチャート再利用によって作成されたチャートの表示例を示す図
【符号の説明】
１１…位置指定部
１２…文字入力部
１３…制御部
１４…データ集合記憶部
１５…計算部
１６…計算方法記憶部
１７…グラフ情報記憶部
１８…チャート表示部
【図１】
2004062421.tif 000006
【図２】
2004062421.tif 000007
【図３】
2004062421.tif 000008
【図４】
2004062421.tif 000009
【図５】
2004062421.tif 000010
【図６】
2004062421.tif 000011
【図７】
2004062421.tif 000012
【図８】
2004062421.tif 000013
【図９】
2004062421.tif 000014
【図１０】
2004062421.tif 000015
【図１１】
2004062421.tif 000016
【図１２】
2004062421.tif 000017
【図１３】
2004062421.tif 000018
【図１４】
2004062421.tif 000019
【図１５】
2004062421.tif 000020
【図１６】
2004062421.tif 000021
【図１７】
2004062421.tif 000022
【図１８】
2004062421.tif 000023
【図１９】
2004062421.tif 000024
【図２０】
2004062421.tif 000025