(57)【特許請求の範囲】
【請求項１】
グラフデータ及び文字パラメータデータが記憶される記憶部を有する記憶装置と、前記記憶装置に記憶されるデータを基にグラフ作成及びデータ値表示のための処理を行うグラフ作成装置と、前記グラフ作成装置で作成されたグラフを表示する表示装置と、を備えるグラフ表示システムであって、
前記グラフ作成装置が、グラフ本体を作成するグラフ本体作成部と、データ値表示の際に必要な文字列領域の大きさを算出する文字列領域算出部と、前記文字列領域算出部で算出された文字列領域の表示位置を設定する文字列領域位置設定部と、前記文字列領域位置設定部で設定された位置に関する情報を登録する位置情報登録部と、前記位置情報登録部に登録された全データ値の表示位置情報に基づいて、文字列領域の表示処理を行う文字列領域表示処理部と、を備え、
円グラフあるいはドーナツ状グラフを作成する場合には、前記文字列領域位置設定部は、表示対象たるデータ値の文字列領域が円グラフあるいはドーナツ状グラフの内部に表示された状態で、この文字列領域と扇形領域とが重なっている部分の面積を算出し且つここで得られた面積が当該文字列領域の面積に占める割合を算出し、算出された割合がしきい値より大きいか否かを判定し、その判定結果に基づいて表示対象たるデータ値の文字列領域を円グラフあるいはドーナツ状グラフの内部に表示するか外部に表示するかを決定して、各データ値の文字列領域の表示位置を設定および再設定することを特徴とするグラフ表示システム。
【請求項２】
前記文字列領域位置設定部により円グラフあるいはドーナツ状グラフの外部に表示するよう決定されたデータ値の文字列領域に対して、当該文字列領域とグラフとを結ぶ引き出し線の表示処理を行う引き出し線表示処理部を、前記グラフ作成装置に備えることを特徴とする請求項１に記載のグラフ表示システム。
【請求項３】
円グラフあるいはドーナツ状グラフを作成する場合には、コンピュータに、
グラフデータに基づきグラフ本体を作成させる機能と、
前記グラフデータと文字パラメータデータとに基づき各データ値を表示する際に必要とする文字列領域の大きさを算出させる機能と、
表示対象たるデータ値の文字列領域が円グラフあるいはドーナツ状グラフの内部に表示された状態で、この文字列領域と扇形領域とが重なっている部分の面積を算出し且つここで得られた面積が当該文字列領域の面積に占める割合を算出し、算出された割合がしきい
値より大きいか否かを判定し、その判定結果に基づいて表示対象たるデータ値の文字列領域を円グラフあるいはドーナツ状グラフの内部に表示するか外部に表示するかを決定して、各データ値の文字列領域の表示位置を設定および再設定させる機能と
その設定した位置の位置情報を記憶部に登録させる機能と、
その登録された各データ値の表示位置情報に基づき、全データ値に対してグラフ上への
表示処理を行わせる機能と、
を実現させるためのグラフのデータ値表示処理プログラム。
【請求項４】
コンピュータに、登録された全データの表示位置情報に基づき、円グラフあるいはドーナツ状グラフの外部に表示するよう決定されたデータ値の文字列領域に対して、当該文字列領域とグラフとを結ぶ引き出し線を表示するための引き出し線表示処理を行わせる機能を実現させるための請求項３に記載のグラフのデータ値表示処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、グラフ作成において、データ値同士が重ならないように、グラフ中にデータ値を自動的に配置するグラフ表示システム及びそのデータ値表示処理プログラムに関するものである。
【０００２】
【従来の技術】
グラフにデータ値を自動的に表示するシステムには、例えば特開平１１−２８２９３１号公報に記載されている如く、グラフ化の対象となるデータに対して、軸の目盛り及び目盛りに対応した位置に数値ラベルを自動的に貼り付けるものがある。
【０００３】
【発明が解決しようとする課題】
しかしながら、前記従来技術は、円グラフや棒グラフにデータ値を直接表示する際に、隣り合うデータ値の文字列領域との間隔が狭いためにデータ値文字列領域同士が重なってしまうことがあり、この重なりを回避するためには、文字サイズを小さく設定して表示し直すか、もしくは手動でデータ値の文字列領域の位置を調整しなければならず、グラフ作成に非常に手間が掛かるという不都合があった。
【０００４】
本発明の目的は、グラフ中に各要素のデータ値を表示する際、文字サイズを変更することなく、相互のデータ値文字列領域の重なりを自動的に回避し、各データ値を表示するグラフ表示システム及びそのデータ値表示処理プログラムを提供することである。
【０００５】
【課題を解決するための手段】
上述の目的を達成するため、請求項１の発明によるグラフ表示システムでは、グラフデータ及び文字パラメータデータが記憶される記憶部を有する記憶装置と、前記記憶装置に記憶されるデータを基にグラフ作成及びデータ値表示のための処理を行うグラフ作成装置と、前記グラフ作成装置で作成されたグラフに表示する表示装置とを備えるグラフ表示システムにおいて、前記グラフ作成装置が、グラフ本体を作成するグラフ本体作成部と、データ値表示の際に必要な文字列領域の大きさを算出する文字列領域算出部と、前記文字列領域算出部で算出された文字列領域の表示位置を設定する文字列領域位置設定部と、前記文字列領域位置設定部で設定された位置に関する情報を登録する位置情報登録部と、前記位置情報登録部に登録された全データ値の表示位置情報に基づいて、文字列領域の表示処理を行う文字列領域表示処理部と、を備え、
円グラフあるいはドーナツ状グラフを作成する場合には、前記文字列領域位置設定部は、表示対象たるデータ値の文字列領域が円グラフあるいはドーナツ状グラフの内部に表示された状態で、この文字列領域と扇形領域とが重なっている部分の面積を算出し且つここで得られた面積が当該文字列領域の面積に占める割合を算出し、算出された割合がしきい値より大きいか否かを判定し、その判定結果に基づいて表示対象たるデータ値の文字列領域を円グラフあるいはドーナツ状グラフの内部に表示するか外部に表示するかを決定して、各データ値の文字列領域の表示位置を設定および再設定する。また請求項２の発明によるグラフ表示システムでは、前記表示システムにおけるグラフ作成装置に、前記文字列領域位置設定部により円グラフあるいはドーナツ状グラフの外部に表示するよう決定されたデータ値の文字列領域に対して、当該文字列領域とグラフとを結ぶ引き出し線の表示処理を行う引き出し線表示処理部を、前記グラフ作成装置に備える。
【０００７】
請求項３の発明によるデータ値表示処理プログラムでは、円グラフあるいはドーナツ状グラフを作成する場合には、コンピュータに、グラフデータに基づきグラフ本体を作成させる機能と、前記グラフデータと文字パラメータデータとに基づき各データ値を表示する
際に必要とする文字列領域の大きさを算出させる機能と、表示対象たるデータ値の文字列領域が円グラフあるいはドーナツ状グラフの内部に表示された状態で、この文字列領域と扇形領域とが重なっている部分の面積を算出し且つここで得られた面積が当該文字列領域の面積に占める割合を算出し、算出された割合がしきい値より大きいか否かを判定し、その判定結果に基づいて表示対象たるデータ値の文字列領域を円グラフあるいはドーナツ状グラフの内部に表示するか外部に表示するかを決定して、各データ値の文字列領域の表示位置を設定及び再設定させる機能と、その設定した位置の位置情報を記憶部に登録させる機能と、その登録された各データ値の表示位置情報に基づき、全データ値に対してグラフ上への表示処理を行わせる機能とを実現させる。
また請求項４の発明によるデータ値表示処理プログラムでは、前記表示処理プログラムにおいて、登録された全データの表示位置情報に基づき、円グラフあるいはドーナツ状グラフの外部に表示するよう決定されたデータ値の文字列領域に対して、当該文字列領域とグラフとを結ぶ引き出し線を表示するための引き出し線表示処理を行わせる機能を実現させる。
【０００８】
【発明の実施の形態】
以下、本発明のグラフにおけるグラフ表示システム１を図１を用いて詳細に説明する。ここで、図１は本発明のグラフにおけるデータ値の表示システムのブロック構成図である。
【０００９】
＜本発明のグラフ表示システムの構成＞
本発明のグラフ表示システムは、図１に示すようにグラフデータ及び文字パラメータデータが記憶されている記憶部を有する記憶装置１０と、グラフ本体の作成及びデータ値の表示のためのグラフ処理を行うグラフ作成装置２０と、記憶装置１０において設定されたデータを基にグラフ作成装置２０において処理されたグラフを表示する表示装置３０と、から構成されている。尚、本システム構成は、メモリと記憶部と、表示部他を持つ一般のパーソナルコンピュータであっても良い。
【００１０】
前記記憶装置１０は、作成するグラフのデータ値が保管されるグラフデータ記憶部１１と、ユーザが設定するための文字のフォント，サイズ及び色のデータが保管されるパラメータ記憶部１２とを備えており、前記グラフ作成装置２０は、グラフ本体を作成するグラフ本体作成部２１と、データ値処理部２２とを有している。
【００１１】
前記データ値処理部２２では、以下のような処理が行われる。まず、データ値の文字列領域算出部２３において、ユーザに指定された文字サイズ等の文字パラメータデータと、グラフデータ記憶部１１に記憶されるグラフデータとを基に、各データ値を表示する際に必要とする文字列領域の大きさを算出する。この文字列領域とは、図２の文字列を囲む矩形領域を指す。また、図２中のＡ点は文字列領域の中心点、Ｂ点は上中央点、Ｃ点は左中央点、Ｄ点は下中央点、Ｅ点は右中央点であり、ｈは文字列領域の高さである。尚、文字列領域の１文字分の幅Ｗは高さの半分の長さとしている。
【００１２】
次に、文字列領域位置設定部２４において各データ値の文字列領域の表示位置を設定し、設定した位置を位置情報記憶部２５に登録する。ここで、設定した文字列領域の表示位置が登録済の文字列領域と重なるか否かを後述の方法により検出し、重なる場合には、登録済の文字列領域と重ならないように、文字列領域を後述の方法により再設定する。このようにして、各データ値の文字列領域がそれぞれ重なり合わないように全データ値の表示位置が設定され、その設定された位置情報が位置情報記憶部２５に登録される。更に、上記の如く登録された各データ値の表示位置情報を基に、文字列領域表示処理部２６において、全データ値のグラフ上への表示処理が行われる。ここで、円グラフの場合は、必要に応じて引き出し線表示処理部２７において引き出し線の表示処理が行われる。これらのデータ値処理が行われた後、表示装置３０によって、グラフが表示される。
【００１３】
＜一実施形態：円グラフにおける表示処理動作＞
以下、本実施形態による、円グラフにおけるデータ値の表示処理動作について図３を参照して説明する。ここで図３は円グラフにおけるデータ値の処理動作を説明するためのフローチャートである。
【００１４】
まず、ユーザが設定した円グラフの半径Ｒと、グラフデータ記憶部１１から文字列領域算出部２３に送られた各要素のデータ値とから、グラフ本体作成部２１にて円グラフ本体が作成される（ステップ１００）。
【００１５】
次に、パラメータ記憶部１２に格納されている文字サイズデータから、作成された円グラフに表示するデータ値の文字サイズを指定する（ステップ１０１）。文字サイズデータには「大」「中」「小」の３種類の文字サイズが設定されており、ユーザはこの中から１種類の文字サイズを指定する。尚、ユーザは文字サイズのみならず、文字のフォントや色についても指定できる。ここで、ユーザが文字サイズを「大」に指定した場合、文字サイズは、文字列領域の高さｈが円グラフの半径の３分の１の大きさとなるように自動的に算出される。また「中」を指定した場合には、文字列領域の高さｈ（図２参照）が円グラフの半径の４分の１の大きさとなるように算出され、「小」を指定した場合には、文字列領域の高さｈが円グラフの半径の５分の１の大きさとなるように算出される。文字サイズが指定されていない場合には、「中」を指定した場合の文字サイズの算出処理が自動的に行われる。
【００１６】
以上の処理終了後、各データ値について以下の処理を行う。まずステップ１０１で指定された文字列領域の高さｈと文字数とからデータ値の文字列領域の面積Ｓが算出され（ステップ１０２）、この算出された面積Ｓを基に、後述の如くデータ値の表示位置が設定される（ステップ１０３）。こうして設定された表示位置は、データ値処理部２２内の位置情報記憶部２５に登録される（ステップ１０４）。しかる後に、ステップ１０２からステップ１０４までの処理によって全てのデータ値の設定表示位置が登録されたか否かを判定し（ステップ１０５）、登録されたと判定された場合はデータ値の表示処理が行われ、必要に応じて引き出し線の表示処理も行われる（ステップ１０６）。また、ステップ１０５において登録されていないと判定された場合は、設定表示位置未登録の各データ値について、ステップ１０２からステップ１０４までの処理が繰り返し行われる。
【００１７】
ここで、前述の円グラフにおけるデータ値の表示処理動作の内、ステップ１０３におけるデータ値表示位置設定の処理動作について、図４を参照して説明する。図４は図中のデータ値の表示位置設定の処理動作を説明するフローチャートである。
【００１８】
まず、データ値の文字列領域は、前記データ値に対応する円グラフ内の扇形領域の内部に位置設定される（ステップ１１０）。このステップ１１０における設定方法について、図５の斜線部分の場合を例にとり説明する。ここで、図５に示す如く、水平方向にｘ軸、原点を通りｘ軸と垂直な方向にｙ軸を設定し、また、ｘ軸の右方向ならびにｙ軸の上方向を正の向きと設定する。また、ステップ１００において作成された任意の円グラフの中心座標を（ＸＣ，ＹＣ）とする。
【００１９】
まず、斜線部分の扇形領域を二等分する角度θ１が算出される。ここで、θ１はｙ軸の正の部分を基準として、前記扇形領域の二等分線までの時計回り方向の角度とする。次に、該当するデータ値に対応する扇形領域の中心点の座標（Ｘ１，Ｙ１）が算出される。この座標（Ｘ１，Ｙ１）は、円グラフの半径をＲとすると、以下の式によって算出される。
【００２０】
【数１】
0003616992.tif 000002
【００２１】
更に、該当するデータ値の文字列領域の中心点を算出し、この中心点を前記扇形領域の中心座標（Ｘ１，Ｙ１）に一致させることによって、例えば図６のように、ステップ１１０における扇形領域内部へ表示位置が設定される。
【００２２】
上記ステップ１１０の処理後、扇形領域と文字列領域とが重なっている部分の面積Ｓ１を算出し、得られたＳ１と図のステップ１０２において算出されている文字列領域の面積Ｓの面積比α（ここで、α＝Ｓ１／Ｓ）が文字列領域算出部２３において算出され（ステップ１１１）、しかる後に、得られた面積比αがユーザに設定されたしきい値より大きいか否か判定される（ステップ１１２）。ここで、前記しきい値は文字列領域を扇形領域の内部に表示するか、もしくは外部に表示するかを判別するための基準値である。
【００２３】
以下に、このしきい値による判定について具体的に説明する。例えば、しきい値を０．９と設定する。ここで、前記面積比αがしきい値０．９以上の場合（データ値の文字列領域と該データ値に対応する扇形領域との重なりの面積の、前記文字列領域面積に占める割合が０．９以上の場合）は、文字列領域を扇形領域内部に表示しても、図６のように、表示されたデータ値が、他のデータ値と重なって見づらくなるという虞がないため、データ値の文字列領域設定位置は扇形領域内部に設定される。つまり、ステップ１１２において面積比αがしきい値以上と判定された場合（データ値の文字列領域と該データ値に対応する扇形領域との重なりの面積の、前記文字列領域面積に占める割合が大きい場合）には、データ値の文字列領域設定位置はステップ１１０で設定された扇形領域内部の表示位置で設定されることとなり、ステップ１０３におけるデータ値表示位置設定の処理動作は終了する。
【００２４】
一方、前記面積比αがしきい値０．９より小さい場合（データ値の文字列領域と該データ値に対応する扇形領域との重なりの面積の、前記文字列領域面積に占める割合が０．９より小さい場合）は、文字列領域を扇形領域内部に表示しても、例えば図７のように、扇形領域内部にデータ値を表示することはできないため、データ値の文字列領域設定位置は扇形領域の外部に設定するべきであると判定される。つまり、面積比αがしきい値より小さいと判定された場合（データ値の文字列領域と該データ値に対応する扇形領域との重なりの面積の、前記文字列領域面積に占める割合が小さい場合）には、データ値の文字列領域を扇形領域の外部に表示する外部表示位置の設定処理が行われる（ステップ１１３）。尚、このしきい値は、ユーザのしきい値設定時に、記憶装置１０内のパラメータ記憶部１２に記憶される。
【００２５】
＜データ値の外部表示処理＞
この外部表示位置の設定処理について、図８を参照して説明する。まず、内部表示処理の場合と同様に、データ値の扇形領域（図８斜線部分）を二等分する角度θ２が算出される。次に、引き出し線の両端の点が算出される。一端は前記扇形領域の弧の二等分点Ｍ２であり、他端は二等分点Ｍ２から半径方向に延長した延長線上の点であって、点Ｍ２との距離が文字列領域の高さｈの半分の大きさとなるような点Ｐ２である。この点Ｐ２の座標（Ｘ２，Ｙ２）は次式より算出される。
【００２６】
【数２】
0003616992.tif 000003
【００２７】
更に、θ２の大きさを基に算出された文字列領域の点を、点Ｐ２（Ｘ２，Ｙ２）に一致させることによって、ステップ１１３の外部表示位置の設定処理が完了する。以下にこの設定処理について、図９を参照して詳細に説明する。
【００２８】
まず、０°≦θ２≦４５°及び３１５°＜θ２≦３６０°の場合は、文字列領域の下中央点と点Ｐ２（Ｘ２，Ｙ２）とを一致させることにより、図９（ａ）のように外部表示位置の設定が完了する。また、４５°＜θ２≦１３５°のときは、文字列領域の左中央点と点Ｐ２（Ｘ２，Ｙ２）とを一致させることにより、図９（ｂ）のように外部表示位置の設定が完了する。更に、１３５°＜θ２≦２２５°のときは、文字列領域の上中央点と点Ｐ２（Ｘ２，Ｙ２）とを図９（ｃ）の如く一致させ、２２５°＜θ２≦３１５°のときは、文字列領域の右中央点と点Ｐ２（Ｘ２，Ｙ２）とを図９（ｄ）の如く一致させることによって外部表示位置の設定が完了する。以上のようにしてステップ１１３の処理は行われる。
【００２９】
ここで、ステップ１１３の処理によって複数のデータ値が外部に表示される場合、例えば図１０（ａ）のように、データ値が重なり合って表示されてしまう虞がある。そこでステップ１１３終了後、外部表示位置を設定しようとしている文字列領域が、既に外部表示位置設定済の文字列領域と重なるか否かについて判定される（ステップ１１４）。重ならないと判定された場合には、ステップ１１３で設定された外部表示位置で設定されることとなり、ステップ１０３におけるデータ値表示位置設定の処理動作は終了する。
【００３０】
＜再設定位置の算出方法＞
一方、重なると判定された場合には、文字列領域の位置再設定処理を行う（ステップ１１５）。以下、隣り合う文字列領域が重なる場合に文字列領域の設定位置を再設定するステップ１１５の再設定位置算出方法について、図１０を参照して説明する。まず、内部表示処理の場合と同様に、データ値の扇形領域（図１０斜線部分）を二等分する角度θ３が算出される。次に、引き出し線の両端の点が算出される。一端は前記扇形領域の弧の二等分点Ｍ３であり、他端はこの二等分点Ｍ３から半径方向に延長した延長線上の点であって、点Ｍ３との距離が文字列領域の高さｈの半分の大きさである点Ｐ３である。この点Ｐ３の座標（Ｘ３，Ｙ３）は次式より算出される。
【００３１】
【数３】
0003616992.tif 000004
【００３２】
更に、ステップ１１３の外部初期位置設定処理の場合と同様、θ３を基に算出された文字列領域の点を点Ｐ３（Ｘ３，Ｙ３）に一致させる。この処理の後、外部表示位置を再設定しようとしている文字列領域が、既に外部表示位置設定済の文字列領域と重なるか否かについて判定され（ステップ１１４）、重ならないと判定された場合には、ステップ１１５で再設定された外部表示位置で設定されることとなり、ステップ１０３におけるデータ値表示位置設定の処理動作は終了する。
【００３３】
一方、１度の再設定位置算出処理で重なりが解消できない場合は、更に文字サイズの高さの半分の長さ分だけ延長した引き出し線の終点座標を再設定し（ステップ１０８）、重なり部分判定処理を行う（ステップ１０７）。以上の処理を、ステップ１１４において重ならないと判定されるまで繰り返し行い、重ならないと判定されると、ステップ１０３におけるデータ値表示位置設定の処理動作は終了する。ここで、再設定位置算出処理をＮ回行って得られた再設定位置の座標（ＸＮ，ＹＮ）は、円グラフの半径Ｒ及び文字列領域の高さｈを用いて次式で与えられる。
【００３４】
【数４】
0003616992.tif 000005
【００３５】
以上のようなデータ値の表示位置設定処理が全データ値に対して行われ、全データ値の表示位置が登録された後、データ値及び引き出し線の表示処理が行われて（ステップ１０６）、円グラフにおけるデータ値表示処理動作は完了する。
【００３６】
＜ドーナツ状グラフにおける表示処理動作＞
本発明は、上述した円グラフにおけるデータ値表示処理動作を若干変更することにより、図１１に示すようなドーナツ状グラフについても適用することができ。以下にこのドーナツ状グラフにおけるデータ値表示処理動作について説明する。ドーナツ状グラフに適用する場合には、ステップ１１０において、データ値に対応するグラフ領域（図１１斜線部分）内部の表示位置の座標（ＸＤ，ＹＤ）を求める式を次式にすると共に、ステップ１１２において用いられるしきい値の設定の際に、円グラフの場合より小さい値に設定する必要がある。その他の処理については円グラフにおける表示処理動作と同様に行うことにより、ドーナツ状グラフにおけるデータ値表示処理が行える。尚、図１１における前記グラフ領域（斜線部分）を二等分する角度をθ４、ドーナツ状グラフ本体における外円の半径をＲ、内円の半径をｒとする。
【００３７】
【数５】
0003616992.tif 000006
【００３８】
＜第二実施形態：棒グラフにおける表示処理動作＞
以上のように、本発明は円グラフ及びドーナツ状グラフの表示処理に適用できるが、本発明の第二実施形態として、図１２のように棒グラフにデータ値を表示する際にも適用できる。棒グラフにおけるデータ値表示処理について、以下、図１３のフローチャートを参照して説明する。図１３は棒グラフにおけるデータ値の処理動作を説明するフローチャートである。尚、図１２中のＨは棒グラフの高さを示す。
【００３９】
まず、円グラフの場合と同様、グラフデータファイル１１から文字列領域の算出部２３に送られた各要素のデータ値より、グラフ本体作成部２１にて棒グラフ本体の作成が行われる（ステップ２００）。
【００４０】
次に、パラメータ記憶部１２に格納されている文字サイズデータから、作成された棒グラフに表示するデータ値の文字サイズを指定する（ステップ２０１）。文字サイズデータには「大」「中」「小」の３種類の文字サイズが設定されており、ユーザはこの中から１種類の文字サイズを指定する。尚、ユーザは文字サイズのみならず、文字のフォントや色についても指定できる。ここで、ユーザが文字サイズを「大」に指定した場合には、文字サイズは、文字列領域の高さｈが棒グラフの高さＨの６分の１の大きさとなるように自動的に算出される。また「中」を指定した場合には、文字列領域の高さｈが棒グラフの高さＨの８分の１の大きさとなるように算出され、「小」を指定した場合には、文字列領域の高さｈが棒グラフの高さＨの１０分の１の大きさになるように算出される。文字サイズが指定されていない場合には、「中」を指定した場合の文字サイズの算出処理が自動的に行われる。
【００４１】
以上の処理終了後、各データ値について以下の処理を行う。まずステップ２０１で指定された文字列領域の高さｈと文字数とからデータ値の文字列領域の面積Ｓが算出され（ステップ２０２）、文字列領域の表示位置の設定が行われる（ステップ２０３）。
【００４２】
この設定位置の算出方法については、図１４の斜線部分の場合を例にとり説明する。ここで、図１４に示す如く、水平方向にｘ軸、原点を通りｘ軸と垂直な方向にｙ軸を設定し、また、ｘ軸の右方向ならびにｙ軸の上方向を正の向きと設定する。また、ステップ２００で作成された棒グラフの、一番左の棒の左下端を原点（０，０）とする。
【００４３】
まず、図１４（ａ）における任意の斜線部分の棒グラフ矩形領域の上中央点の座標（ＸＢ，ＹＢ）を算出し、図１４（ｂ）に示すデータ値の文字列領域の下中央点をこの座標（ＸＢ，ＹＢ）に一致させることにより、図１４（ｃ）のように棒グラフにおける表示位置設定処理が完了する。
【００４４】
以上のようにして、各データ値の表示位置を設定した場合、図１５のように複数の文字列領域が重なりあい、その結果データ値が重なり合って表示されてしまう虞がある。そこで、ステップ２０３終了後、表示位置を設定しようとしている文字列領域が、既に表示位置設定済の文字列領域と重なるか否かについて判定される（ステップ２０４）。ステップ２０４において重ならないと判定された場合には、位置設定された位置が位置情報記憶部２５に登録される（ステップ２０６）。
一方、ステップ２０４において重なると判定された場合には文字列領域の位置再設定処理が行われる（ステップ２０５）。
【００４５】
＜再設定位置の算出方法＞
ここで、ステップ２０５におけるデータ値表示位置の再設定処理動作について説明する。まず１回目の再設定位置算出を行う場合、図１５のように任意の位置再設定の対象の棒グラフ矩形領域における上中央点の座標（ＸＢ，ＹＢ）から、文字サイズの高さの半分の長さ分だけｙ軸の正方向に平行移動させた点の座標（ＸＢ１，ＹＢ１）を算出し、この座標（ＸＢ１，ＹＢ１）の点に文字列領域の下中央点を一致させる。しかる後にステップ２０４の判定処理を行い、この結果、文字列領域が重ならないと判定された場合は、再設定された位置が位置情報記憶部２５に記憶される（ステップ２０６）。
【００４６】
一方、１回目の再設定位置算出処理で重なりが解消できない場合は、文字サイズの高さの半分の長さ分だけ更にｙ軸の正方向に平行移動させた点の座標を再設定し（ステップ２０５）、重なり部分判定処理を行う（ステップ２０４）。以上の処理を、ステップ２０５において重ならないと判定されるまで繰り返し行い、重ならないと判定されると、その位置が位置情報記憶部２５に登録される（ステップ２０６）。ここで、本処理をＮ回行って得られた再設定位置の座標（ＸＢＮ，ＹＢＮ）は次式で与えられる。
【００４７】
【数６】
0003616992.tif 000007
【００４８】
以上のようなデータ値の表示位置設定処理が全データ値に対して行われ、全データ値の表示位置が登録された後、データ値及び引き出し線の表示処理が行われて（ステップ２０８）、棒グラフにおけるデータ値表示処理動作は完了する。
【００４９】
＜第三実施形態：折れ線グラフにおける表示処理動作＞
以上のように、本発明は円グラフ，ドーナツグラフ及び棒グラフにおける文字列領域の表示に適用できるが、第三実施形態として、図１６のような折れ線グラフにも適用できる。以下、折れ線グラフにおけるデータ値の表示処理について図１７のフローチャートを参照して説明する。ここで、図１７は折れ線グラフにおけるデータ値の処理動作を説明するフローチャートである。尚、図１６中のＨは折れ線グラフの高さを示す。
【００５０】
まず、円グラフや棒グラフの場合と同様、グラフデータ記憶部１１から文字列領域算出部２３に送られた各要素のデータ値とから、グラフ本体作成部２１にて折れ線グラフ本体の作成が行われ（ステップ３００）、続いて、前記折れ線グラフの各データ値の座標から、隣り合うデータ値を結ぶ全ての直線について傾きが算出される（ステップ３０１）。
【００５１】
次に、パラメータ記憶部１２に格納されている文字サイズデータから、前記折れ線グラフに表示するデータ値の文字サイズを指定する（ステップ３０２）。この文字サイズの算出方法は、棒グラフにおける算出方法と同様であり、この処理によって文字列領域の高さｈが算出される。
【００５２】
以上の処理終了後、各データ値について以下の処理を行う。まずステップ３０２で指定された文字列領域の高さｈと文字数とからデータ値の文字列領域の面積Ｓが算出され（ステップ３０３）、しかる後に、折れ線グラフにおける各データ値文字列領域の表示位置設定処理が行われる（ステップ３０４）。ステップ３０４の処理後、円グラフ等の場合と同様に設定位置判定が行われ（ステップ３０５）、ステップ３０５の判定結果によっては表示位置再設定処理が行われる（ステップ３０６）。
【００５３】
ここで、上記の表示位置及び再設定位置の算出方法が、各データ値の左右の直線の傾きの組み合わせによって異なるので、この点について以下に説明する。尚、折れ線グラフの任意のデータ値の座標を（ＸＬ，ＹＬ）とし、この座標の左側の折れ線の傾きをΔＬ、右側の折れ線の傾きをΔＲとする。
【００５４】
＜パターン１：０≦ΔＬ＜１かつ０≦ΔＲ＜１、または−１＜ΔＬ≦０かつ−１＜ΔＲ≦０である場合＞
まず図１８のような、０≦ΔＬ＜１かつ０≦ΔＲ＜１、または−１＜ΔＬ≦０かつ−１＜ΔＲ≦０である場合（以下、パターン１という）について説明する。パターン１では、データ値の座標（ＸＬ，ＹＬ）に文字列領域の下中央点を一致させることで表示位置の設定が行われる。
【００５５】
また、パターン１における表示位置再設定処理は、図１８のように行われる。まず、１回目の表示位置再設定処理では、データ値の座標（ＸＬ，ＹＬ）に文字列領域の上中央点を図１８（ｂ）のように一致させる。ここで、ステップ３０５の設定位置判定が行われ、重なりが回避されていないと判定された場合は、２回目の再設定処理が行われる。この２回目の再設定処理では、データ値の座標（ＸＬ，ＹＬ）から文字サイズの高さの半分の長さ分だけｙ軸の正の方向に平行移動した座標（ＸＬ２，ＹＬ２）に、文字列領域の下中央点を図１８（ｃ）のように一致させる。この処理終了後、再びステップ３０５の設定位置判定が行われ、重なりが回避されていないと判定された場合は、更に３回目の再設定処理が行われる。この３回目の位置再設定処理では、データ値の座標（ＸＬ，ＹＬ）から文字サイズの高さの半分の長さ分だけｙ軸の負の方向に平行移動した座標（ＸＬ３，ＹＬ３）に、文字列領域の上中央点を図１８（ｄ）のように一致させる。
【００５６】
このように、パターン１のデータ値に対して再設定処理をＮ回行う場合、下記の如く場合分けができる。まず、再設定処理回数が奇数回（Ｎ＝２ｎ＋１，ｎ＝０，１，２，…）のときは、データ値の座標から文字サイズの高さの半分のｎ倍分の長さだけｙ軸の負の方向に平行移動した座標に文字列領域の上中央点を一致させるように位置設定する。また、再設定処理回数が偶数回（Ｎ＝２ｎ，ｎ＝１，２，…）のときは、データ値の座標から文字サイズの高さの半分のｎ倍分の長さだけｙ軸の正の方向に平行移動した座標に文字列領域の下中央点を一致させるように位置設定する。これを繰り返して重なりが回避されるまで位置の再設定処理が行われる。
【００５７】
＜パターン２：０＜ΔＬかつΔＲ＜０である場合＞
次に、図１９のような、０＜ΔＬかつΔＲ＜０である場合（以下、パターン２という）について説明する。パターン２では、データ値の座標（ＸＬ，ＹＬ）に文字列領域の下中央点を一致させることで表示位置の設定が行われる。
【００５８】
また、パターン２における位置再設定処理は図１９のように行われる。まず、１回目の位置再設定処理では、データ値の座標（ＸＬ，ＹＬ）から文字サイズの高さの半分の長さ分だけｙ軸の正の方向に平行移動した座標（ＸＬ１，ＹＬ１）に、文字列領域の下中央点を図１９（ｂ）のように一致させる。よって、重なりを回避するために、パターン２のデータ値に対してこの処理をＮ回行うとすると、データ値の座標から文字サイズの高さの半分のＮ倍分の長さだけｙ軸の正の方向に平行移動した座標に文字列領域の下中央点を一致させるように位置設定することとなる。
【００５９】
ここで、上記パターン２における表示位置及び再設定位置の算出方法は、図２０の如く、１≦ΔＬかつ０≦ΔＲ＜１、または−１＜ΔＬ≦０かつΔＲ≦−１である場合についても成立する。更に、この表示方法はグラフの両端に表示する際にも適用され、図２１に示す如く、折れ線グラフ左端においてΔＲ≦０である場合、もしくは折れ線グラフ右端において０≦ΔＬである場合にも適用できる。
【００６０】
＜パターン３：ΔＬ＜０かつ０＜ΔＲである場合＞
次に、図２２の如く、ΔＬ＜０かつ０＜ΔＲである場合（以下、パターン３という）について説明する。パターン３では、データ値の座標（ＸＬ，ＹＬ）に文字列領域の上中央点を一致させることで表示位置の設定が行われる。
【００６１】
また、パターン３における位置再設定処理は図２２のように行われる。まず、１回の位置再設定処理では、データ値の座標（ＸＬ，ＹＬ）から文字サイズの高さの半分の長さ分だけｙ軸の負の方向に平行移動した座標（ＸＬ１，ＹＬ１）に、文字列領域の上中央点を図２２（ｂ）のように一致させるように位置設定する。よって、重なりを回避するために、この処理をパターン３のデータ値に対してＮ回行うとすると、データ値の座標から文字サイズの高さの半分のＮ倍分の長さだけｙ軸の負の方向に平行移動した座標に文字列領域の上中央点を一致させるように位置設定することとなる。
【００６２】
ここで、上記パターン３における表示位置及び再設定位置の算出方法は、図２３の如く、０≦ΔＬ＜１かつ１≦ΔＲ、またはΔＬ≦−１かつ−１＜ΔＲ≦０である場合についても成立する。更に、この表示位置算出方法はグラフの両端に表示する際にも適用され、図２４に示す如く、折れ線グラフ左端において０＜ΔＲである場合、もしくは折れ線グラフ右端においてΔＬ＜０である場合に適用される。
【００６３】
＜パターン４：１≦ΔＬかつ１≦ΔＲである場合＞
次に、図２５の如く、１≦ΔＬかつ１≦ΔＲである場合（以下、パターン４という）について説明する。パターン４では、データ値の座標（ＸＬ，ＹＬ）に文字列領域の右下点を一致させることで表示位置の設定が行われる。
【００６４】
また、パターン４における位置再設定処理は図２５のように行われる。まず、１回目の位置再設定処理では、データ値の座標（ＸＬ，ＹＬ）に文字列領域の左上点を図２５（ｂ）のように一致させる。２回目の位置再設定処理では、データ値の座標（ＸＬ，ＹＬ）から文字サイズの高さの半分の長さ分だけ左上４５°方向に平行移動した座標（ＸＬ２，ＹＬ２）に、文字列領域の右下点を図２５（ｃ）のように一致させるよう位置設定する。３回目の位置再設定処理では、データ値の座標（ＸＬ，ＹＬ）から文字サイズの高さの半分の長さ分だけ右下４５°方向に平行移動した座標（ＸＬ３，ＹＬ３）に、文字列領域の左上点を図２５（ｄ）のように一致させるよう位置設定する。
【００６５】
以上の再設定処理をＮ回行う場合、下記の如く場合分けができる。まず、再設定処理回数が奇数回（Ｎ＝２ｎ＋１，ｎ＝０，１，２，…）のとき、データ値の座標（ＸＬ，ＹＬ）から文字サイズの高さの半分のｎ倍分の長さだけ右下４５°方向に平行移動した座標（ＸＬＮＯ，ＹＬＮＯ）に、文字列領域の左上点を一致させるよう位置設定する。
【００６６】
【数７】
0003616992.tif 000008
【００６７】
また、再設定処理回数が偶数回（Ｎ＝２ｎ，ｎ＝１，２，…）のとき、データ値の座標（ＸＬ，ＹＬ）から文字サイズの高さの半分のｎ倍分の長さだけ左上４５°方向に平行移動した座標（ＸＬＮＥ，ＹＬＮＥ）に文字列領域の右下点を一致させるよう位置設定する。これを繰り返して重なりが回避されるまで位置の再設定が行われる。
【００６８】
【数８】
0003616992.tif 000009
【００６９】
＜パターン５：ΔＬ≦−１かつΔＲ≦−１である場合＞
次に、図２６の如く、ΔＬ≦−１かつΔＲ≦−１である場合（以下、パターン５という）について説明する。パターン５では、データ値の座標（ＸＬ，ＹＬ）に文字列領域の左下点を一致させることで表示位置の設定が行われる。
【００７０】
また、パターン５における再設定処理は図２６のように行われる。まず、１回目の位置再設定処理では、データ値の座標（ＸＬ，ＹＬ）に文字列領域の右上点を図２６（ｂ）のように一致させる。２回目の位置再設定処理では、データ値の座標（ＸＬ，ＹＬ）から文字サイズの高さの半分の長さ分だけ右上４５°方向に平行移動した座標（ＸＬ２，ＹＬ２）に、文字列領域の左下点を図２６（ｃ）のように一致させるよう位置設定する。３回目の位置再設定処理では、データ値の座標（ＸＬ，ＹＬ）から文字サイズの高さの半分の長さ分だけ左下４５°方向に平行移動した座標（ＸＬ３，ＹＬ３）に、文字列領域の右上点を図２６（ｄ）のように一致させるよう位置設定する。
【００７１】
以上の再設定処理をＮ回行う場合、下記の如く場合分けができる。まず、Ｎが奇数（Ｎ＝２ｎ＋１，ｎ＝０，１，２，…）の場合、データ値の座標（ＸＬ，ＹＬ）から文字サイズの高さの半分のｎ倍分の長さだけ左下４５°方向に平行移動した座標（ＸＬＮＯ，ＹＬＮＯ）に文字列領域の右上点を一致させるよう位置設定する。
【００７２】
【数９】
0003616992.tif 000010
【００７３】
また、Ｎが偶数（Ｎ＝２ｎ，ｎ＝１，２，…）の場合、データ値の座標（ＸＬ，ＹＬ）から文字サイズの高さの半分のｎ倍分の長さだけ右上４５°方向に平行移動した座標（ＸＬＮＥ，ＹＬＮＥ）に文字列領域の左下点を一致させるよう位置設定する。これを繰り返して重なりが回避されるまで位置の再設定が行われる。
【００７４】
【数１０】
0003616992.tif 000011
【００７５】
以上のようなデータ値の表示位置設定処理が全データ値に対して行われ、全データ値の表示位置が登録された後、データ値の表示処理が行われて（ステップ３０９）、折れ線グラフにおけるデータ値表示処理動作は完了する。
【００７６】
ここで、上述の如く種々のグラフのデータ値表示処理動作及びこの表示処理動作を実行してデータ値を表示するグラフ表示システムについて説明したが、この表示処理動作を実行する手段としては、上記のグラフ表示システムに限ったことではなく、本発明の表示処理動作を行うプログラムを作成し、このプログラムに基づいて表示処理動作を実行させるようにしても良い。このプログラムは、具体的には、コンピュータに、グラフデータに基づきグラフ本体を作成させる機能と、前記グラフデータと文字パラメータデータとに基づき各データ値を表示する際に必要とする文字列領域の大きさを算出させる機能と、各データ値の文字列領域の表示位置を設定及び再設定させる機能と、その設定した位置の位置情報を記憶部に登録させる機能と、その登録された各データ値の表示位置情報に基づき、全データ値に対してグラフ上への表示処理を行わせる機能とを実現させるためのものである。また必要に応じて、登録された全データの表示位置情報に基づき、グラフと文字列領域とを結ぶ引き出し線を表示するための引き出し線表示処理を行わせる機能をも実現させるようにすることもできる。
【００７７】
【発明の効果】
以上述べたように、本発明によれば、種々のグラフを作成する際、文字サイズを変更したり、データ値の表示位置を手動で調整することなく、相互のデータ値の重なりが自動的に回避され、各データ値をグラフに直接表示することができるため、見やすいグラフが自動的に作成される。
【図面の簡単な説明】
【図１】本発明のグラフ表示システムのブロック構成図である。
【図２】本発明における文字列領域を説明するための図である。
【図３】本発明の第一実施形態の円グラフにおけるデータ値の表示処理動作を説明するフローチャートである。
【図４】図３におけるデータ値の表示位置設定の処理動作を説明するフローチャートである。
【図５】第一実施形態における円グラフの扇形領域内部に文字列領域を位置設定する処理動作を説明するための図である。
【図６】第一実施形態における扇形領域内部へ文字列領域を位置設定した状態を示す図である。
【図７】第一実施形態における扇形領域内部へ文字列領域を位置設定できない状態を示す図である。
【図８】第一実施形態における扇形領域外部へ文字列領域を位置設定する処理動作を説明するための図である。
【図９】第一実施形態における扇形領域外部へ文字列領域を位置設定した状態を説明するための図である。
【図１０】第一実施形態における扇形領域外部で文字列領域の位置を再設定する処理動作を説明するための図である。
【図１１】ドーナツ状グラフに文字列領域を位置設定する処理動作を説明するための図である。
【図１２】本発明の第二実施形態の棒グラフの一例を示す図である。
【図１３】第二実施形態の棒グラフにおけるデータ値の表示処理動作を説明するフローチャートである。
【図１４】第二実施形態の棒グラフに文字列領域を位置設定する処理動作を説明するための図である。
【図１５】第二実施形態の棒グラフにおいて文字列領域の位置を再設定する処理動作を説明するための図である。
【図１６】本発明の第三実施形態の折れ線グラフの一例を示す図である。
【図１７】第三実施形態の折れ線グラフにおけるデータ値の表示処理動作を説明するフローチャートである。
【図１８】第三実施形態のパターン１における表示位置設定動作を説明するための図である。
【図１９】第三実施形態のパターン２における表示位置設定動作を説明するための図である。
【図２０】第三実施形態のパターン２における表示位置設定動作を説明するための図である。
【図２１】第三実施形態のパターン２における表示位置設定動作を説明するための図である。
【図２２】第三実施形態のパターン３における表示位置設定動作を説明するための図である。
【図２３】第三実施形態のパターン３における表示位置設定動作を説明するための図である。
【図２４】第三実施形態のパターン３における表示位置設定動作を説明するための図である。
【図２５】第三実施形態のパターン４における表示位置設定動作を説明するための図である。
【図２６】第三実施形態のパターン５における表示位置設定動作を説明するための図である。
【符号の説明】
１…グラフ表示システム、１０…記憶装置、１１…グラフデータ記憶部、１２…パラメータ記憶部、２０…グラフ作成装置、２１…グラフ本体作成部、２２…データ値処理部、２３…文字列領域算出部、２４…文字列領域位置設定部、２５…位置情報記憶部、２６…文字列領域表示処理部、２７…引き出し線表示処理部、３０…表示装置。
【図１】
0003616992.tif 000012
【図２】
0003616992.tif 000013
【図３】
0003616992.tif 000014
【図４】
0003616992.tif 000015
【図５】
0003616992.tif 000016
【図６】
0003616992.tif 000017
【図７】
0003616992.tif 000018
【図８】
0003616992.tif 000019
【図９】
0003616992.tif 000020
【図１０】
0003616992.tif 000021
【図１１】
0003616992.tif 000022
【図１２】
0003616992.tif 000023
【図１３】
0003616992.tif 000024
【図１４】
0003616992.tif 000025
【図１５】
0003616992.tif 000026
【図１６】
0003616992.tif 000027
【図１７】
0003616992.tif 000028
【図１８】
0003616992.tif 000029
【図１９】
0003616992.tif 000030
【図２０】
0003616992.tif 000031
【図２１】
0003616992.tif 000032
【図２２】
0003616992.tif 000033
【図２３】
0003616992.tif 000034
【図２４】
0003616992.tif 000035
【図２５】
0003616992.tif 000036
【図２６】
0003616992.tif 000037