以下、実施の形態について図面を参照して説明する。
まず、図1を参照して、一実施形態に係る情報処理装置の構成例を説明する。この情報処理装置10は、グラフを表示するための処理を含む様々な情報処理を実行することができる。情報処理装置10は汎用のコンピュータによって実現してもよいし、専用のコンピュータによって実現してもよい。
情報処理装置10は、データテーブル等の元データに基づいて様々な種類のグラフを作成し、この作成されたグラフを画面上に表示することができる。具体的には、画面上には、複数のデータ系列の値にそれぞれ対応する複数のグラフオブジェクト(棒グラフにおいては棒状のオブジェクト、円グラフにおいては扇状のオブジェクト)が表示される。
上記したようにグラフには様々な種類が存在する。これら様々な種類のグラフは、一般的に、表現型と系列並び方向とで大別することができる。表現型には、例えば絶対値積み上げ型、絶対値集合型、割合積み上げ型等がある。
絶対値積み上げ型のグラフは、同一項目に関する異なるデータ系列の値の合計値を表現するグラフであり、例えば積み上げ縦棒グラフ、積み上げ横棒グラフ、積み上げ折れ線グラフ、積み上げ面グラフ等がこれに相当する。絶対値集合型のグラフは、同一項目に関する異なるデータ系列の値を個別に表現するグラフであり、例えば集合縦棒グラフ、集合横棒グラフ、折れ線グラフ、面グラフ等がこれに相当する。割合積み上げ型のグラフは、同一項目に関する異なるデータ系列の値の合計値に対する割合を表現するグラフであり、例えば100%積み上げ縦棒グラフ、100%積み上げ横棒グラフ、100%積み上げ折れ線グラフ、100%積み上げ面グラフ、円グラフ等がこれに相当する。
系列並び方向には、縦方向、横方向、重ね合わせ、円等がある。系列並び方向が縦方向のグラフとは、同一項目に関する異なるデータ系列にそれぞれ対応する複数のグラフオブジェクトが縦方向に並べられたグラフであり、例えば積み上げ縦棒グラフ、100%積み上げ縦棒グラフ、集合横棒グラフ、積み上げ折れ線グラフ、100%積み上げ折れ線グラフ、積み上げ面グラフ、100%積み上げ面グラフ等がこれに相当する。系列並び方向が横方向のグラフとは、同一項目に関する異なるデータ系列にそれぞれ対応する複数のグラフオブジェクトが横方向に並べられたグラフであり、例えば集合縦棒グラフ、積み上げ横棒グラフ、100%積み上げ横棒グラフ等がこれに相当する。系列並び方向が重ね合わせのグラフは、同一項目に関する異なるデータ系列にそれぞれ対応する複数のグラフオブジェクトが重ね合わされたグラフであり、例えば折れ線グラフ、面グラフ等がこれに相当する。系列並び方向が円のグラフは、同一項目に関する異なるデータ系列にそれぞれ対応する複数のグラフオブジェクトが扇状に並べられたグラフであり、例えば円グラフ等がこれに相当する。
ここで、代表的なグラフである積み上げ縦棒グラフ、集合縦棒グラフ、円グラフ及び面グラフについて詳しく説明する。
積み上げ縦棒グラフは、同一項目に関する異なるデータ系列の値にそれぞれ対応する複数の棒状のグラフオブジェクトが積み上げられるように並べられたグラフである。積み上げられた複数のグラフオブジェクトの並び順は、例えば上方に位置するグラフオブジェクトから順に数えられる。すなわち、最上方に位置するグラフオブジェクトが先頭のグラフオブジェクトとして数えられ、最下方に位置するグラフオブジェクトが最後尾のグラフオブジェクトとして数えられる。なお、積み上げられた複数のグラフオブジェクトの並び順は、下方に位置するグラフオブジェクトから順に数えられてもよい。
集合縦棒グラフは、同一項目に関する異なるデータ系列の値にそれぞれ対応する複数の棒状のグラフオブジェクトが隣接して1列に並べられたグラフである。1列に並べられた複数のグラフオブジェクトの並び順は、例えば左に位置するグラフオブジェクトから順に数えられる。すなわち、最も左に位置するグラフオブジェクトが先頭のグラフオブジェクトとして数えられ、最も右に位置するグラフオブジェクトが最後尾のグラフオブジェクトとして数えられる。なお、1列に並べられた複数のグラフオブジェクトの並び順は、右に位置するグラフオブジェクトから順に数えられてもよい。
円グラフは、同一項目に関する異なるデータ系列の値にそれぞれ対応する複数の扇状のグラフオブジェクトが円状に並べられたグラフである。円状に並べられた複数のグラフオブジェクトの並び順は、例えば0度位置から時計回り(右回り)に数えられる。すなわち、0度位置から時計回りにみて最初のグラフオブジェクトが先頭のグラフオブジェクトとして数えられ、0度位置から時計回りにみて最後のグラフオブジェクトが最後尾のグラフオブジェクトとして数えられる。なお、円状に並べられた複数のグラフオブジェクトの並び順は、0度位置から反時計回り(左回り)に数えられてもよい。
面グラフは、同一項目に関する異なるデータ系列の値にそれぞれ対応する複数の多角形状のグラフオブジェクトが重ね合わされたグラフである。重ね合わされた複数のグラフオブジェクトの並び順は、例えば背面(奥)に位置するグラフオブジェクトから順に数えられる。すなわち、最も背面に位置するグラフオブジェクトが先頭のグラフオブジェクトとして数えられ、最も前面(手前)に位置するグラフオブジェクトが最後尾のグラフオブジェクトとして数えられる。なお、重ね合わされたグラフオブジェクトの並び順は、前面に位置するグラフオブジェクトから順に数えられてもよい。
本実施形態に係る情報処理装置10は、グラフ表示画面上での直感的な操作により、グラフにデータ系列を追加/削除すると共にグラフオブジェクトの並び順を変更する機能を有している。さらに、情報処理装置10は、グラフ表示画面上での直感的な操作により、グラフの種類を変更する機能を有している。
これら機能を実現するために、本実施形態では、複数のデータ系列に対応する移動可能な複数のデータ系列シンボルと、複数のデータ系列に対応する移動可能な複数のグラフオブジェクト又は複数の凡例オブジェクトとが使用される。データ系列シンボルは、グラフ表示画面のグラフ表示領域以外の領域(以下、シンボル表示領域と表記)に表示されるシンボル(アイコン)である。グラフオブジェクト及び凡例オブジェクトは、グラフ表示画面のグラフ表示領域に表示されるオブジェクト(アイコン)である。ユーザは、タッチ操作又はマウス操作によって、グラフ表示画面上の任意のアイコンをドラッグし、この任意のアイコンを目的の位置に移動させることができる。
ドラッグされたデータ系列シンボルが、グラフ表示画面のシンボル表示領域からグラフ表示領域内に移動された場合、情報処理装置10は、このデータ系列シンボルに対応するデータ系列をグラフに追加すると共に、データ系列シンボルがグラフ表示領域にドロップされた方向に応じて、グラフオブジェクトの並び順を変更する。さらに、情報処理装置10は、データ系列シンボルがグラフ表示領域にドロップされた方向に応じて、グラフの種類を変更する。
また、ドラッグされたグラフオブジェクト又は凡例オブジェクトが、グラフ表示画面のグラフ表示領域からシンボル表示領域内に移動された場合、情報処理装置10は、このグラフオブジェクト又は凡例オブジェクトに対応するデータ系列をグラフから削除する。
上記した機能を実現するために、図1に示すように、情報処理装置10は、描画オブジェクト情報格納部20、グラフ情報格納部30、データ系列情報格納部40、グラフ作成指示部50及びグラフ表示処理部60を備えている。
描画オブジェクト情報格納部20は、データ系列シンボル情報、グラフの元データ、グラフオブジェクト情報を格納する記憶装置である。データ系列シンボル情報は、シンボル表示領域におけるデータ系列シンボルの位置、形状、色等を示す情報である。元データは、複数のデータ系列の項目毎の値を示す情報である。グラフオブジェクト情報は、グラフ表示領域に表示されたグラフオブジェクト及び凡例オブジェクトの位置、形状、色等を示す情報である。
グラフ情報格納部30は、グラフ組み合わせ情報と処理内容情報とを格納する記憶装置である。グラフ組み合わせ情報は、アイコンがグラフ表示領域にドロップされた方向に応じて変更可能なグラフの種類を示す情報であり、例えば、変更可能なグラフの種類として系列並び方向が縦方向のグラフの名称と系列並び方向が横方向のグラフの名称とが関連付けられている。処理内容情報は、グラフ表示画面上で実行されるユーザの操作に応じて、情報処理装置10が実行する情報処理の内容を示す情報である。
データ系列情報格納部40は、データ系列並び順情報、データ系列関連付け情報、データ系列ステータス情報を格納する記憶装置である。データ系列並び順情報は、データ系列の並び順を示す情報である。データ系列関連付け情報は、表示されたグラフ内のどのグラフオブジェクトがどのデータ系列に属しているかを示す情報である。データ系列ステータス情報は、グラフ表示領域にどのデータ系列のグラフオブジェクトが表示されているかを示す情報である。
グラフ作成指示部50は、各種アイコンに対するユーザの操作に応じて、グラフ表示領域にどのようなグラフを描画するかを決定するための処理を実行する。
このグラフ作成指示部50は、図1に示すように、ポイント位置取得部51、軌跡情報収集部52、ドラッグ中描画指示部53、操作方向判定部54及びデータ系列管理情報変更部55を備えている。
ポイント位置取得部51は、タッチ操作又はマウス操作によってユーザによって指示される画面上の位置(座標)を取得する。
軌跡情報収集部52は、各種アイコン(データ系列シンボル、グラフオブジェクト、凡例オブジェクト)のドラッグ開始位置をポイント位置取得部51から取得する。ドラッグが開始されたアイコンがデータ系列シンボルである(換言すると、ドラッグ開始位置がシンボル表示領域である)場合、軌跡情報収集部52は、このドラッグ開始位置とデータ系列シンボル情報とに基づいて、ドラッグが開始されたデータ系列シンボルを特定する。ドラッグが開始されたアイコンがグラフオブジェクト又は凡例オブジェクトである(換言すると、ドラッグ開始位置がグラフ表示領域である)場合、軌跡情報収集部52は、このドラッグ開始位置とグラフオブジェクト情報とに基づいて、ドラッグが開始されたグラフオブジェクト又は凡例オブジェクトを特定する。軌跡情報収集部52は、ドラッグ対象として特定されたアイコンの移動の軌跡を収集する。具体的には、軌跡情報収集部52は、ドラッグ対象として特定されたアイコンの中心座標の移動の軌跡を収集する。なお、軌跡情報収集部52は、アイコンの中心座標の移動の軌跡ではなく、例えば左上頂角の座標の移動の軌跡等、基準点となる座標の移動の軌跡を収集すればよい。
ドラッグ中描画指示部53は、ドラッグ対象がデータ系列シンボルである場合、データ系列シンボル情報に基づいて、ドラッグ対象であるデータ系列シンボルのゴーストを生成する。ドラッグ中描画指示部53は、ドラッグ対象がグラフオブジェクト又は凡例オブジェクトである場合、グラフオブジェクト情報に基づいて、ドラッグ対象であるグラフオブジェクト又は凡例オブジェクトのゴーストを生成する。ドラッグ中描画指示部53は、軌跡情報収集部52から取得されるドラッグ対象の位置の変化に応じて、画面上のゴーストの表示位置を移動させる。ゴーストがドロップされた場合には、ドラッグ中描画指示部53は、ゴーストを削除する。
ここで、ドラッグ中描画指示部53によって生成されるゴーストについて詳しく説明する。
ゴーストとは、ドラッグ操作に追従して移動するコピーオブジェクト又は代替オブジェクトであり、コピーオブジェクトや代替オブジェクトが半透明で表示されることが多いことに由来した呼び名である。なお、本実施形態では、各種アイコンをドラッグ操作によって移動する処理においては、このゴーストをドラッグ操作に追従して移動させるとしたが、各種アイコンそのものがドラッグ操作に追従して移動してもよい。
操作方向判定部54は、データ系列シンボルがシンボル表示領域からグラフ表示領域にドロップされた場合、ポイント位置取得部51から取得されるデータ系列シンボル(のゴースト)の位置の変化に基づいて、データ系列シンボルがグラフ表示領域の上下左右いずれの方向からグラフ表示領域に移動してドロップされたかを判定する。
データ系列管理情報変更部55は、グラフに対してのデータ系列の追加/削除、ならびにグラフの種類の変更に伴い、グラフオブジェクト情報内の各グラフオブジェクトの位置情報等を更新し、グラフ表示処理部60に各グラフオブジェクトの描画を指示する。データ系列管理情報変更部55は、グラフに対してのデータ系列の追加/削除、ならびにグラフの種類の変更に伴い、データ系列情報格納部40内の各種情報を更新する。
グラフ表示処理部60は、描画オブジェクト情報格納部20内のグラフオブジェクト情報に基づいてグラフを作成し、このグラフを情報処理装置10のディスプレイの画面上に表示するための描画処理を実行する。
次に、図2を参照して、グラフ表示画面の一例について説明する。
グラフ表示画面は、図2に示すように、シンボル表示領域71及びグラフ表示領域72を含む画面である。シンボル表示領域71は、データ系列シンボルを表示可能な領域であり、図2では、A国〜E国のデータ系列に対応する5つのデータ系列シンボル73〜77が表示されている。グラフ表示領域72は、グラフオブジェクト及び凡例オブジェクトを表示可能な領域であり、図2では、A国〜E国のデータ系列に対応するグラフが描画される前のグラフ表示領域が図示されている。グラフ表示領域72には、x座標Ax1〜Axn、y座標Ay1〜Aynで囲まれる領域が使用される。グラフ表示領域72を囲う線は、グラフ表示画面上に表示されていても(可視化されていても)よいし、グラフ表示画面上に表示されていなくても(不可視化されていても)よい。
次に、図3〜図6を参照して、データ系列シンボルがグラフ表示領域72にドロップされた場合の動作について説明する。
A国のデータ系列に対応するデータ系列シンボル73が、図3に示す軌跡を描いてグラフ表示領域72にドロップされた場合、操作方向判定部54は、ポイント位置取得部51から取得されるデータ系列シンボルの軌跡(時系列的に変化するデータ系列シンボルの中心座標の集まり(座標群))からx座標がAx1又はAxnであり、かつy座標がAy1〜Aynのいずれかである座標、あるいはx座標がAx1〜Axnのいずれかであり、かつy座標がAy1又はAynである座標を抽出する。つまり、操作方向判定部54は、ポイント位置取得部51から取得されるデータ系列シンボルの軌跡からグラフ表示領域72を囲う線上の座標を抽出する。この場合、操作方向判定部54は、図3に示す座標(Ax2、Ay1)を抽出する。そして、操作方向判定部54は、抽出した座標(Ax2、Ay1)がグラフ表示領域72を囲う線の上辺に位置する座標であると判定して、データ系列シンボルがグラフ表示領域72の上方向からドロップされたと判定する。
A国のデータ系列に対応するデータ系列シンボル73が、図4に示す軌跡を描いてグラフ表示領域72にドロップされた場合、操作方向判定部54は、上記した図3の場合と同様に、ポイント位置取得部51から取得されるデータ系列シンボルの軌跡からグラフ表示領域72を囲う線上の座標を抽出する。この場合、操作方向判定部54は、図4に示す座標(Ax1、Ay2)を抽出する。そして、操作方向判定部54は、抽出した座標(Ax1、Ay2)がグラフ表示領域72を囲う線の左辺に位置する座標であると判定して、データ系列シンボルがグラフ表示領域72の左方向からドロップされたと判定する。
A国のデータ系列に対応するデータ系列シンボル73が、図5に示す軌跡を描いてグラフ表示領域72にドロップされた場合、操作方向判定部54は、ポイント位置取得部51から取得されるデータ系列シンボルの軌跡からグラフ表示領域72を囲う線上の座標を抽出する。この場合、操作方向判定部54は、図5に示す座標(Ax1、Ay3)、(Axn、Ay4)、(Axn、Ay5)を抽出する。このように複数の座標が抽出された場合、時系列的にみて最後の座標(Axn、Ay5)がデータ系列シンボルがドロップされた方向を判定するために使用される。そして、操作方向判定部54は、抽出した座標(Axn、Ay5)がグラフ表示領域72を囲う線の右辺に位置する座標であると判定して、データ系列シンボルがグラフ表示領域72の右方向からドロップされたと判定する。
A国のデータ系列に対応するデータ系列シンボル73が、図6に示す軌跡を描いてグラフ表示領域72にドロップされた場合、操作方向判定部54は、ポイント位置取得部51から取得されるデータ系列シンボルの軌跡からグラフ表示領域72を囲う線上の座標を抽出する。この場合、操作方向判定部54は、図6に示す座標(Ax1、Ay6)、(Ax3、Ayn)、(Ax4、Ayn)を抽出する。そして、操作方向判定部54は、抽出した座標(Ax4、Ayn)がグラフ表示領域72を囲う線の下辺に位置する座標であると判定して、データ系列シンボルがグラフ表示領域72の下方向からドロップされたと判定する。
次に、図7〜図12を参照して、グラフにデータ系列を追加する場合の動作について説明する。
ここでは、系列並び方向が縦方向のグラフとして円グラフが設定され、系列並び方向が横方向のグラフとして集合縦棒グラフが設定されたグラフ組み合わせ情報を情報処理装置10が使用する場合を想定する。また、データ系列シンボルが上方向からグラフ表示領域72にドロップされた場合、グラフ表示領域72に表示するグラフの種類を系列並び方向が縦方向のグラフとした上で、このデータ系列シンボルに対応するデータ系列のグラフオブジェクトをグラフの先頭に追加する処理を情報処理装置10が実行する場合を想定する。さらに、データ系列シンボルが下方向からグラフ表示領域72にドロップされた場合、グラフ表示領域72に表示するグラフの種類を系列並び方向が縦方向のグラフとした上で、このデータ系列シンボルに対応するデータ系列のグラフオブジェクトをグラフの最後尾に追加する処理を情報処理装置10が実行する場合を想定する。また、データ系列シンボルが左方向からグラフ表示領域72にドロップされた場合、グラフ表示領域72に表示するグラフの種類を系列並び方向が横方向のグラフとした上で、このデータ系列シンボルに対応するデータ系列のグラフオブジェクトをグラフの先頭に追加する処理を情報処理装置10が実行する場合を想定する。さらに、データ系列シンボルが右方向からグラフ表示領域72にドロップされた場合、グラフ表示領域72に表示するグラフの種類を系列並び方向が横方向のグラフとした上で、このデータ系列シンボルに対応するデータ系列のグラフオブジェクトをグラフの最後尾に追加する処理を情報処理装置10が実行する場合を想定する。
まず、図7に示すように、データ系列シンボル73に対応するA国のデータ系列に関し、扇状(円状)のグラフオブジェクトがグラフ表示領域72に表示された状態で、C国のデータ系列に対応するデータ系列シンボル75が下方向からグラフ表示領域72にドロップされた場合の動作について説明する。この場合、情報処理装置10は、図8に示すように、グラフ表示領域72に表示するグラフの種類を系列並び方向が縦方向の円グラフとしたままで、C国のデータ系列に対応する扇状のグラフオブジェクトを円グラフの最後尾(0度位置から時計回りにみて最後の位置)に追加する処理を実行する。なお、グラフ表示領域72にドロップされたデータ系列シンボルは不活性化(例えば、グラフ表示画面上に表示しない、グラフ表示画面上に半透明で表示する等)される。
次に、図9に示すように、データ系列シンボル73,75にそれぞれ対応するA国とC国のデータ系列に関し、扇状のグラフオブジェクトがグラフ表示領域72に表示された状態で、E国のデータ系列に対応するデータ系列シンボル77が上方向からグラフ表示領域72にドロップされた場合の動作について説明する。この場合、情報処理装置10は、図10に示すように、グラフ表示領域72に表示するグラフの種類を系列並び方向が縦方向の円グラフとしたままで、E国のデータ系列に対応する扇状のグラフオブジェクトを円グラフの先頭(0度位置から時計回りにみて最初の位置)に追加する処理を実行する。
さらに、図11に示すように、データ系列シンボル73,75,77にそれぞれ対応するA国、C国及びE国のデータ系列に関し、扇状のグラフオブジェクトがグラフ表示領域72に表示された状態で、D国のデータ系列に対応するデータ系列シンボル76が左方向からグラフ表示領域72にドロップされた場合の動作について説明する。この場合、情報処理装置10は、図12に示すように、グラフ表示領域72に表示するグラフの種類を系列並び方向が横方向の集合縦棒グラフに変更した上で、D国のデータ系列に対応する棒状のオブジェクトを集合縦棒グラフの先頭(最も左)に追加する処理を実行する。
次に、図13のフローチャートを参照して、ゴースト描画処理の手順について説明する。ここでは、データ系列シンボルのゴーストを描画する場合について説明する。
始めに、ユーザの操作によってシンボル表示領域71に表示されたデータ系列シンボルのドラッグが開始された時(ステップS1)、軌跡情報収集部52は、ポイント位置取得部51から取得されるドラッグ開始位置と、描画オブジェクト情報格納部20内のデータ系列シンボル情報とに基づいて、ドラッグが開始されたデータ系列シンボルを特定する。ドラッグが開始されたデータ系列シンボルを特定すると、軌跡情報収集部52は、このデータ系列シンボルの中心座標の移動の軌跡を収集する(ステップS2)。
ドラッグ中描画指示部53は、特定されたデータ系列シンボルに関して、位置、元データ、色、形状等の情報を描画オブジェクト情報格納部20から取得する(ステップS3)。その後、ドラッグ中描画指示部53は、取得した情報をもとに、ドラッグが開始されたデータ系列シンボルのゴーストを生成し、このゴーストをドラッグ中のポイント位置に追従させて描画する(ステップS4)。
次に、図14のフローチャートを参照して、グラフ描画処理の手順について説明する。
始めに、アイコンがドロップされた時(ステップS11)、操作方向判定部54は、ポイント位置取得部51から取得される当該アイコンの軌跡に基づいて、当該アイコンがドロップされた位置がグラフ表示領域72内であるか否かを判定する(ステップS12)。なお、ステップS12の判定の結果がグラフ表示領域72内でない、すなわち、シンボル表示領域71内であると判定された場合(ステップS12のNO)、後述するステップS14の処理に進む。
一方で、ステップS12の判定の結果がグラフ表示領域72内であると判定された場合(ステップS12のYES)、操作方向判定部54は、ポイント位置取得部51から取得されるアイコンの軌跡とグラフ表示領域72を囲う線とに基づいて、アイコンがグラフ表示領域72の上下左右いずれの方向からドロップされたかを判定する(ステップS13)。
続いて、データ系列管理情報変更部55は、グラフ情報格納部30内の処理内容情報を参照して、ユーザの操作に応じて実行される当該処理がグラフにデータ系列を追加する処理であるか否かを判定する(ステップS14)。なお、ステップS14の判定の結果がデータ系列を追加する処理でないと判定された場合(ステップS14のNO)、後述するステップS17の処理に進む。
一方で、ステップS14の判定の結果がデータ系列を追加する処理であると判定された場合(ステップS14のNO)、データ系列管理情報変更部55は、グラフ情報格納部30内のグラフ組み合わせ情報及び処理内容情報と、操作方向判定部54により判定されたドロップ方向とに基づいて、グラフ表示領域72に表示するグラフの種類を決定する(ステップS15)。
また、データ系列管理情報変更部55は、グラフ情報格納部30内の処理内容情報と操作方向判定部54により判定されたドロップ方向とに基づいて、グラフのどの位置に当該アイコンに対応するデータ系列を追加するかを決定する(ステップS16)。
次に、データ系列管理情報変更部55は、データ系列の追加処理/削除処理を実行するにあたり、データ系列情報格納部40からデータ系列並び順情報を取得し、これを更新する(ステップS17)。
さらに、データ系列管理情報変更部55は、データ系列の追加処理/削除処理を実行するにあたり、データ系列情報格納部40からデータ系列関連付け情報及びデータ系列ステータス情報を取得し、これを更新する(ステップS18)。
そして、データ系列管理情報変更部55は、データ系列の追加処理/削除処理を実行するにあたり更新した各種情報と描画オブジェクト情報格納部20内の元データとに基づいて、描画オブジェクト情報格納部20内のグラフオブジェクト情報を更新する(ステップS19)。
その後、グラフ表示処理部60は、更新後のグラフオブジェクト情報を描画オブジェクト情報格納部20から取得し、このグラフオブジェクト情報に基づいてグラフオブジェクトの描画を指示する(ステップS20)。これにより、情報処理装置10は、ディスプレイの画面上に所望のグラフを表示させることができる。
以下、本実施形態に係る情報処理装置10を用いてグラフ描画処理を実行した場合の各種情報の遷移について詳しく説明する。以下では、図2に示した初期画面が表示されている時点では、各格納部20〜40内には図15〜図20に示す各種情報が格納されているものとして説明する。
まず、各種情報のデータ構造について説明する。
図15は、描画オブジェクト情報格納部20内の元データのデータ構造の一例を示す図である。元データは複数のデータ系列の項目毎の値を示す。例えば、A国のデータ系列の値としては、項目4月に関する値として「210」、項目5月に関する値として「260」、項目6月に関する値として「210」が示されている。同様に、B国のデータ系列の値としては、項目4月に関する値として「200」、項目5月に関する値として「180」、項目6月に関する値として「100」が示されている。ここでは、A国及びB国のデータ系列を例にとって説明したが、他のデータ系列(C国〜E国のデータ系列)についても同様であるため、その詳しい説明を省略する。
図16は、描画オブジェクト情報格納部20内のデータ系列シンボル情報のデータ構造の一例を示す図である。データ系列シンボル情報は、データ系列シンボルID、x座標、y座標、width(幅)及びheight(高さ)を含む。データ系列シンボルIDは、グラフ表示画面上のデータ系列シンボルを識別するための識別情報である。x座標は、データ系列シンボルの中心座標(x,y)のx値を示す。y座標は、データ系列シンボルの中心座標(x,y)のy値を示す。換言すると、x値及びy値は各データ系列シンボルの中心座標に対する、グラフ表示画面の左上頂角からの横/縦のピクセルサイズを示す。widthは、データ系列シンボルの幅を示す。heightは、データ系列シンボルの高さを示す。図16に示すデータ系列シンボル情報81によれば、データ系列シンボルID「DSS_1」により識別されるデータ系列シンボル(A国のデータ系列に対応するデータ系列シンボル)の中心座標(x,y)は(100,90)であり、このデータ系列シンボルの幅と高さはそれぞれ「260」であることが示されている。ここでは、データ系列シンボル情報81を例にとって説明したが、他のデータ系列シンボル情報82〜85についても同様であるため、その詳しい説明を省略する。
なお、図2に示した初期画面時点では、描画オブジェクト情報格納部20内のグラフオブジェクト情報には具体的な値は記述されていないため、その詳しい説明は後述する。
図17は、グラフ情報格納部30内のグラフ組み合わせ情報のデータ構造の一例を示す図である。グラフ組み合わせ情報は、系列並び方向が縦方向のグラフと系列並び方向が横方向のグラフとを示す。図17に示すグラフ組み合わせ情報によれば、系列並び方向が縦方向のグラフ(縦グラフ種類)としては積み上げ縦棒グラフが設定され、系列並び方向が横方向のグラフ(横グラフ種類)としては集合縦棒グラフが設定されていることが示されている。
図18は、グラフ情報格納部30内の処理内容情報のデータ構造の一例を示す図である。処理内容情報は、ドロップ方向、ドロップ対象、ドロップ位置、データ系列処理、追加位置及びグラフ種類を含む。ドロップ方向は、ドラッグが開始されたデータ系列シンボルがいずれの方向からグラフ表示領域72にドロップされたかを示す。ドロップ対象は、ドロップされたアイコンがデータ系列シンボル又はグラフオブジェクト(凡例オブジェクト)のどちらであるかを示す。ドロップ位置は、アイコンがドロップされた位置がシンボル表示領域71又はグラフ表示領域72のどちらであるかを示す。データ系列処理は、ユーザの操作に応じて、データ系列の追加/削除のどちらの処理が実行されるかを示す。追加位置は、ユーザの操作に応じてグラフにデータ系列を追加する場合に、当該データ系列に対応するグラフオブジェクトをグラフのどの位置に追加するかを示す。グラフ種類は、グラフ表示領域72に表示するグラフの種類(系列並び方向)を示す。
図18に示す処理内容情報91によれば、ドロップ対象がデータ系列シンボルであり、当該データ系列シンボルが上方向からグラフ表示領域72にドロップされた場合、情報処理装置10は、グラフ表示領域72に表示するグラフ種類を系列並び方向が縦方向のグラフとした上で、当該データ系列シンボルに対応するデータ系列のグラフオブジェクトをグラフの先頭に追加する処理を実行することが示されている。同様に、処理内容情報95によれば、ドロップ対象がグラフオブジェクトであり、当該グラフオブジェクトがシンボル表示領域71にドロップされた場合、情報処理装置10は、グラフ表示領域72に表示されたグラフから当該グラフオブジェクトを削除する処理を実行することが示されている。ここでは、処理内容情報91,95を例にとって説明したが、他の処理内容情報92〜94,96,97についても同様であるため、その詳しい説明を省略する。
図19は、データ系列情報格納部40内のデータ系列関連付け情報のデータ構造の一例を示す図である。データ系列関連付け情報は、どのデータ系列シンボルがどのデータ系列に属しているかを示す情報である。具体的には、データ系列関連付け情報は、関連付け対象IDとしてのデータ系列シンボルIDとデータ系列IDとを示す。データ系列IDは、データ系列を識別するための識別情報である。図19に示すデータ系列関連付け情報101によれば、関連付け対象ID「DSS_1」により識別されるデータ系列シンボルがデータ系列ID「1」により識別されるデータ系列に属していることが示されている。ここでは、データ系列関連付け情報101を例にとって説明したが、他のデータ系列関連付け情報102〜105についても同様であるため、その詳しい説明を省略する。なお、データ系列関連付け情報は、後述する各種情報を更新する処理が実行されることで、表示されたグラフ内のどのグラフオブジェクトがどのデータ系列に属しているかも示し得る情報である。この場合、関連付け対象IDには後述するグラフオブジェクトIDが使用される。
図20は、データ系列情報格納部40内のデータ系列ステータス情報のデータ構造の一例を示す図である。データ系列ステータス情報は、データ系列ID、データ系列名及び状態を含む。データ系列名は、当該データ系列名に関連付けられたデータ系列IDにより識別されるデータ系列の名称である。状態は、当該状態に関連付けられたデータ系列IDにより識別されるデータ系列に対応するグラフオブジェクトがグラフ表示領域72に描画されているか否かを示す。なお、「合成前」はデータ系列に対応するグラフオブジェクトがグラフ表示領域72に描画されていない状態を示し、「合成済み」はデータ系列に対応するグラフオブジェクトがグラフ表示領域72に描画されている状態を示す。図20に示すデータ系列ステータス情報111によれば、データ系列ID「1」により識別されるA国のデータ系列に対応するグラフオブジェクトはグラフ表示領域72に描画されていない状態であることが示されている。ここでは、データ系列ステータス情報111を例にとって説明したが、他のデータ系列ステータス情報についても同様であるため、その詳しい説明を省略する。
なお、図2に示した初期画面時点では、データ系列情報格納部40内のデータ系列並び順情報には具体的な値は記述されていないため、その詳しい説明は後述する。
次に、図2に示す初期画面から図21に示す軌跡を描いて、データ系列シンボル73が上方向からグラフ表示領域72にドロップされた場合の各種情報の遷移について説明する。
この場合、情報処理装置10は、グラフ表示領域72に図22に示すグラフを描画する処理を実行する。
図21に示すように、データ系列シンボル73が上方向からグラフ表示領域72にドロップされた場合、まず情報処理装置10は、グラフ情報格納部30内の処理内容情報を参照して、どのような処理を実行するかを決定する。この場合、データ系列シンボル(ドロップ対象)が上方向(ドロップ方向)からグラフ表示領域(ドロップ位置)にドロップされているため、情報処理装置10は、処理内容情報91にしたがって、データ系列シンボルに対応するデータ系列を系列並び方向が縦方向のグラフの先頭に追加する(データ系列処理、追加位置、グラフタイプ)処理を実行すると決定する。この決定に応じて、情報処理装置10は、グラフ情報格納部30内のグラフ組み合わせ情報を参照して、系列並び方向が縦方向のグラフとして積み上げ縦棒グラフをグラフ表示領域72に描画することを決定する。
その後、情報処理装置10は、各種情報を更新する処理を実行する。
情報処理装置10は、具体的な値が何も記述されていない状態から、図23に示すようにデータ系列並び順情報を更新する。データ系列並び順情報は、データ系列IDと並び順とを示す。データ系列の並び順が新しい並び順に変更されると、つまり、グラフにデータ系列の追加/削除が行われると、データ系列IDに対応する並び順は新しい並び順に更新される。
また、情報処理装置10は、図19に示すデータ系列関連付け情報を図24に示すように更新する。この場合、A国のデータ系列を積み上げ縦棒グラフの先頭に追加することが決定しているので、A国のデータ系列ID「1」に対応する関連付け対象IDには新たな値「GO_1」〜「GO_4」が割り当てられる。
さらに、情報処理装置10は、図20に示すデータ系列ステータス情報を図25に示すように更新する。この場合、A国のデータ系列をグラフに追加することが決定しているので、A国のデータ系列ID「1」(又は、データ系列名「A国」)に対応する状態が、「合成前」から「合成済み」に更新される。
また、情報処理装置10は、具体的な値が何も記述されていない状態から、図26に示すようにグラフオブジェクト情報を更新する。グラフオブジェクト情報は、グラフオブジェクトID、項目、x座標、y座標、width(幅)及びheight(高さ)を含む。グラフにデータ系列の追加/削除が行われると、主に、グラフオブジェクト情報に含まれるy座標の値が更新される。また、グラフの種類が変更されると、主に、グラフオブジェクト情報に含まれるx座標及びy座標の値が更新される。なお、グラフオブジェクト情報に含まれるx座標とy座標とは、各グラフオブジェクトの左上頂角の座標(x,y)を示す。
以上のようにして各種情報を更新し終えると、情報処理装置10は、更新後のグラフオブジェクト情報に基づいて、図22に示す積み上げ縦棒グラフをグラフ表示領域72に描画することができる。
次に、図22に示すグラフ表示画面において図27に示す軌跡を描いて、データ系列シンボル75が下方向からグラフ表示領域72にドロップされた場合の各種情報の遷移について説明する。
この場合、情報処理装置10は、グラフ表示領域72に図28に示すグラフを描画する処理を実行する。
図27に示すように、データ系列シンボル75が下方向からグラフ表示領域72にドロップされた場合、情報処理装置10は、処理内容情報92にしたがって、データ系列シンボルに対応するデータ系列を系列並び方向が縦方向のグラフの最後尾に追加する処理を実行すると決定する。この決定に応じて、情報処理装置10は、組み合わせ情報を参照して、系列並び方向が縦方向のグラフとして積み上げ縦棒グラフをグラフ表示領域72に描画することを決定する(既に描画されている積み上げ縦棒グラフにグラフオブジェクトを追加することを決定する)。
その後、情報処理装置10は、各種情報を更新する処理を実行する。
情報処理装置10は、図29に示すようにデータ系列並び順情報を更新する。この場合、C国のデータ系列を積み上げ縦棒グラフの最後尾に追加することが決定しているので、C国のデータ系列ID「3」に対応する並び順を最後尾の「2」として、データ系列並び順情報が更新される。
また、情報処理装置10は、図30に示すようにデータ系列関連付け情報を更新する。この場合、C国のデータ系列をグラフに追加することが決定しているので、C国のデータ系列ID「3」に対応する関連付け対象IDには新たな値「GO_5」〜「GO_8」が割り当てられる。
さらに、情報処理装置10は、図31に示すようにデータ系列ステータス情報を更新する。この場合、C国のデータ系列をグラフに追加することが決定しているので、C国のデータ系列ID「3」(又は、データ系列名「C国」)に対応する状態が、「合成前」から「合成済み」に更新される。
また、情報処理装置10は、図32に示すようにグラフオブジェクト情報を更新する。この場合、グラフの種類は変更せずに、C国のデータ系列を積み上げ縦棒グラフの最後尾に追加することが決定しているので、C国のデータ系列に対応する各値をグラフオブジェクト情報に新たに追加すると共に、A国のデータ系列に対応するy座標の値(y値)を更新する。以下に、A国のデータ系列に対応するy値を更新する処理について詳しく説明する。
まず情報処理装置10は、基準となる下端のy値を算出する。以下では計算例を、棒1で説明する。
具体的には、情報処理装置10は、更新前のグラフオブジェクト情報に基づいて、積み上げ縦棒グラフのx軸のy値を算出する。積み上げ縦棒グラフのx軸のy値は、更新前のグラフオブジェクト情報に含まれるy値とheightとにより算出される。図32に示すように、棒1に対応するグラフオブジェクトID=GO_2のy値は790であり、heightは210である。したがって、積み上げ縦棒グラフのx軸のy値、つまり、基準となる下端のy値は、以下の式によって算出される。
790+210=1000
上記のようにして基準となる下端のy値を算出すると、情報処理装置10は、下端のy値「1000」から、並び順にしたがって各グラフオブジェクトのheightを減算することで、各グラフオブジェクトのy値を算出する。図32に示すように、最後尾に位置するC国のデータ系列に対応するグラフオブジェクト(棒1)のheightは280であり、先頭に位置するA国のデータ系列に対応するグラフオブジェクト(棒1)のheightは210である。したがって、以下の式により、各グラフオブジェクト(棒1)のy値、つまり、A国のデータ系列に対応するy値も算出することができる。
グラフオブジェクトID=GO_6のy値:1000−280=720
グラフオブジェクトID=GO_2のy値:720−210=510
以上のようにして各種情報を更新し終えると、情報処理装置10は、更新後のグラフオブジェクト情報に基づいて、図28に示す積み上げ縦棒グラフをグラフ表示領域72に描画することができる。
次に、図28に示すグラフ表示画面において図33に示す軌跡を描いて、データ系列シンボル77が左方向からグラフ表示領域72にドロップされた場合の各種情報の遷移について説明する。
この場合、情報処理装置10は、グラフ表示領域72に図34に示すグラフを描画する処理を実行する。
図33に示すように、データ系列シンボル77が左方向からグラフ表示領域72にドロップされた場合、情報処理装置10は、処理内容情報93にしたがって、データ系列シンボルに対応するデータ系列を系列並び方向が横方向のグラフの先頭に追加する処理を実行すると決定する。この決定に応じて、情報処理装置10は、組み合わせ情報を参照して、系列並び方向が横方向のグラフとして集合縦棒グラフをグラフ表示領域72に描画することを決定する。
その後、情報処理装置10は、各種情報を更新する処理を実行する。
情報処理装置10は、図35に示すようにデータ系列並び順情報を更新する。この場合、E国のデータ系列を集合縦棒グラフの先頭に追加することが決定しているので、E国のデータ系列ID「5」に対応する並び順を先頭の「1」とし、これに伴い、A国のデータ系列ID「1」に対応する並び順を次の「2」とし、C国のデータ系列ID「3」に対応する並び順を最後尾の「3」として、データ系列並び順情報が更新される。
また、情報処理装置10は、図36に示すようにデータ系列関連付け情報を更新する。この場合、E国のデータ系列をグラフに追加することが決定しているので、E国のデータ系列ID「5」に対応する関連付け対象IDには新たな値「GO_9」〜「GO_12」が割り当てられる。
さらに、情報処理装置10は、図37に示すようにデータ系列ステータス情報を更新する。この場合、E国のデータ系列をグラフに追加することが決定しているので、E国のデータ系列ID「5」(又は、データ系列名「E国」)に対応する状態が、「合成前」から「合成済み」に更新される。
また、情報処理装置10は、図38に示すようにグラフオブジェクト情報を更新する。この場合、グラフの種類を積み上げ縦棒グラフから集合縦棒グラフに変更し、かつE国のデータ系列を集合縦棒グラフの先頭に追加することが決定しているので、A国、C国、E国のデータ系列に対応するx座標の値(x値)及びy座標の値(y値)を更新する。なお、各国のデータ系列に対応するx値は、グラフの種類やグラフとして描画されるデータ系列の数、これらデータ系列の項目の数に応じて予め設定されているため、その詳しい説明を省略し、以下では各国のデータ系列に対応するy値を更新する処理について詳しく説明する。以下では計算例を、棒1で説明する。
情報処理装置10は、既に算出した基準となる下端のy値「1000」から各国のデータ系列に対応するheightを減算することで、各国のデータ系列に対応するy値を算出する。つまり、以下の式により、各国のデータ系列に対応するy値を算出することができる。
グラフオブジェクトID=GO_10のy値:1000−60=940
グラフオブジェクトID=GO_2のy値:1000−210=790
グラフオブジェクトID=GO_6のy値:1000−280=720
以上のようにして各種情報を更新し終えると、情報処理装置10は、更新後のグラフオブジェクト情報に基づいて、図34に示す集合縦棒グラフをグラフ表示領域72に描画することができる。
次に、図34に示すグラフ表示画面において図39に示す軌跡を描いて、C国のデータ系列に対応するグラフオブジェクトがグラフ表示領域72からシンボル表示領域71にドロップされた場合の各種情報の遷移について説明する。
この場合、情報処理装置10は、グラフ表示領域72に図40に示すグラフを描画する処理を実行する。
図39に示すように、C国のデータ系列に対応するグラフオブジェクトがシンボル表示領域71にドロップされた場合、情報処理装置10は、処理内容情報95にしたがって、グラフオブジェクトに対応するデータ系列をグラフから削除する処理を実行すると決定する。
その後、情報処理装置10は、各種情報を更新する処理を実行する。
情報処理装置10は、図41に示すようにデータ系列並び順情報を更新する。この場合、C国のデータ系列に対応するグラフオブジェクトをグラフから削除することが決定しているので、C国のデータ系列ID「3」と対応する並び順「3」とを含む記述をデータ系列並び順情報から削除する。なお、C国のデータ系列に対応するグラフオブジェクトは最後尾に位置していたため、E国及びA国の並び順は変更されない。
また、情報処理装置10は、図42に示すようにデータ系列関連付け情報を更新する。この場合、C国のデータ系列をグラフから削除することが決定しているので、C国のデータ系列ID「3」と対応する関連付け対象ID「GO_5」〜「GO_9」とを含む記述をデータ系列関連付け情報から削除する。
さらに、情報処理装置10は、図43に示すようにデータ系列ステータス情報を更新する。この場合、C国のデータ系列をグラフから削除することが決定しているので、C国のデータ系列ID「3」(又は、データ系列名「C国」)に対応する状態が「合成済み」から「合成前」に更新される。
また、情報処理装置10は、図44に示すようにグラフオブジェクト情報を更新する。この場合、C国のデータ系列をグラフから削除することが決定しているので、C国のデータ系列に対応する各値をグラフオブジェクト情報から削除すると共に、グラフの系列並び方向に対応した座標の値を更新する。この場合、グラフ表示領域72に描画されているグラフの系列並び方向が横方向であるため、x座標の値を更新する。なお、各国のデータ系列に対応するx値は、グラフの種類やグラフとして描画されるデータ系列の数、これらデータ系列の項目の数に応じて予め設定されているため、その詳しい説明を省略する。
以上のようにして各種情報を更新し終えると、情報処理装置10は、更新後のグラフオブジェクト情報に基づいて、図40に示す集合縦棒グラフをグラフ表示領域72に描画することができる。
次に、図45を参照して、情報処理装置10のハードウェア構成例を説明する。
図45の情報処理装置10は、CPU121、システムコントローラ122、主メモリ123、グラフィクスプロセシングユニット(GPU)124、ストレージデバイス125、入力デバイス126、ネットワークインタフェース127、タッチスクリーンディスプレイ128を備えている。
CPU121は、情報処理装置10内のコンポーネントを制御するプロセッサである。CPU121は、ストレージデバイス125から主メモリ123にロードされる各種プログラムを実行する。これらプログラムには、オペレーティングシステム(OS)や各種アプリケーションプログラム等が含まれる。アプリケーションプログラムには、グラフ表示機能付きアプリケーションプログラムが含まれていてもよい。このグラフ表示機能付きアプリケーションプログラムは、上記したグラフ描画処理を実行可能な各種機能を有するアプリケーションプログラムとして機能する。CPU121は、グラフ表示機能付きアプリケーションプログラムを実行することにより、上記したグラフ描画処理を実行するように構成された処理部として機能することができる。
システムコントローラ122は、CPU121のローカルバスと他のコンポーネントとの間を接続するためのデバイスである。GPU124は、タッチスクリーンディスプレイ128に表示すべき画面イメージに対応する表示信号を生成する表示コントローラである。GPU124は、CPU121に内蔵されていてもよい。GPU124は、CPU121の制御の下、上記のグラフを画面上に表示する表示制御部として機能することができる。
タッチスクリーンディスプレイ128は、その画面上のタッチ位置を検知可能なディスプレイである。タッチスクリーンディスプレイ128は、例えば、液晶ディスプレイ(LCD)201と、タッチパネル又はデジタイザのようなセンサ202とを含む。
入力デバイス126はキーボード、マウス、他の各種入力デバイスである。ネットワークインタフェース127は、有線又は無線で情報処理装置10をネットワークに接続するための通信デバイスである。
なお、本実施形態では、情報処理装置10はデータ系列シンボルの中心座標の移動の軌跡とグラフ表示領域72を囲う線との交点に基づいてデータ系列シンボルがグラフ表示領域72にドロップされた方向を判定するとしたが、例えばグラフ表示領域72内に複数の仮想の領域があり、これら仮想領域のうちのどの仮想領域をデータ系列シンボルが通過したかによって、データ系列シンボルがグラフ表示領域72にドロップされた方向を判定してもよい。
さらに、情報処理装置10は、データ系列シンボルがグラフ表示領域72内のどの位置にドロップされたかに基づいてドロップ方向を判定してもよい。具体的には、グラフ表示領域72が、図46に示すように、2本の対角線によって4分割されている場合を想定する。この場合、例えば情報処理装置10は、データ系列シンボルがドロップされた位置が領域131内のいずれかの位置である場合、データ系列シンボルは上方向からグラフ表示領域72にドロップされたと判定する。また、情報処理装置10は、データ系列シンボルがドロップされた位置が領域132内のいずれかの位置である場合、データ系列シンボルは右方向からグラフ表示領域72にドロップされたと判定する。さらに、情報処理装置10は、データ系列シンボルがドロップされた位置が領域133内のいずれかの位置である場合、データ系列シンボルは下方向からグラフ表示領域72にドロップされたと判定する。また、情報処理装置10は、データ系列シンボルがドロップされた位置が領域134内のいずれかの位置である場合、データ系列シンボルは左方向からグラフ表示領域72にドロップされたと判定する。
以上説明した一実施形態によれば、グラフ表示画面上で、直感的な操作でグラフにデータ系列を容易に追加する又はグラフからデータ系列を削除することができ、あるいはグラフの種類を容易に変更することができる情報処理装置及びグラフ表示方法を提供することができる。したがって、ユーザは短い時間で様々なデータを分析することができる。
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。