(57)【要約】【課題】本発明は、狭い表示領域を有効活用し、データ間の関係や階層関係を容易に把握し、下層のデータを複数同時に展開して目的のデータを見つけ易い階層データ表示プログラム，階層データ表示方法，階層データ表示装置を提供することを目的とする。【解決手段】本発明は、計算機システムを、表示装置３に表示させる階層構造を有するデータを保存する階層データ記憶部２から、入力装置１より入力されたユーザの要求に基づき、データを取得する階層データ取得手段５と、階層データ取得手段５が取得したデータを、一つの第１階層に有するデータ数に応じて所定の表示領域内に格子点を形成し、データに対応するノードを格子点に対して所定の順序でジグザグ状に配置し、且つ当該ジグザグ状に配置したノードのそれぞれを線分で結合して表示装置３に表示させる配置位置算定・表示手段６として機能させるための階層データ表示プログラムである。【選択図】図２２
2009026160.tif 000002
【特許請求の範囲】
【請求項１】
計算機システムを、
表示装置に表示させる階層構造を有するデータを保存する階層データ記憶部から、入力装置より入力されたユーザの要求に基づき、前記データを取得する階層データ取得手段と、
前記階層データ取得手段が取得した前記データを、一つの第１階層に有するデータ数に応じて所定の表示領域内に格子点を形成し、前記データに対応するノードを前記格子点に対して所定の順序でジグザグ状に配置し、且つ当該ジグザグ状に配置した前記ノードのそれぞれを線分で結合して前記表示装置に表示させる配置位置算定・表示手段として機能させるための階層データ表示プログラム。
【請求項２】
請求項１に記載の階層データ表示プログラムであって、
前記配置位置算定・表示手段は、前記第１階層において選択した前記ノードの下層に位置する第２階層の前記データを、選択した前記ノードのジグザグ方向の向きに応じて予め定められた表示対象領域に、前記第１階層の前記データの表示方法を再帰的に適用して表示することを特徴とする階層データ表示プログラム。
【請求項３】
請求項１に記載の階層データ表示プログラムであって、
前記配置位置算定・表示手段は、前記第１階層において選択した前記ノードの下層に位置する第２階層の前記データを表示する際に、選択した前記ノードのジグザグ方向の向きに応じて予め定められた表示対象領域が前記表示領域にない場合、
前記ノードを配置可能な格子点を所定の方向に追加して前記第１階層の前記ノードを再配置することで前記表示対象領域を確保し、且つ確保した前記表示対象領域に前記第２階層の前記データを、前記第１階層の前記データの表示方法を再帰的に適用して表示することを特徴とする階層データ表示プログラム。
【請求項４】
請求項１に記載の階層データ表示プログラムであって、
前記配置位置算定・表示手段は、前記第１階層において選択した前記ノードの下層に位置する第２階層の前記データを表示する際に、選択した前記ノードのジグザグ方向の向きに応じて予め定められた表示対象領域が前記表示領域にない場合、
所定の探索基準に基づき選択した前記ノードに隣接する前記表示領域内の領域を探索し、当該領域を前記表示対象領域として確保し、且つ前記第２階層の前記データを確保した前記表示対象領域に、前記第１階層の前記データの表示方法を再帰的に適用して表示することを特徴とする階層データ表示プログラム。
【請求項５】
請求項２乃至請求項４のいずれか１つに記載の階層データ表示プログラムであって、
前記配置位置算定・表示手段は、前記第１階層において複数の選択した前記ノードのそれぞれに対して前記第２階層の前記データを表示することを特徴とする階層データ表示プログラム。
【請求項６】
請求項５に記載の階層データ表示プログラムであって、
前記配置位置算定・表示手段は、前記第２階層の前記データに対応するノード位置をノード配置位置一時記憶部に、選択した前記第１階層の前記ノード毎に記憶させ、当該前記ノード位置を選択した前記第１階層の前記ノードの数で平均化して前記第２階層の前記データを表示することを特徴とする階層データ表示プログラム。
【請求項７】
請求項２乃至請求項６のいずれか１つに記載の階層データ表示プログラムであって、
前記配置位置算定・表示手段は、前記第２階層の前記データに対応する前記ノードを選択し、当該前記ノードの下層に位置する第３階層の前記データを、請求項２乃至請求項４のいずれか１つに記載した前記第２階層の前記データの表示方法を再帰的に適用して表示することを特徴とする階層データ表示プログラム。
【請求項８】
請求項１乃至請求項７のいずれか１つに記載の階層データ表示プログラムであって、
前記配置位置算定・表示手段は、前記第１階層において選択した前記ノードと、当該前記ノードの下層に位置する前記第２階層以下の前記データのみを前記表示領域に拡大して表示することを特徴とする階層データ表示プログラム。
【請求項９】
請求項１乃至請求項８のいずれか１つに記載の階層データ表示プログラムであって、
前記配置位置算定・表示手段は、各階層のデータに関する属性を、視覚的な手段を用いて前記ノードに代えて表示することを特徴とする階層データ表示プログラム。
【請求項１０】
計算機システムにおいて階層構造を有するデータを表示する階層データ表示方法であって、
表示装置に表示させる階層構造を有する前記データを保存する階層データ記憶部から、入力装置より入力されたユーザの要求に基づき、階層データ取得手段が前記データを取得し、
前記配置位置算定・表示手段が前記階層データ取得手段で取得した前記データを、一つの第１階層に有するデータ数に応じて所定の表示領域内に格子点を形成し、前記データに対応するノードを前記格子点に対して所定の順序でジグザグ状に配置し、且つ当該ジグザグ状に配置した前記ノードのそれぞれを線分で結合して表示することを特徴とする階層データ表示方法。
【請求項１１】
ユーザからの操作に基づき要求を入力する入力装置と、
階層構造を有するデータ及び処理結果を表示させる表示装置と、
前記表示装置に表示させる階層構造を有する前記データを保存する階層データ記憶部と、
前記入力装置より入力されたユーザの要求に基づき、前記階層データ記憶部から前記データを取得する階層データ取得手段と、前記階層データ取得手段で取得した前記データを、一つの第１階層に有するデータ数に応じて所定の表示領域内に格子点を形成し、前記データに対応するノードを前記格子点に対して所定の順序でジグザグ状に配置し、且つ当該ジグザグ状に配置した前記ノードのそれぞれを線分で結合して前記表示装置に表示させる配置位置算定・表示手段とを有する計算機とを備える階層データ表示装置。
【請求項１２】
請求項１１に記載の階層データ表示装置であって、
前記第２階層の前記データに対応するノード位置を選択した前記第１階層の前記ノード毎に記憶するノード配置位置一時記憶部をさらに備え、
前記配置位置算定・表示手段は、前記ノード配置位置一時記憶部に記憶した前記ノード位置を基に、選択した前記第１階層の前記ノードの数で平均化して前記第２階層の前記データを表示することを特徴とする階層データ表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムにおいて階層構造を有するデータを表示する階層データ表示プログラム，階層データ表示方法，階層データ表示装置に関するものである。
【背景技術】
【０００２】
計算機システムであるコンピュータのファイル管理システムやネットワーク管理システムでは、従来より様々な方法で階層化されたデータ（階層データ）を表示するマンマシンインタフェースが利用されてきた。具体的に、従来のマンマシンインタフェースでは、垂直型のツリーメニュや階層毎のウインドウ表示等を用いて階層データの閲覧を行っていた。
【０００３】
例えば、特許文献１の表示方法では、上下二段の領域に分割したダイアログの内において、上段のダイアログに階層情報を表示させる。この上段のダイアログは、上位階層から順次たどってきたこれまでの階層のリストを表示する。一方、下段のダイアログは、上段のダイアログで選択している階層内に含まれるデータ（ファイルやフォルダ）を表示する。なお、上下それぞれのダイアログには右端にスライダーが設けられており、当該スライダーを上下させることで、各ダイアログの表示領域を超えた内容を確認することができる。
【０００４】
また、特許文献２の表示方法では、階層データをベン図状に表示する。当該表示方法では、一つの表示領域を同一階層に属するデータと、下層に属するデータとに分割する。さらに、当該表示方法では、階層の深さに応じて、データを表すアイコンの大きさを小さく且つ背景色を濃くして表示する。
【０００５】
また、マイクロソフト社製のＷｉｎｄｏｗｓ（登録商標）等のオペレーティングシステムでは、階層データを表示するために木構造を表示する機能を有している。例えば、Ｗｉｎｄｏｗｓ（登録商標）の表示方法では、ウインドウの表示領域を左右の領域に分割し、左の領域に階層を木構造で表示し、右の領域に選択している階層内に含まれるデータ（ファイルやフォルダ）を表示する。なお、左右それぞれの領域には右端にスライダーが設けられており、当該スライダーを上下させることで、各領域の表示領域を超えた内容を確認することができる。
【０００６】
【特許文献１】特開２０００−３２４７号公報、図６
【特許文献２】特開平８−２６３２５５号公報、図１
【発明の開示】
【発明が解決しようとする課題】
【０００７】
階層データを表示する従来の表示方法では、無関係なデータ等の情報を非表示にすることにより、表示領域の浪費を削減している。しかし、従来の表示方法では、表示を見ただけでデータの階層関係を理解することが困難である。
【０００８】
そこで、本発明は、上記のような課題を解決するためになされたもので、狭い表示領域を有効活用し、データ間の関係や階層関係を容易に把握し、下層のデータを複数同時に展開して目的のデータを見つけ易い階層データ表示プログラム，階層データ表示方法，階層データ表示装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る解決手段は、計算機システムを、表示装置に表示させる階層構造を有するデータを保存する階層データ記憶部から、入力装置より入力されたユーザの要求に基づき、データを取得する階層データ取得手段と、階層データ取得手段が取得したデータを、一つの第１階層に有するデータ数に応じて所定の表示領域内に格子点を形成し、データに対応するノードを格子点に対して所定の順序でジグザグ状に配置し、且つ当該ジグザグ状に配置したノードのそれぞれを線分で結合して表示装置に表示させる配置位置算定・表示手段として機能させるための階層データ表示プログラムである。ここで、ジグザグとは、格子点状にデータを横方向に一直線に並べて垂直方向に一段下げ、逆の横方向に一直線に並べる、という配置を、横方向に左右互い違いに配置する方法をよぶものとする（以下、「ジグザグ」は同様の意味で用いる）。
【発明の効果】
【００１０】
本発明に記載の階層データ表示プログラムは、データに対応するノードを格子点に対して所定の順序でジグザグ状に配置し、且つ当該ジグザグ状に配置したノードのそれぞれを線分で結合して表示するので、限られた表示面積をもつ狭い表示領域であっても、データ間の関係を容易に把握することができる効果を有している。
【発明を実施するための最良の形態】
【００１１】
（実施の形態１）
図１（ａ）（ｂ）に、本実施の形態に係る階層構造を有するデータ（以下、階層データともいう）を表示する階層データ表示方法の表示画面の一例を示す。図１（ａ）に示す表示領域１０１は、対象となる階層データを表示する領域であり、初期状態では属性表示部１０２に示すようにルート（最上位階層）に含まれるデータ（ファイルやフォルダ）が展開され表示されている。また、図１（ａ）に示すノード１０３は個々のデータに対応しており、ルート階層に有するデータ数に応じて表示領域１０１に形成された格子点に配置される。なお、ノード１０３は所定の順序でジグザグ状に配置され、且つ当該ジグザグ状に配置した各ノード１０３間を図１（ａ）に示すような線分１０４で結合して表示している。
【００１２】
さらに、図１（ａ）では、親ノード１０６に対応するデータの下の階層に属するデータを、親ノード１０６の子ノード１０５として表示している。子ノード１０５は親ノード１０６の右下領域に、子ノードの数に応じて表示される。そして、子ノード１０５は所定の順序で、且つ親ノード１０６でのジグザグ方向１０７と同じ方向（右向き）のジグザグ状に配置する。また、当該子ノード１０５のそれぞれを図１（ａ）に示すような線分１０８で結合し、且つ親ノード１０６とも線分１０８で結合する。
【００１３】
図１（ｂ）に示す表示領域１０９では、親ノード１１１の下層に位置するデータを親ノード１１１の左下領域に、当該階層に有するデータ数に応じたノード１１０として表示している。そして、このノード１１０は所定の順序で、且つ親ノード１１１でのジグザグ方向１１２と同じ方向（左向き）のジグザグ状に配置される。また、当該ジグザグ状に配置したノード１１０のそれぞれを図１（ｂ）に示すような線分１１３で結合し、且つノード１１０の親ノード１１１とも線分１１３で結合する。
【００１４】
以上のように、本実施の形態１に係る階層データ表示方法では、階層データを表示領域にジグザグ状に配置し、下層に位置するデータに対しても上層と同様にジグザグ状に配置し再帰的に表示する方法である。
【００１５】
図２に、本実施の形態に係る階層データ表示方法のフローチャートを示す。図２は、階層データ表示方法の内、特にノードをジグザグ状に配置する方法（ノードのジグザグ表示）である。まず、図２に示すステップ２０１では、表示対象とするノードｘを指定する。なお、初期表示の場合、ルートがノードｘとなり、図１（ａ）の場合、親ノード１０６がノードｘとなる。次に、ステップ２０２では、指定したノードｘの下層に位置するデータ数を求めノードの数ｎとして取得する。そして、ステップ２０３では、表示領域内に下層のノードを表示するための表示対象領域Ｒを取得する。なお、初期表示の場合、表示領域全体が表示対象領域Ｒとなり、図１（ａ）の場合、親ノード１０６の右下の空き領域が表示対象領域Ｒとなる。
【００１６】
次に、ステップ２０４では、下層のノードを表示対象領域Ｒに表示することに応じて表示領域内のそれぞれのノードの配置位置を計算する。さらに、ステップ２０５では、配置計算結果に基づいて所定の順序でノードが配置され、各ノードを線分でジグザグ状に結合する。なお、ジグザグは、「右向き」から形成し始めることを標準とするが、逆向きである「左向き」から形成し始めても良い。
【００１７】
次に、本実施の形態に係るノードの配置位置の計算のフローチャートを図３に示す。図３に示すフローチャートは、図２に示すステップ２０４の「配置位置の計算」の処理内容を示している。まず、ステップ３０１では、表示しようとする下層の階層内にあるノードの数ｎの平方根ａを求める。そして、ステップ３０２では、求めた平方根ａの値の小数点以下を切り捨てた整数値ｂを求め、当該整数値ｂを表示対象領域Ｒの縦横の格子点数とする。
【００１８】
次に、ステップ３０３では、ノードの数ｎが整数値ｂの二乗と等しいか否かを判断し、等しい場合にはステップ３０４に進む。ステップ３０４では、表示対象領域Ｒを格子点数に応じて分割する。そして、ステップ３０５では、それぞれの格子点にノードを配置し、当該ノードは所定の順番でジグザグ状に配置する。一方、ステップ３０３において等しくない場合はステップ３０７に進む。ステップ３０７では、横方向に格子の数を一つ増やす処理を行う。ステップ３０７の後は、ステップ３０４以降の処理を行う。
【００１９】
次に、本実施の形態に係る階層データ表示方法において、下層のデータを表示する際の処理をより詳しく示したフローチャートを図４に示す。まず、図４に示すステップ４０１では、表示されている階層データから一つのノードを選択し、当該ノードをノードａとする。そして、ステップ４０２では、ノードａでのジグザグ方向の向きを判定する。なお、ジグザグ方向の向きは、図５（ａ）（ｂ）に示すように判定する。例えば、図５（ａ）（ｂ）に示すノード５０１ではジグザグ方向を右向きとし、ノード５０２ではジグザグ方向を左向きと判定する。
【００２０】
次に、図４に示すステップ４０３では、ノードａでのジグザグ方向の向きが右向きか否かを判断し、右向きの場合はステップ４０４に進む。ステップ４０４では、ノードａが表示領域の右端に位置するノードか否かを判断し、右端でない場合はステップ４０５に進む。ステップ４０５では、ノードａが表示領域の下端に位置するノードか否かを判断し、下端でない場合ステップ４０６に進む。ステップ４０６では、右向き通常表示（１）の処理を行う。
【００２１】
一方、ステップ４０５でノードａが表示領域の下端に位置すると判断された場合はステップ４０７に進み、右向き下端表示（５）の処理を行う。また、ステップ４０４でノードａが表示領域の右端に位置すると判断された場合はステップ４０８に進み、ノードａが表示領域の下端に位置するノードか否かを判断する。ステップ４０８でノードａが表示領域の下端に位置しないと判断された場合はステップ４０９に進み、右向き右端表示（３）の処理を行う。一方、ステップ４０８でノードａが表示領域の下端に位置すると判断された場合はステップ４１０に進み、右向き右下端表示（７）の処理を行う。
【００２２】
また、ステップ４０３でノードａでのジグザグ方向の向きが左向きと判断された場合はステップ４１１に進み、ノードａが表示領域の左端に位置するノードか否かを判断する。ステップ４１１でノードａが表示領域の左端に位置しないと判断された場合はステップ４１２に進み、ノードａが表示領域の下端に位置するノードか否かを判断する。ステップ４１２でノードａが表示領域の下端に位置しないと判断された場合はステップ４１３に進み、左向き通常表示（２）の処理を行う。一方、ステップ４１２でノードａが表示領域の下端に位置すると判断された場合はステップ４１４に進み、左向き下端表示（６）の処理を行う。
【００２３】
また、ステップ４１１でノードａが表示領域の左端に位置すると判断された場合はステップ４１５に進み、ノードａが表示領域の下端に位置するノードか否かを判断する。ステップ４１５でノードａが表示領域の下端に位置しないと判断された場合はステップ４１６に進み、左向き左端表示（４）の処理を行う。一方、ステップ４１５でノードａが表示領域の下端に位置すると判断された場合はステップ４１７に進み、左向き左下端表示（８）の処理を行う。
【００２４】
次に、図４に示すステップ４０６，４０７，４０９，４１０，４１３，４１４，４１６，４１７の８つの処理について説明する。まず、図６に、ステップ４０６での右向き通常表示（１）処理のフローチャートを示す。図６に示すステップ６０１では、選択されたノードａの右下の領域を表示対象領域Ｒとして選定する。ここで、右下の領域とは、図７に示す表示領域で説明すると、ノード７０１をノードａとする場合に領域７０２がこれにあたる。次に、ステップ６０２では、表示対象領域Ｒの中心を基準にして表示領域の変更処理を行う。さらに、ステップ６０３では、表示対象領域Ｒ内にノードａの下層に位置するノードを図２に示したステップ２０１以降の処理でジグザグ状に下層のデータを表示する。そして、ステップ６０４では、ノードａとジグザグ表示された下層のノード（最初のノード）とを線分で結合する。
【００２５】
次に、図６に示すステップ６０２での表示領域の変更処理についてさらに詳しく説明する。まず、図８に、表示領域の変更処理のフローチャートを示す。図８に示すステップ８０１では、表示対象領域Ｒの中心を基準にして、各格子の基準線との距離Ｌを求める。ここで、表示対象領域Ｒの中心は、図９に示す表示領域では、中心９０３となる。なお、図９では、ノード９０１がノードａであり、領域９０２が表示対象領域Ｒをそれぞれ表している。また、各格子の基準線との距離Ｌは、例えば、ノード９０４との距離は、ｘ座標についてＬＥＸ１、ｙ座標についてＬＮＹ１であり、ノード９０５との距離は、ｘ座標についてＬＷＸ２、ｙ座標についてＬＳＹ２である。
【００２６】
次に、距離Ｌと数１から各格子の位置を再計算する。
【００２７】
【数１】
2009026160.tif 000003
【００２８】
ここでｘｗｉ，ｘｅｉ，ｙｎｉ，ｙｓｉは表示対象領域Ｒの中心から各格子点までの距離を示す。但し、ｘｗｉは、格子点が表示対象領域Ｒの中心よりもｘ座標がマイナス側にある場合の座標であり、ｘｅｉは、格子点が表示対象領域Ｒの中心よりもｘ座標がプラス側にある場合の座標である。また、ｙｎｉは、格子点が表示対象領域Ｒの中心よりもｙ座標がマイナス側にある場合の座標であり、ｙｓｉは、格子点が表示対象領域Ｒの中心よりもｙ座標がプラス側にある場合の座標である。
【００２９】
また、Ｒｘ，Ｒｙは表示対象領域Ｒの中心の座標の値、ｘｉはｉ本目の格子状の基準線のｘ座標、ｙｉはｉ番目の格子状の基準線のｙ座標である。Ｌ（ｚ）は単調増加関数であり、ＬＷＸｉはｘｗｉ側の表示対象領域Ｒの座標Ｒｘとの距離、ＬＥＸｉはｘｅｉ側の表示対象領域Ｒの座標Ｒｘとの距離、ＬＮＹｉはｙｎｉ側の表示対象領域Ｒの座標Ｒｙとの距離、ＬＳＹｉはｙｓｉ側の表示対象領域Ｒの座標Ｒｙとの距離である。また、ＬＷＸｍａｘはｘｗｉと座標Ｒｘとを結んだ直線とｘｗｉ側の表示対象領域Ｒの端との距離、ＬＥＸｍａｘはｘｅｉと座標Ｒｘとを結んだ直線とｘｅｉ側の表示対象領域Ｒの端との距離、ＬＮＹｍａｘはｙｎｉと座標Ｒｙとを結んだ直線とｙｎｉ側の表示対象領域Ｒの端との距離、ＬＳＹｍａｘはｙｓｉと座標Ｒｙとを結んだ直線とｙｓｉ側の表示対象領域Ｒの端との距離をそれぞれ示す。
【００３０】
図１０は、数１で用いる関数Ｌ（ｚ）を示す図である。関数Ｌ（ｚ）は、図１０に示すような単調増加関数であれば任意のもので良く、例えば数２に示す関数が考えられる。
【００３１】
【数２】
2009026160.tif 000004
【００３２】
図１１に、図９で示した表示領域に対して図８に示す処理を行った結果を示す。図１１では、ノード９０１の右下の領域（表示対象領域Ｒ）９０２を広く確保できるように各格子（ノード）位置が変更されている。
【００３３】
次に、ステップ４１３での左向き通常表示（２）処理のフローチャートを図１２に示す。まず、図１２に示すステップ１２０１では、選択されたノードａの左下の領域を表示対象領域Ｒとして選定する。ここで、左下の領域とは、図７に示す表示領域で説明すると、ノード７０３をノードａとする場合に領域７０４がこれにあたる。次に、ステップ１２０２では、表示対象領域Ｒの中心を基準にして表示領域の変更処理を行う。さらに、ステップ１２０３では、表示対象領域Ｒ内にノードａの下層に位置するノードを図２に示したステップ２０１以降の処理でジグザグ状に下層のデータを表示する。そして、ステップ１２０４では、ノードａとジグザグ表示された下層のノード（最初のノード）とを線分で結合する。なお、ステップ１２０２〜１２０４の処理は、図６に示したステップ６０２〜６０４と同じ処理であるため詳細な説明は省略する。
【００３４】
次に、ステップ４０９での右向き右端表示（３）処理のフローチャートを図１３に示す。まず、ステップ１３０１では、ノードａの右下には領域が取れないので、右端に一列分の格子点を追加する。具体的に説明すると、図１４（ａ）に示す表示領域においてノード１４０１をノードａとして選択した場合、ノード１４０１の右下には領域が取れないので、図１４（ｂ）に示すようにノード１４０１の右側に一列分の格子点を追加（格子点の追加分１４０２）する。格子点の追加分１４０２の追加によりノード１４０１が左側にずれるため、ノード１４０１の右下には領域（表示対象領域Ｒ）１４０３を確保することができる。そして、図１３に示すステップ１３０２では、右端の一列を除いた格子点上にノードを再配置する。さらに、ステップ１３０３では、右向き通常表示（１）と同様の処理を実行する。
【００３５】
次に、ステップ４１６での左向き左端表示（４）処理のフローチャートを図１５に示す。まず、ステップ１５０１では、ノードａの左下には領域が取れないので、左端に一列分の格子点を追加する。そして、図１５に示すステップ１５０２では、左端の一列を除いた格子点上にノードを再配置する。さらに、ステップ１５０３では、左向き通常表示（２）と同様の処理を実行する。
【００３６】
次に、ステップ４０７での右向き下端表示（５）処理のフローチャートを図１６に示す。まず、ステップ１６０１では、ノードａの右下には領域が取れないので、下端に一列分の格子点を追加する。具体的に説明すると、図１７（ａ）に示す表示領域においてノード１７０１をノードａとして選択した場合、ノード１７０１の右下には領域が取れないので、図１７（ｂ）に示すようにノード１７０１の下側に一列分の格子点を追加（格子点の追加分１７０２）する。格子点の追加分１７０２の追加によりノード１７０１が上側にずれるため、ノード１７０１の右下には領域（表示対象領域Ｒ）１７０３を確保することができる。そして、図１６に示すステップ１６０２では、下端の一列を除いた格子点上にノードを再配置する。さらに、ステップ１６０３では、右向き通常表示（１）と同様の処理を実行する。
【００３７】
次に、ステップ４１４での左向き下端表示（６）処理のフローチャートを図１８に示す。まず、ステップ１８０１では、ノードａの左下には領域が取れないので、下端に一列分の格子点を追加する。そして、図１８に示すステップ１８０２では、下端の一列を除いた格子点上にノードを再配置する。さらに、ステップ１８０３では、左向き通常表示（２）と同様の処理を実行する。
【００３８】
次に、ステップ４１０での右向き右下端表示（７）処理のフローチャートを図１９に示す。まず、ステップ１９０１では、ノードａの右下には領域が取れないので、右端及び下端のそれぞれに一列分の格子点を追加する。具体的に説明すると、図２０（ａ）に示す表示領域においてノード２００１をノードａとして選択した場合、ノード２００１の右下には領域が取れないので、図２０（ｂ）に示すようにノード２００１の右側及び下側のそれぞれに一列分の格子点を追加（格子点の追加分２００２）する。格子点の追加分２００２の追加によりノード２００１が左上側にずれるため、ノード２００１の右下には領域（表示対象領域Ｒ）２００３を確保することができる。そして、図１９に示すステップ１９０２では、右端及び下端の一列を除いた格子点上にノードを再配置する。さらに、ステップ１９０３では、右向き通常表示（１）と同様の処理を実行する。
【００３９】
次に、ステップ４１７での左向き左下端表示（８）処理のフローチャートを図２１に示す。まず、ステップ２１０１では、ノードａの左下には領域が取れないので、左端及び下端にそれぞれ一列分の格子点を追加する。そして、図２１に示すステップ２１０２では、左端及び下端の一列を除いた格子点上にノードを再配置する。さらに、ステップ２１０３では、左向き通常表示（２）と同様の処理を実行する。
【００４０】
次に、本実施の形態に係る階層データ表示プログラム及び階層データ表示方法を実現する階層データ表示装置のブロック構成図を図２２に示す。図２２に示す階層データ表示装置は、階層データの表示に係る要求が入力される入力装置１と、階層データを保存している階層データ記憶部２と、階層データを表示するディスプレイなどの表示装置３と、入力装置１と、階層データ記憶部２と表示装置３を制御し、階層データの表示位置の計算などの処理演算を行う計算機４とを備えている。
【００４１】
さらに、図２２に示す計算機４は、階層データ記憶部２に保存されている階層データを取得する階層データ取得部５と、階層データ取得部によって取得された階層データについて、実施の形態１で示した階層データ表示方法に従って、階層データの各ノードの配置位置を算定して階層データをジグザグ状に表示させる配置位置算定・表示手段６を備えている。
【００４２】
図２３に、本実施の形態に係る階層データ表示装置の動作を説明するためのフローチャートを示す。ステップ１０では、入力装置１によって、表示対象の階層データを指定する。ステップ１１では、階層データ取得部５が、階層データ記憶部２から、制定された表示対象の階層データを取得する。そして、階層データ取得部５は、図２の「ノードのジグザグ表示」のステップ２０１の処理を行いルートをノードＸとする。ステップ１２では、図２の「ノードのジグザグ表示」のステップ２０２以降の処理にしたがって、配置位置算定・表示手段６が計算する。ステップ１３では、計算結果を表示装置３に出力する。次にステップ１４に進み、作業を終了する場合は終了し、そうでない場合はステップ１５へ進む。ステップ１５では、入力装置１によって、表示装置３上に表示されているある階層データを指定すると、階層データ取得部５は、図２の「ノードのジグザグ表示」のステップ２０１の処理を行い当該階層データをノードＸと指定する。次にステップ１２へと戻り、同様の処理を繰り返す。
【００４３】
以上のように本実施の形態に係る階層データ表示プログラム及び階層データ表示方法では、階層データをジグザグ状に表示するので、限られた狭い表示領域であっても、表示領域をスクロールさせることなく階層データを表示でき、目的とするデータを見つけ易くなるという効果を有している。また、本実施の形態に係る階層データ表示方法では、所定の方向に格子点を追加してノードを再配置することで表示対象領域を確保するので、下層のデータを表示することができる。
【００４４】
なお、本実施の形態では、ノードをジグザグ状に配置する場合に右向きの方向から開始しているが、本発明はこれに限られず左向きから開始しても良い。また、以下で説明する実施の形態でも同様である。
【００４５】
また、本実施の形態では、データを所定の順序でジグザグ状に配置しているが、この所定の順序として、例えば、データの名称のアルファベットや５０音順、サイズ順、作成日時順などを用いることができる。さらに、本発明では、これら所定の順序の基準を自由に変更することができる。なお、以下で説明する実施の形態でも同様である。
【００４６】
また、本実施の形態では、選択されたノードの下層に位置するデータをすべて表示するように説明したが、本発明はこれに限られず、表示する数を限定するように設定しても良い。なお、以下で説明する実施の形態でも同様である。
【００４７】
また、本実施の形態に係る階層データ表示装置は、配置位置算定・表示手段６を備えているので、上述したように限られた表示面積をもつ狭い表示領域であっても、階層データ間の関係を容易に把握することができる効果を有している。
【００４８】
また、本実施の形態では、表示画面のハードウェアを特に限定しなかったが、電子計算機（パーソナルコンピュータ）の他、表示画面が一般的に狭い携帯電話やＰＤＡ、またカーナビゲーションなどで扱う階層データ表示に適用しても良い。なお、以下で説明する実施の形態でも同様である。
【００４９】
（実施の形態２）
図２４（ａ）（ｂ）に、本実施の形態に係る階層データ表示方法の表示画面の一例を示す。図２４（ａ）に示す表示領域２２０１では、本実施の形態に係る階層データ表示方法を用いて、ノード２２０２の下層に位置するデータを展開し表示している。一方、図２４（ｂ）に示す表示領域２２０３では、実施の形態１に係る階層データ表示方法を用いて、ノード２２０２の下層に位置するデータを展開し表示している。つまり、図２４（ｂ）では、ノード２２０２の下階に位置するデータを表示する場合、図１３に示す右向き右端表示（３）の処理を行っている。そのため、ノード２２０２の右端に一列分の格子点が追加され、ノード２２０２の右下の領域２２０４を確保して下層のデータを表示している。
【００５０】
一方、本実施の形態に係る階層データ表示方法では、ノード２２０２が右端であっても、右端に一列分の格子点を追加するのではなく、ノード２２０２の左下に空いている領域を表示対象領域Ｒとして確保して下層のデータを表示している。以下に、本実施の形態に係る階層データ表示方法について具体的に説明する。
【００５１】
図２５に、本実施の形態に係る階層データ表示方法の一部のフローチャートを示す。なお、図２５に示す処理は、図４に示すフローチャートにおいて右向きの右端あるいは下端に該当する場合に適用されるため、図４に示すステップ４１８，４１９，４２０に至った場合にステップ４０７，４０９，４１０に代えて適用される。
【００５２】
まず、図２５に示すステップ２３０１では、選択されたノードａを中心に隣接する４つの領域に着目し、右下から順に時計回りに探索して、存在し且つ空いている領域を探索する。ステップ２３０２では、ステップ２３０１で探索した結果、空いている領域が存在するか否かを判定し、存在していればステップ２３０３に進み、存在していなければステップ２３０６に進む。そして、ステップ２３０３では探索して得た領域を表示対象領域Ｒとして確保し、当該表示対象領域Ｒに対して図９に示す左向き通常表示（２）の処理を適用する。
【００５３】
さらに、ステップ２３０４では、表示対象領域Ｒがノードａよりも上側に存在しているか否かを判定し、上側にあればステップ２３０５に進み、上側になければ処理を終了する。表示対象領域Ｒがノードａよりも上側にある場合、単純に左向き通常表示（２）の処理を適用しただけであればノードａと下層の最初のデータとが離れて表示されてしまう。そこで、ステップ２３０５では、ノードａの下層に位置するデータの並び（ノードのジグザグ）を上下反転する処理を行い、ノードａと下層の最初のデータとの近接するように表示して線分で結合する。一方、ステップ２３０６では、ステップ２３０１での探索により空いている領域が確保できなかったので、図４に示すステップ４０７，４０９，４１０の処理に戻る。
【００５４】
図２６は、本実施の形態に係る階層データ表示方法における図２５での処理を説明するための図である。まず、図２６でノード２４０１が選択された場合、ノード２４０１の右下に隣接する領域２４０４から、領域２４０５、２４０６、２４０７と時計回りに順に探索する。しかし、図２６に示す領域２４０４は表示領域２４００上には存在しない領域であるため、次に検索される領域２４０５が表示対象領域Ｒとなる。また、図２６でノード２４０２が選択された場合、ノード２４０２の右下に隣接する領域２４０８から、領域２４０９、２４１０、２４１１と時計回りに順に探索する。しかし、図２６に示す領域２４０８は表示領域２４００上には存在しない領域であるため、次に検索される領域２４０９が表示対象領域Ｒとなる。
【００５５】
さらに、図２６でノード２４０３が選択された場合、ノード２４０３の右下に隣接する領域２４１２から、領域２４１３、２４１４、２４１５と時計回りに順に探索する。しかし、図２６に示す領域２４１２，２４１３は表示領域２４００上には存在しない領域であるため、次に検索される領域２４１４が表示対象領域Ｒとなる。なお、領域２４１４が表示対象領域Ｒとなる場合、領域２４１４がノード２４０３よりも上側に存在するため、ステップ２３０５の処理が行われ、ノード２４０３の下層に位置するデータの並び（ノードのジグザグ）が上下反転する。
【００５６】
具体的に、図２７（ａ）（ｂ）を用いてステップ２３０５の上下反転処理について説明する。まず、図２７（ａ）では、ノード２４０３の表示対象領域Ｒである領域２４１４に、左向き通常表示（２）の処理で下層のデータを表示している。そのため、図２７（ａ）では、下層の最初のデータ２５０１がノード２４０３とは離れた位置に表示されることになる。そこで、領域２４１４に対してステップ２３０５の上下反転処理を行うことで、図２７（ｂ）に示すように下層の最初のデータ２５０１がノード２４０３の近傍に位置することになり、下層の最初のデータ２５０１とノード２４０３とが線分で結合する。
【００５７】
図２８に、本実施の形態に係る階層データ表示方法の一部のフローチャートを示す。なお、図２８に示す処理は図２５に示す処理と逆方向であり、図４に示すフローチャートにおいて左向きの左端あるいは下段に該当する場合に適用される。そのため、図２８に示す処理は、図４に示すステップ４２１，４２２，４２３に至った場合にステップ４１４，４１６，４１７に代えて適用される。
【００５８】
まず、図２８に示すステップ２６０１では、選択されたノードａを中心に隣接する４つの領域に着目し、左下から順に反時計回りに探索して、存在し且つ空いている領域を探索する。ステップ２６０２では、ステップ２６０１で探索した結果、空いている領域が存在するか否かを判定し、存在していればステップ２６０３に進み、存在していなければステップ２６０６に進む。そして、ステップ２６０３では探索して得た領域を表示対象領域Ｒとして確保し、当該表示対象領域Ｒに対して図９に示す右向き通常表示（１）の処理を適用する。
【００５９】
さらに、ステップ２６０４では、表示対象領域Ｒがノードａよりも上側に存在しているか否かを判定し、上側にあればステップ２６０５に進み、上側になければ処理を終了する。表示対象領域Ｒがノードａよりも上側にある場合、単純に右向き通常表示（１）の処理を適用しただけであればノードａと下層の最初のデータとが離れて表示されてしまう。そこで、ステップ２６０５では、ノードａの下層に位置するデータの並び（ノードのジグザグ）を上下反転する処理を行い、ノードａと下層の最初のデータとの近接するように表示して線分で結合する。一方、ステップ２６０６では、ステップ２６０１での探索により空いている領域が確保できなかったので、図４に示すステップ４１４，４１６，４１７の処理に戻る。
【００６０】
図２９は、本実施の形態に係る階層データ表示方法における図２８での処理を説明するための図である。まず、図２９でノード２７０１が選択された場合、ノード２７０１の左下に隣接する領域２７０２から、領域２７０３、２７０４、２７０５と反時計回りに順に探索する。しかし、図２９に示す領域２７０２は表示領域２７００上に存在しない領域であるため、次に検索される領域２７０３が表示対象領域Ｒとなる。また、図２９でノード２７０６が選択された場合、ノード２７０６の左下に隣接する領域２７０７から、領域２７０８、２７０９、２７１０と反時計回りに順に探索する。しかし、図２９に示す領域２７０７，２７０８は表示領域２７００上には存在しない領域であるため、次に検索される領域２７０９が表示対象領域Ｒとなる。なお、領域２７０９が表示対象領域Ｒとなる場合、領域２７０９がノード２７０６よりも上側に存在するため、ステップ２６０５の処理が行われ、ノード２７０６の下層に位置するデータの並び（ノードのジグザグ）が上下反転する。
【００６１】
図３０（ａ）（ｂ）は、本実施の形態に係る階層データ表示方法における図２５及び図２８での処理を説明するための図である。まず、図３０（ａ）でノード２８０１が選択された場合、ノード２８０１の右下に隣接する領域２８０２から、領域２８０３、２８０４、２８０５と時計回りに順に探索する。しかし、図３０（ａ）に示す領域２８０２，２８０３は表示領域２８００上に存在しない領域であるため、次に検索される領域２８０４が表示対象領域Ｒとなる。また、図３０（ｂ）でノード２８１１が選択された場合、ノード２８１１の左下に隣接する領域２８１２から、領域２８１３、２８１４、２８１５と反時計回りに順に探索する。しかし、図３０（ｂ）に示す領域２８１２，２８１３は表示領域２８１０上には存在しない領域であるため、次に検索される領域２８１４が表示対象領域Ｒとなる。
【００６２】
次に、本実施の形態に係る階層データ表示プログラム及び階層データ表示方法を実現する階層データ表示装置も図２２に示すブロック構成図となる。なお、図２２に示す構成については、実施の形態１で説明したため詳細な説明は省略する。また、本実施の形態に係る階層データ表示装置の動作も図２３に示すフローチャートで説明でき、ステップ１２で、配置位置算定・表示手段６が図２５等に従って処理を行う。
【００６３】
以上のように、本実施の形態に係る階層データ表示プログラム及び階層データ表示方法では、右端、左端ならびに下端に位置するノードについて下層に位置するデータを表示させる場合、新たに格子点を一列追加する必要がないため、表示領域をより有効に活用して階層データを表示することができる効果を有している。
【００６４】
（実施の形態３）
図３１に、本実施の形態に係る階層データ表示方法の表示画面の一例を示す。実施の形態１では、選択するノードは一つであったが、本実施の形態では、図３１に示すように複数のノードを選択して、当該ノードの下層に位置するデータを表示するように構成している。図２７（ａ）（ｂ）では、ノード２９０１とノード２９０２とが選択され、それぞれのノードの下層に位置するデータ２９０３，２９０４が図４に示した処理により表示されている。
【００６５】
図３２に、本実施の形態に係る階層データ表示方法のフローチャートを示す。まず、図３２に示すステップ３００１では、選択されたノードａについて、図４に示すステップ４０２以下の処理を適用して下層のデータを展開した場合の各ノードの座標値を計算する。そして、ステップ３００２では、各ノードの座標及び、選択されたノード数の累積数を記憶する。次にステップ３００３では、ノードがさらに選択されて当該ノードの下層のデータを展開するか否かを判定し、展開しない場合はステップ３００４に進み、展開する場合はステップ３００５に進む。ステップ３００４では、記憶された各ノードの座標に対して、選択されたノードの累積数で平均値をとり（平均化処理）、当該平均値が選択された複数のノードを同時に展開した場合の各ノードの座標として階層データを表示し、処理を終了する。一方、ステップ３００５では、各ノードの座標値を格子点状の初期状態にリセットし、ステップ３００１へ戻って、新たに選択されたノードａに対して、図４に示すステップ４０２以下の処理を適用して下層のデータを展開した場合の各ノードの座標を計算する。以下、３００２へ進んで処理を継続する。
【００６６】
次に、本実施の形態に係る階層データ表示プログラム及び階層データ表示方法を実現する階層データ表示装置のブロック構成図を図３３に示す。図３３に示す階層データ表示装置では、図２２で示した階層データ表示装置に対して、ノード配置位置一時記憶部７を備えるようにしたものである。ノード配置位置一時記憶部７は、選択されたノードが複数ある場合について、選択されたノードが一つの場合の全表示ノードの配置位置を一時的に記憶するためのものである。ノード配置位置一時記憶部７は、本実施の形態で示したステップ３００２におけるノードの位置の記憶に利用される。
【００６７】
次に、本実施の形態に係る階層データ表示装置の動作について説明する。本装置は、図３２で示した処理を実施するものである。ステップ３００１は図２３で示した処理で実施する。次に、ステップ３００２では、各ノードの座標ならびに選択されたノード数の累積数を、ノード配置位置一時記憶部７に記憶する。さらにステップ３００４においては、ノード配置位置一時記憶部７に保存された座標値と選択されたノードの累積値をもとに、配置位置算定・表示手段６が計算を実行し、表示装置３に表示する。またステップ３００５で各ノードの座標値をリセットする場合、ノード配置位置一時記憶部７に保存されているデータは消去される。
【００６８】
以上のように本実施の形態に係る階層データ表示プログラム及び階層データ表示方法では、同一階層内で、同時に複数のノードを選択して下層のデータを展開して表示できるようにしたので、限られた表示領域を有効活用して、より効率的に階層データを表示できる効果を有する。
【００６９】
また、本実施の形態に係る階層データ表示装置では、ノード配置位置一時記憶部７を備えているので、上述したように限られた表示面積をもつ狭い表示領域であっても、階層データ間の複数の階層の下に存在するデータの関係を容易に把握することができる効果を有している。
【００７０】
（実施の形態４）
図３４（ａ）に、本実施の形態に係る階層データ表示方法の表示画面の一例を示す。実施の形態２では、選択するノードは一つであったが、本実施の形態では、図３４（ａ）に示すように複数のノードを選択して、当該ノードの下層に位置するデータを表示するように構成している。また、実施の形態３では、複数のノードを選択する構成について説明しているが、それぞれの選択したノードについては図４に示す処理が行われるため、右端や左端のノードを選択した場合、それぞれ一列分の格子を追加して階層データを表示していた（図３４（ｂ））。
【００７１】
一方、図３４（ａ）は本実施の形態に関わる階層データ表示方法の例であり、表示領域３１０１に表示したジグザグ状の階層データの内、ノード３１０２，３１０３を選択した場合に、下層のデータ３１０４，３１０５を表示した例である。図３４（ａ）の表示では、図３４（ｂ）と異なり、下層のデータ３１０４，３１０５を表示するために右端及び左端に一列分の格子を追加することなしに下層のデータ３１０４，３１０５を表示している。
【００７２】
図３５に、本実施の形態に係る階層データ表示方法の一部のフローチャートを示す。まず、ステップ３２０１では、選択された複数のノードのそれぞれに対して、図４に示すステップ４０１以下の処理を適用する。次に、ステップ３２０２では、図４に示す処理で右向き右端あるいは下端の場合、つまりステップ４１８，４１９，４２０に至ったか否かについて判断する。ステップ３２０２で右向き右端あるいは下端の場合と判断された場合、ステップ３２０３に進み、図２５で示した右向き右端回転表示の処理を実行する。一方、ステップ３２０２で右向き右端あるいは下端の場合でないと判断された場合、ステップ３２０４に進み、図４に示す処理で左向き左端あるいは下端の場合、つまりステップ４２１，４２２，４２３に至ったか否かについて判断する。ステップ３２０４で左向き左端あるいは下端の場合と判断された場合、ステップ３２０５に進み、図２８で示した左向き左端回転表示の処理を実行する。ステップ３２０４で判定が偽のときは、次のステップ３２０６へ進む。
【００７３】
次に、ステップ３２０６では、選択された複数のノードのそれぞれに対して、上述の処理を適用して下層のデータを展開した場合の各ノードの座標を計算し、選択されたノード別に、各ノードの座標を記憶する。次に、ステップ３２０７では、ノードをさらに選択して、当該ノードの下層のデータを展開するか否かを判定し、展開しない場合はステップ３２０８に進み、展開する場合はステップ３２０９に進む。ステップ３２０８では、記憶された各ノードの座標に対して選択されたノードの数で平均値を取り（平均化処理）、当該平均値が選択された複数のノードを同時に展開した場合の各ノードの座標として階層データを表示し、処理を終了する。一方、ステップ３２０９では、別のノードをさらに選択して下層のデータを展開し表示する場合、全体のノード座標を初期状態にリセットして、ステップ３２０１へ戻って処理を続ける。
【００７４】
次に、本実施の形態に係る階層データ表示プログラム及び階層データ表示方法を実現する階層データ表示装置も図３３に示すブロック構成図となる。なお、本実施の形態に係るノード配置位置一時記憶部７は、本実施の形態で示したステップ３２０６におけるノードの位置の記憶に利用される。また、本実施の形態に係る階層データ表示装置の動作は、図３５に示す処理以外は基本的に実施の形態３で説明した動作と同じであるため説明を省略する。
【００７５】
以上のように本実施の形態に係る階層データ表示プログラム及び階層データ表示方法では、同一階層内で、同時に複数のノードを展開して階層データを表示する場合に、右端、左端、あるいは下端に位置するノードの下層のデータを表示するのに、新たに格子点を一列追加する必要がないので、限られた表示領域をより有効活用して、階層データを表示できるという効果を有する。
【００７６】
（実施の形態５）
図３６に、本実施の形態に係る階層データ表示方法の表示画面の一例を示す。実施の形態３では、同一階層内で複数のノードを選択できる構成であったが、本実施の形態では、図３６に示すように異なる階層のデータを表示するように構成している。図３６では、ノード３３０１を選択することで、ノード３３０２を含む下層（第２層）のデータが展開され、さらにノード３３０２を選択することで、ノード３３０２の下層（第３層）に位置するデータ３３０３が展開され表示されている様子が示されている。
【００７７】
図３７に、本実施の形態に係る階層データ表示方法のフローチャートを示す。まず、図３７に示すステップ３４０１では、選択された複数のノードのそれぞれに対して、図４に示すステップ４０１以下の処理を適用して下層（第２層）のデータを展開する。そして、ステップ３４０２では、下層（第２層）のデータに対応するノードをさらに選択して、当該ノードの下層（第３層）のデータを展開し表示するか否かを判断し、展開する場合はステップ３４０３に進み、展開しない場合は処理を終了する。ステップ３４０３では、下層（第３層）のデータを表示するための表示対象領域Ｒとして確保するために、図８に示した処理と同様の処理を行い、処理３４０１へ戻って処理を続ける。
【００７８】
次に、本実施の形態に係る階層データ表示プログラム及び階層データ表示方法を実現する階層データ表示装置も図２２に示すブロック構成図となる。なお、図２２に示す構成については、実施の形態１で説明したため詳細な説明は省略する。また、本実施の形態に係る階層データ表示装置の動作も図２３に示すフローチャートで説明でき、ステップ１２で、配置位置算定・表示手段６が図３７等に従って処理を行う。
【００７９】
以上のように本実施の形態に係る階層データ表示プログラム及び階層データ表示方法では、異なる階層に位置するデータも展開し表示できるようにしたので、限られた表示領域をより有効活用して、階層データを表示できるという効果を有する。なお、本実施の形態では、一つノードの下層（第３層）のデータを展開し表示していたが、実施の形態３で示したように複数のノードの下層（第３層）のデータを展開し表示しても良い。また、本実施の形態では、下層（第３層）のデータまでの展開を示したが、本発明はこれに限られず、さらに下層（第４，５，・・・層）のデータを展開しても良い。
【００８０】
（実施の形態６）
図３８（ａ）に、本実施の形態に係る階層データ表示方法の表示画面の一例を示す。実施の形態５では異なる階層のノードを表示する構成を示したが、本実施の形態では、当該構成に実施の形態２，４で示した選択されたノードが右端や左端，下端の場合に空いている空間を見つけて階層データを表示する処理をさらに適用した構成である。
【００８１】
図３８（ａ）では、表示領域３５０１に表示したジグザグ状の階層データの内、ノード３５０２を選択してすることで、ノード３５０３を含む下層（第２層）のデータが展開され、さらにノード３５０３を選択することで、ノード３５０３の下層（第３層）に位置するデータ３５０４が展開され表示されている様子が示されている。また、図３８（ａ）は、図３８（ｂ）と異なり、下層（第３層）のデータ３５０４を表示するために右端に一列分の格子を追加することなしに下層（第３層）のデータ３５０４を表示している。
【００８２】
図３９に、本実施の形態に係る階層データ表示方法のフローチャートを示す。まず、図３９に示すステップ３６０１では、選択された複数のノードのそれぞれに対して、図３５に示すステップ３２０１以下の処理を適用して下層（第２層）のデータを展開する。そして、ステップ３６０２では、下層（第２層）のデータに対応するノードをさらに選択して、当該ノードの下層（第３層）のデータを展開し表示するか否かを判断し、展開する場合はステップ３６０３に進み、展開しない場合は処理を終了する。ステップ３６０３では、下層（第３層）のデータを表示するための表示対象領域Ｒとして確保するために、図８に示した処理と同様の処理を行い、処理３６０１へ戻って処理を続ける。
【００８３】
次に、本実施の形態に係る階層データ表示プログラム及び階層データ表示方法を実現する階層データ表示装置も図３３に示すブロック構成図となる。なお、本実施の形態に係る階層データ表示装置の動作は、図３９に示した処理以外は基本的に実施の形態３で説明した動作と同じであるため説明を省略する。
【００８４】
以上のように本実施の形態に係る階層データ表示プログラム及び階層データ表示方法では、異なる階層のデータも複数展開し表示することができるとともに、右端、左端、及び下端に位置するノードの下層のデータを表示する際に、新たに格子点を一列追加する必要がないので、限られた表示領域をより有効活用して、階層データを表示できるという効果を有する。なお、本実施の形態では、一つノードの下層（第３層）のデータを展開し表示していたが、実施の形態４で示したように複数のノードの下層（第３層）のデータを展開し表示しても良い。また、本実施の形態では、下層（第３層）のデータまでの展開を示したが、本発明はこれに限られず、さらに下層（第４，５，・・・層）のデータを展開しても良い。
【００８５】
（実施の形態７）
図４０は、本実施の形態に係る階層データ表示方法の表示画面の一例を示す。図４０では、実施の形態１乃至実施の形態６に示した処理を統合し、同一階層の複数のノードや異なる階層のノードの展開を可能とした階層データ表示方法を示している。例えば、図４０では、ノード３７０１がさらに下層のデータを展開しているノードを示している。なお、本実施の形態に係る階層データ表示プログラム及び階層データ表示方法を実現する階層データ表示装置も図２２又は図３３に示すブロック構成図となる。
【００８６】
以上のように本実施の形態に係る階層データ表示プログラム及び階層データ表示方法では、階層データの様々なノードで下層のデータを展開して表示できるようにしているので、限られた表示領域を有効活用して、階層データの様々な階層のノード（データ）を同時に表示できるという効果を有している。
【００８７】
（実施の形態８）
図４１は、本実施の形態に係る階層データ表示方法の表示画面の一例を示す。上述の実施の形態では、与えられた表示領域内にすべての階層データを表示対象としていた。つまり、階層のルート（根ノード）以下の階層全体を表示対象としていた。しかし、本実施の形態に係る階層データ表示方法では、図４１に示すように表示するノードを選択（例えばノード６（書類））して、当該ノード以下を表示領域の全体に表示するように自由に変更できる構成である。
【００８８】
図４１に示すノード３８０１が図４０に示すノード３７０２に相当しており、表示領域３８０２の表示は、ノード３８０１が選択されることで、ノード３８０１の下層のデータが全体に表示される。図４０では、表示領域３７０３にルート以下の階層全体を表示していたが、図４１では表示領域３８０２にノード３８０１（３７０２）以下の階層データのみを表示する。なお、下層のデータ３８０３は、図４０に示す下層のデータ３７０４に対応する。また、表示されている階層を区別するために、図４０では属性表示部３７０５にルートと表示されていたが、図４１では属性表示部３８０４のようにノード６（書類）が表示されている。当該属性表示部３８０４には、選択したノードのノード名（ファイルシステムならばフォルダ名）などの属性が表示される。なお、本実施の形態に係る階層データ表示プログラム及び階層データ表示方法を実現する階層データ表示装置も図２２又は図３３に示すブロック構成図となる。
【００８９】
以上のように本実施の形態に係る階層データ表示プログラム及び階層データ表示方法では、階層データの全体ではなく、選択したノード以下の階層データを表示領域全体に拡大して表示するので、階層データ内の注目箇所をより詳細に表示できる効果を有する。
【００９０】
（実施の形態９）
図４２（ａ）（ｂ）は、本発明に係る階層データ表示方法をデータ検索表示画面に適用した例を説明するための表示例である。図４２（ａ）に示す画面３９０１は検索前、図４２（ｂ）に示す画面３９０２は検索後の表示例をそれぞれ示している。図４２（ａ）に示す文字入力欄３９０３は、検索のための単語（この例ではファイル名）を入力する蘭であり、この欄に検索したい単語を入力後に検索実行ボタン３９０４を押下する。これにより、階層データ内から文字入力欄３９０３に入力した単語と一致するデータ（この例ではファイル名に入力した単語が含まれるデータ）を検索する。そして、表示結果３９０２では、ノード３９０５が検索結果に該当するデータである。従来のデータ検索表示画面では一覧形式で検索結果のデータが表示されるだけであったが、図４２（ｂ）に示すデータ検索表示画面では、階層関係も同時に表示することができる。なお、本実施の形態に係る階層データ表示プログラム及び階層データ表示方法を実現する階層データ表示装置も図２２又は図３３に示すブロック構成図となる。
【００９１】
以上のように本実施の形態では、本発明に係る階層データ表示プログラム及び階層データ表示方法をデータ検索表示画面に適用するので、検索結果のデータをそれが属する階層とその周辺データとを同時に一覧表示でき、検索結果のデータと関連する周辺データとを同時に見つけることができる効果を有する。
【００９２】
（実施の形態１０）
図４３は、本実施の形態に係る階層データ表示方法の表示画面の一例を示す。上述の実施の形態では、階層データを長方形でノードを表示したが、本実施の形態では、当該ノードを、対象システムに合わせてアイコンを利用して表示する。
【００９３】
図４３に示す例では、計算機のファイルシステムの階層を表示する例であり、ノードの表示に変えてフォルダ４００１（ディレクトリ）や、ファイル４００２で表示している。なお、図４３に示す例ではノードの種類でアイコンを区別したが、ノードに対応づけられているデータの属性に応じてアイコンや色を変更するようにしても良い。なお、本実施の形態に係る階層データ表示プログラム及び階層データ表示方法を実現する階層データ表示装置も図２２又は図３３に示すブロック構成図となる。
【００９４】
以上のように本実施の形態に係る階層データ表示プログラム及び階層データ表示方法では、階層データのノードに対応づけられた各データの種類や属性に応じて、表示にアイコンを利用するので、階層データをよりわかりやすく表示できるという効果を有する。
【図面の簡単な説明】
【００９５】
【図１】本発明の実施の形態１に係る階層データ表示方法の表示画面の一例を示す図である。
【図２】本発明の実施の形態１に係る階層データ表示方法のフローチャートである。
【図３】本発明の実施の形態１に係る階層データ表示方法のフローチャートである。
【図４】本発明の実施の形態１に係る階層データ表示方法のフローチャートである。
【図５】本発明の実施の形態１に係る階層データ表示方法のジグザグ方向の向きを説明するための図である。
【図６】本発明の実施の形態１に係る階層データ表示方法のフローチャートである。
【図７】本発明の実施の形態１に係る階層データ表示方法の表示対象領域を説明するための図である。
【図８】本発明の実施の形態１に係る階層データ表示方法のフローチャートである。
【図９】本発明の実施の形態１に係る階層データ表示方法の表示対象領域を説明するための図である。
【図１０】本発明の実施の形態１に係る階層データ表示方法の表示対象領域の計算に用いる関数を示す図である。
【図１１】本発明の実施の形態１に係る階層データ表示方法の表示対象領域を説明するための図である。
【図１２】本発明の実施の形態１に係る階層データ表示方法のフローチャートである。
【図１３】本発明の実施の形態１に係る階層データ表示方法のフローチャートである。
【図１４】本発明の実施の形態１に係る階層データ表示方法の表示対象領域を説明するための図である。
【図１５】本発明の実施の形態１に係る階層データ表示方法のフローチャートである。
【図１６】本発明の実施の形態１に係る階層データ表示方法のフローチャートである。
【図１７】本発明の実施の形態１に係る階層データ表示方法の表示対象領域を説明するための図である。
【図１８】本発明の実施の形態１に係る階層データ表示方法のフローチャートである。
【図１９】本発明の実施の形態１に係る階層データ表示方法のフローチャートである。
【図２０】本発明の実施の形態１に係る階層データ表示方法の表示対象領域を説明するための図である。
【図２１】本発明の実施の形態１に係る階層データ表示方法のフローチャートである。
【図２２】本発明の実施の形態１に係る階層データ表示装置のブロック構成図である。
【図２３】本発明の実施の形態１に係る階層データ表示装置の表示方法のフローチャートである。
【図２４】本発明の実施の形態１に係る階層データ表示方法の表示対象領域を説明するための図である。
【図２５】本発明の実施の形態２に係る階層データ表示方法のフローチャートである。
【図２６】本発明の実施の形態２に係る階層データ表示方法の表示対象領域を説明するための図である。
【図２７】本発明の実施の形態２に係る階層データ表示方法の上下反転処理を説明するための図である。
【図２８】本発明の実施の形態２に係る階層データ表示方法のフローチャートである。
【図２９】本発明の実施の形態２に係る階層データ表示方法の表示対象領域を説明するための図である。
【図３０】本発明の実施の形態２に係る階層データ表示方法の表示対象領域を説明するための図である。
【図３１】本発明の実施の形態３に係る階層データ表示方法の表示画面の一例を示す図である。
【図３２】本発明の実施の形態３に係る階層データ表示方法のフローチャートである。
【図３３】本発明の実施の形態３に係る階層データ表示装置のブロック構成図である。
【図３４】本発明の実施の形態４に係る階層データ表示方法の表示画面の一例を示す図である。
【図３５】本発明の実施の形態４に係る階層データ表示方法のフローチャートである。
【図３６】本発明の実施の形態５に係る階層データ表示方法の表示画面の一例を示す図である。
【図３７】本発明の実施の形態５に係る階層データ表示方法のフローチャートである。
【図３８】本発明の実施の形態６に係る階層データ表示方法の表示画面の一例を示す図である。
【図３９】本発明の実施の形態６に係る階層データ表示方法のフローチャートである。
【図４０】本発明の実施の形態７に係る階層データ表示方法の表示画面の一例を示す図である。
【図４１】本発明の実施の形態８に係る階層データ表示方法の表示画面の一例を示す図である。
【図４２】本発明の実施の形態９に係る階層データ表示方法を適用したデータ検索表示画面の一例を示す図である。
【図４３】本発明の実施の形態１０に係る階層データ表示方法の表示画面の一例を示す図である。
【符号の説明】
【００９６】
１  入力装置、２  データベース、３  表示装置、４  計算機、５  階層管理手段、６  ジグザグ表示手段、７  座標記憶部、１０１，１０９  表示領域、１０２  属性表示部、１０３，１０５，１１０  ノード、１０４，１０８，１１３  線分、１０６，１１１  親ノード、１０７，１１２  ジグザグ方向の向き、７０２，７０４  領域、３９０３  文字入力欄、３９０４  検索実行ボタン。
【図１】
2009026160.tif 000005
【図２】
2009026160.tif 000006
【図３】
2009026160.tif 000007
【図４】
2009026160.tif 000008
【図５】
2009026160.tif 000009
【図６】
2009026160.tif 000010
【図７】
2009026160.tif 000011
【図８】
2009026160.tif 000012
【図９】
2009026160.tif 000013
【図１０】
2009026160.tif 000014
【図１１】
2009026160.tif 000015
【図１２】
2009026160.tif 000016
【図１３】
2009026160.tif 000017
【図１４】
2009026160.tif 000018
【図１５】
2009026160.tif 000019
【図１６】
2009026160.tif 000020
【図１７】
2009026160.tif 000021
【図１８】
2009026160.tif 000022
【図１９】
2009026160.tif 000023
【図２０】
2009026160.tif 000024
【図２１】
2009026160.tif 000025
【図２２】
2009026160.tif 000026
【図２３】
2009026160.tif 000027
【図２４】
2009026160.tif 000028
【図２５】
2009026160.tif 000029
【図２６】
2009026160.tif 000030
【図２７】
2009026160.tif 000031
【図２８】
2009026160.tif 000032
【図２９】
2009026160.tif 000033
【図３０】
2009026160.tif 000034
【図３１】
2009026160.tif 000035
【図３２】
2009026160.tif 000036
【図３３】
2009026160.tif 000037
【図３４】
2009026160.tif 000038
【図３５】
2009026160.tif 000039
【図３６】
2009026160.tif 000040
【図３７】
2009026160.tif 000041
【図３８】
2009026160.tif 000042
【図３９】
2009026160.tif 000043
【図４０】
2009026160.tif 000044
【図４１】
2009026160.tif 000045
【図４２】
2009026160.tif 000046
【図４３】
2009026160.tif 000047