以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
[情報処理装置の機能構成]
まず、本発明の一実施形態に係る情報処理装置10の機能構成の一例について、図1を参照しながら説明する。図1は、一実施形態にかかる情報処理装置10の機能構成の一例を示す。
情報処理装置10は、利用者の所定の操作を図面作成プログラムへの入力とするインタフェースを有し、立体的なグラフを描画するための仮想的な三次元座標系を画面上に構築する。情報処理装置10の一例としては、パーソナルコンピュータ(PC)や、タブレット型端末、スマートフォン等の携帯型端末が挙げられる。画面上に描画されるグラフの一例としては、棒グラフ、積層棒グラフ、折れ線グラフ等が挙げられる。
情報処理装置10は、入力部11、設定部12、算出部13、グラフ作成部14及び表示部15を有する。入力部11は、利用者のキーボードやマウスの操作に応じた情報を入力する。
設定部12は、利用者の操作に応じて、グラフを作成する際のパラメータを設定する。パラメータの一例としては、グラフの種類、グラフのスケール、棒グラフを作成する場合には、棒の太さや棒の色、透明、半透明の設定等が挙げられる。
算出部13は、データベース20に蓄積されたデータ群を分類してグラフに表示するデータ(統計値)を算出する。例えば、データベース20に地域名、年及び気温の三つの項目を有する複数のデータが蓄積されている場合、算出部13は、蓄積された複数のデータを用いて地域別及び年別に最高気温が25℃以上の夏日の日数、及び最高気温が30℃以上の真夏日の日数を算出することが一例として挙げられる。
例えば、図2には、グループ化されたデータの一例が示されている。図2は、データベース20に蓄積されたデータ群を予め定められた3つの項目「地域名」、「年」、「日数(気温)」でグループ化した表である。図2(a)は、「地域名」の値(小樽、東京、京都、那覇)と、「年」の値(2010、2011、2012)と、「日数(気温)」の値「夏日の日数」との組み合わせにより分類されたデータのテーブルが示されている。グループ化されたデータとは、ある項目が同じグループに属するデータである。例えば、図2(a)において、「小樽」の項目でグループ化されたデータは、2010年〜2012年の夏日の日数を示す(48、21、38)である。例えば、「東京」の項目でグループ化されたデータは、2010年〜2012年の夏日の日数を示す(81、26、70)である。
例えば、図2(a)において、「2010年」の項目でグループ化されたデータは、小樽、東京、京都、那覇の夏日の日数を示す(48、81、128、174)である。例えば、「2011年」の項目でグループ化されたデータは、小樽、東京、京都、那覇の夏日の日数を示す(21、26、50、62)である。
同様にして、例えば、図2(b)において、「小樽」の項目でグループ化されたデータは、2010年〜2012年の真夏日の日数を示す(5、2、4)である。
なお、データベース20は、情報処理装置10内の記憶装置又は情報処理装置10にネットワークを介して接続される記憶装置を用いて実現可能である。ネットワークを介して接続される記憶装置としては、例えばクラウドコンピュータ上の記憶装置が挙げられる。
グラフ作成部14は、横軸と縦軸と高さ軸とを有するグラフ上に、算出部13が算出したデータを示す三次元グラフを作成する。表示部15は、作成されたグラフを画面上に表示する。グラフ作成部14は、横軸又は縦軸のいずれかと高さ軸とを有する二次元グラフを作成することもできる。また、グラフ作成部14は、高さ軸を有する一次元グラフを作成することもできる。グラフ作成部14は、代表値を表示する図面を作成する図面作成部の一例である。図面作成部は、三次元グラフや二次元グラフの他、図2に示すような表(テーブル)形式の図面を作成してもよい。つまり、図面作成部の他の例としては、図2に示すような表から代表値を表示する表を作成する例が挙げられる。
なお、本実施形態における三次元グラフは、立体的なグラフを視覚的に表現する二次元画像である。また、グラフの横軸、縦軸及び高さ軸に割り当てられた項目は、データをグループ化するための図2の項目に対応する。
例えば、横軸(x軸)に示される「地域名」、高さ軸(y軸)に示される「日数(気温)」、縦軸(z軸)に示される「年」は、項目の一例である。また、「小樽」、「東京」、「京都」、「那覇」は、「地域名」の項目の値の一例であり、「夏日(25℃以上)の日数」、「真夏日(30℃以上)の日数」は、「日数(気温)」の項目の値の一例であり、「2010」、「2011」、「2012」は、「年」の項目の値の一例である。
以上、本実施形態にかかる情報処理装置10の機能構成の一例について説明した。以下では、かかる構成の情報処理装置10によって実行されるグラフ作成処理について説明する。
[グラフ作成処理]
本実施形態にかかるグラフ作成処理の一例について、図3を参照しながら説明する。図3は、一実施形態にかかるグラフ作成処理の一例を示す。グラフ作成処理が開始されると、グラフ作成部14は、基本画面を描画する(ステップS10)。グラフ作成部14は、横軸、縦軸及び高さ軸の三つの軸を設定し、立体的なグラフを描画するための仮想的な三次元空間の座標系を描画する。
次に、入力部11は、待機し(ステップS12)、データが入力されるのを待つ(ステップS14)。例えば、画面上又は操作パネルにファイルを読込むための操作ボタンがあってもよい。その場合、利用者が操作ボタンを押したとき、入力部11は、データが入力されたと判定し、指定されたファイルのデータ群を読み込み、ステップS16に進む。
次に、グラフ作成部14は、グラフの各軸のスケールを作成する(ステップS16)。グラフ作成部14は、読み込んだデータ群の分布を分析し、その分布範囲に応じて最適なグラフの描画範囲を決定し、各軸のスケールを作成する。これにより、データ群のうちの最大値や最小値が描画空間に最適に収まるようにグラフを作成することができる。グラフ作成部14は、作成されたスケールに応じて各軸の目盛り及び各軸に割り当てる項目のラベルを作成する。
次に、グラフ作成部14は、グラフ描画処理を実行する(ステップS18)。グラフ描画処理において、グラフ作成部14は、画面上に描画するグラフを作成する処理を実行する。グラフ描画処理の詳細については後述される。
画面上にグラフが描画された後、設定部12は、利用者の操作によりパラメータが変更されたかを判定する(ステップS20)。パラメータが変更されたと判定された場合、グラフ作成部14は、変更されたパラメータに基づき、再度、グラフ描画処理を実行する(ステップS18)。これにより、グラフ作成部14は、利用者がパラメータを変更する度に新たなグラフを作成し、画面上に描画する。
一方、パラメータは変更されていないと判定された場合、グラフ作成部14は、未処理のフレームがあるかを判定する(ステップS22)。ここでのフレームは、アニメーション中に表示される一枚のグラフを構成するコマを示す。ステップS22にて未処理のフレームはないと判定された場合、ステップS20に戻り、設定部12は、パラメーラが変更されるまで待機する。
一方、未処理のフレームがあると判定された場合、グラフ作成部14は、フレームを一つ進め(ステップS24)、新たな(次の)フレームについてのグラフ描画処理を実行する(ステップS18)。画面には、そのフレームのグラフが描画される。例えば、1月〜12月の各地の気温の変化をアニメーションで表示するとき、グラフ作成部14は、12のフレームについて順にステップS18〜S24の処理を実行する。これに応じて、表示部15は、表示部15が、1月から12月までの各地の気温を示したグラフを順にアニメーションにして表示する。この場合、1月から12月までのグラフを順に表示したら、ステップS22にて「No」と判定し、ステップS20に戻り、設定部12は、パラメーラが変更されるまで待機する。
以上、本実施形態のグラフ作成処理について説明した。次に、グラフ作成処理のステップS18にて呼び出されるグラフ描画処理について、図4を参照しながら説明する。なお、図5に示されるように、以下で描画される積層棒グラフ100の一例では、直交する3本の数直線x軸、y軸、z軸を定め、三次元グラフを描画する。
ここでは、横軸(x軸)は地域名の項目に対応し、それらの値は、「小樽」、「東京」、「京都」、「那覇」である。また、高さ軸(y軸)は気温に関する日数の項目に対応し、それらの値は、「夏日の日数」、「真夏日の日数」である。なお、夏日は、最高気温が25℃以上の日をいい、真夏日は、最高気温が30℃以上の日をいう。また、縦軸(z軸)は年の項目に対応し、それらの値は、「2010」、「2011」、「2012」である。
[グラフ描画処理]
図4は、一実施形態のグラフ描画処理の一例を示す。グラフ描画処理が開始されると、設定部12は、縦軸の長さを0(ゼロ)にする操作及び横軸の長さを0にする操作を検出したかを判定する(ステップS30)。ここで、利用者は、グラフに表示されている横軸、縦軸及び高さ軸をそれぞれ可変に操作することができる。軸の長さを0にする操作については後述される。
縦軸の長さを0にする操作及び横軸の長さを0にする操作が検出されたと判定された場合、グラフ作成部14は、一軸描画処理(二軸平均値)を実行する(ステップS32)。一軸描画処理(図16)については後述される。
一方、縦軸の長さを0にする操作及び横軸の長さを0にする操作は検出されていないと判定された場合、設定部12は、縦軸の長さを0にする操作が検出されたかを判定する(ステップS34)。縦軸の長さを0にする操作が検出されたと判定された場合、グラフ作成部14は、二軸描画処理(縦軸平均値)を実行する(ステップS36)。二軸描画処理(縦軸平均値)(図15)については後述される。
一方、縦軸の長さを0にする操作は検出されていないと判定された場合、設定部12は、横軸の長さを0にする操作が検出されたかを判定する(ステップS38)。横軸の長さを0にする操作が検出されたと判定された場合、グラフ作成部14は、二軸描画処理(横軸平均値)を実行する(ステップS40)。二軸描画処理(横軸平均値)(図12)については後述される。
一方、横軸の長さを0にする操作は検出されていないと判定された場合、グラフ作成部14は、三軸描画処理を実行する(ステップS42)。三軸描画処理(図6)については後述される。
グラフ作成部14は、ステップS32の一軸描画処理、ステップS36の二軸描画処理(縦軸平均値)、ステップS40の二軸描画処理(横軸平均値)、又はステップS42の三軸描画処理を実行した後、グリッドを作成する(ステップS44)。図5に示されるように、グリッド110は、利用者の三次元空間の認識を助けるための格子模様の二次元画像である。
図4に戻って、次に、グラフ作成部14は、ラベルを作成し(ステップS46)、本グラフ描画処理を終了する。ラベルは、各軸の値を示す指標である。図5のグラフでは、横軸の地域名(小樽、東京、京都、那覇)のラベル120、縦軸の年(2010,2011,2012)のラベル120、高さ軸の日数のラベル120が示されている。
以下では、以上に説明したグラフ描画処理のステップS42の三軸描画処理、ステップS40の二軸描画処理(横軸平均値)、ステップS36の二軸描画処理(縦軸平均値)、ステップS32の一軸描画処理(二軸平均値)について順に説明する。
[三軸描画処理]
図4のステップS42にて呼び出される三軸描画処理の一例について、図6を参照しながら説明する。図6は、一実施形態にかかる三軸描画処理の一例を示す。
ここでは、算出部13は、例えば、気象に関するデータベース20を使用して地域別及び年別に分類された夏日及び真夏日の日数をそれぞれカウントする。このとき、データベース20に蓄積された複数のデータは、地域名、年、気温の三つの項目を有するデータである。データの気温の項目から夏日の日数及び真夏日の日数が算出される。算出された夏日及び真夏日の日数のデータは、地域別及び年別に積層された積層棒グラフにより表示される。
図6の三軸描画処理において説明する「横系列」は図5の横軸200の項目の系列をいい、「縦系列」は図5の縦軸210の項目の系列をいい、「高さ系列」は図5の高さ軸220の項目の系列をいう。本実施形態では、「横系列」の項目は「地域名」であり、「横系列」の項目の値は「小樽」、「東京」、「京都」、「那覇」である。また、「縦系列」の項目は「年」であり、「縦系列」の項目の値は「2010」、「2011」、「2012」である。また、「高さ系列」の項目は「日数」であり、「高さ系列」の項目の値は「夏日」、「真夏日」である。図5のグラフ100の場合、高さ系列は、夏日の日数の上に真夏日の日数が積み上げられる積層構造を有する。
図6の三軸描画処理が開始されると、グラフ作成部14は、未処理の縦系列があるかを判定する(ステップS50)。この時点では、グラフのいずれの棒も作成されていない。よって、グラフ作成部14は、未処理の縦系列があると判定し、次の系列に進み(ステップS52)、未処理の高さ系列があるかを判定する(ステップS54)。
この時点では、グラフのいずれの棒も作成されていない。よって、グラフ作成部14は、未処理の高さ系列があると判定し、次の系列に進み(ステップS56)、未処理の横系列があるかを判定する(ステップS58)。この時点では、グラフのいずれの棒も作成されていない。よって、グラフ作成部14は、未処理の横系列があると判定し、次の系列に進み(ステップS60)、立体作成処理を実行する(ステップS62)。立体作成処理は、その時点で処理すべき系列の棒グラフの棒の立体図形の二次元画像を作成する処理である。この時点では図5に示されるグラフ100の縦系列が「2010」、横系列が「小樽」、高さの系列が「夏日」の棒1aの立体図形の二次元画像(以下、単に「棒」又は「棒の立体図形」ともいう。)が作成される。立体作成処理(図7)については後述される。
次に、グラフ作成部14は、立体配置処理を実行する(ステップS64)。立体配置処理は、立体作成処理により作成された棒をグラフ100上に配置する処理である。立体配置処理(図8)については後述される。この時点では図5のグラフ100に示される「2010」年の「小樽」の位置に、2010年の小樽の夏日を示す棒1aの立体図形が配置される。
次に、ステップS58に戻り、グラフ作成部14は、未処理の横系列があるかを判定する。この時点では、「東京」、「京都」、「那覇」が未処理である。よって、グラフ作成部14は、次の系列に進み(ステップS60)、2010年の東京の夏日の立体作成処理を実行し(ステップS62)、「2010」年の「東京」の位置に、2010年の東京の夏日を示す棒2aの立体図形を配置する(ステップS64)。次に、グラフ作成部14は、ステップS58〜S64の処理を未処理の横系列「京都」、「那覇」について順に繰り返し、2010年の京都の夏日を示す棒3aを描画し、2010年の那覇の夏日を示す棒4aを描画する。
次に、ステップS58に戻り、グラフ作成部14は、未処理の横系列があるかを判定する。この時点では、未処理の横系列はない。よって、ステップS54に戻り、グラフ作成部14は、未処理の高さ系列があるかを判定する。この時点では、2010年の「真夏日」の高さ系列が未処理である。よって、グラフ作成部14は、次の系列に進み(ステップS56)、未処理の横系列があるかを判定する(ステップS58)。この時点では、「真夏日」の横系列はすべて未処理である。よって、グラフ作成部14は、次の系列に進み(ステップS60)、ステップS62,S64にて立体作成処理及び立体配置処理を実行する。その結果、図5に示されるグラフ100において、2010年の小樽の真夏日を示す棒1bが「夏日」を示す棒1a上に描画される。同様にして、ステップS58〜S64が繰り返し実行され、2010年の東京、京都、那覇の「真夏日」を示す棒2b、3b、4bがそれぞれの地域の「夏日」を示す棒2a、3a、4a上に描画される。
次に、ステップS58に戻り、グラフ作成部14は、未処理の横系列があるかを判定する。この時点では、2010年の未処理の横系列はない。よって、ステップS54に戻り、グラフ作成部14は、未処理の高さ系列があるかを判定する。この時点では、2010年の未処理の高さ系列はない。よって、ステップS50に戻り、グラフ作成部14は、未処理の縦系列があるかを判定する。この時点では、「2011」年及び「2012」年が未処理である。よって、グラフ作成部14は、次の系列に進み(ステップS52)、未処理の高さ系列があるかを判定する(ステップS54)。この時点では、「2011」年の高さ系列は未処理である。よって、次の系列に進み(ステップS56)、未処理の横系列があるかを判定する(ステップS58)。この時点では、「2011」年の「夏日」の横系列は未処理である。よって、グラフ作成部14は、ステップS58〜S64の処理を未処理の横系列「小樽」、「東京」、「京都」、「那覇」について順に繰り返す。これにより、図5のグラフ100に示される「2011」年の「小樽」、「東京」、「京都」、「那覇」の位置に、2011年の各地域の夏日を示す棒5a〜8aが配置される。
次いで、グラフ作成部14は、ステップS54に戻り、「2011」年の真夏日が未処理であるため、次の高さ系列である「真夏日」に進み(ステップS56)、未処理の横系列がなくなるまで、ステップS58〜S64の処理を繰り返し実行する。これにより、「2011」年の「小樽」、「東京」、「京都」、「那覇」の位置に、2011年の各地域の真夏日を示す棒5b〜8bが配置される。
この時点で、未処理の横系列及び未処理の縦系列はない。よって、ステップS50に戻り、グラフ作成部14は、未処理の縦系列「2012」年について、ステップS50〜S64の処理を実行する。これにより、「2012」年の「小樽」、「東京」、「京都」、「那覇」の位置に2012年の各地域の「夏日」を示す棒9a〜12a及び「真夏日」を示す棒9b〜12bが配置される。その後、グラフ作成部14は、ステップS50にて未処理の縦系列はないと判定し、本三軸描画処理を終了する。
(立体作成処理)
ここで、図6のステップS62にて呼び出される立体作成処理の一例について、図7を参照しながら説明する。図7は、一実施形態にかかる立体作成処理の一例を示す。ここでは、グラフに表示する地域別及び年別の棒の立体図形の二次元画像が作成される。
立体作成処理が開始されると、グラフ作成部14は、グラフの棒の底面(X,Y)を設定する(ステップS200)。底面(X,Y)のXは、棒の底面の横の長さであり、Yは棒の底面の縦の長さである。グラフ作成部14は、グラフに使用されたデータの母数から棒の底面(X,Y)を計算する。次に、グラフ作成部14は、棒の高さを設定する(ステップS202)。グラフ作成部14は、地域別及び年別に分類された夏日及び真夏日のそれぞれの日数から夏日及び真夏日のそれぞれの棒の高さを計算する。例えば、図5の2010年の小樽の棒1aを作成する際、2010年の小樽の夏日の日数から棒1aの高さが設定される。
次に、グラフ作成部14は、棒をグラフに表示する際の素材を判定する(ステップS204)。棒をグラフに表示する際の素材は、グラフを作成する際のパラメータの一つであり、初期値又は利用者の操作に応じて透明又は不透明、色等が設定される。透明の場合、グラフ作成部14は、透明度を設定し(ステップS206)、透明度に応じて色を定める(ステップS208)。不透明の場合、グラフ作成部14は、所望の色を定める(ステップS210)。次いで、グラフ作成部14は、設定された底面及び高さの棒を定められた色で表示した立体図形の二次元画像を生成し(ステップS212)、本立体作成処理を終了する。
(立体配置処理)
次に、図6のステップS64にて呼び出される立体の配置処理の一例について、図8を参照しながら説明する。図8は、一実施形態にかかる立体配置処理の一例を示す。本立体配置処理により、図7の立体作成処理において作成された棒の立体図形がグラフ100上に配置される。
立体配置処理が開始されると、グラフ作成部14は、スケールを計算する(ステップS220)。スケールは、グラフ100に表示されるデータの分布を分析し、グラフの描画範囲が最適となるような値に設定される。
次に、グラフ作成部14は、横軸、縦軸及び高さ軸のそれぞれの倍率を計算する(ステップS222)。画面に描画する空間軸は、伸展及び圧縮が可能であり、各軸の倍率を変化させることができる。グラフ作成部14は、計算された倍率により表示された横軸、縦軸及び高さ軸により画定される空間に棒の立体図形を配置し、本立体配置処理を終了する。以上の処理によって、図5に示される地域別及び年別に分類された夏日の日数を示した棒1a〜12a、真夏日の日数を示した1b〜12bがグラフ100上に表示される。
[軸の長さを変化させる操作]
次に、軸の長さを変化させる操作の一例について、図9〜図11を参照しながら説明する。図9〜図11は、一実施形態にかかる軸の操作の一例を示した図である。図9は、利用者がグラフの横軸200及び縦軸210の一方又は両方に指をタッチ又は近接して軸を操作する例を示す。
グラフ100を表示する画面は、指の接触又は近接を検知可能なタッチパネルの機能を有する。利用者は、指を画面上にタッチし、軸をなぞったり、軸上をスライドさせたりして軸の長さを変えることができる。利用者は、画面上にタッチした指をはらう操作(フリック操作)や画面をタッチする操作(タップ操作)により軸の長さを変えてもよい。利用者は、指の替わりにマウスのカーソルや所定のペンを軸に合わせて移動させることで軸の長さを変えてもよい。
例えば、利用者が、画面に表示されている横軸200を位置a1でタッチ又は近接し、位置a2まで指をスライドさせる。これにより、横軸200の長さが位置a1から位置a2までの距離だけ縮み、横軸200のスケールが小さくなる。このとき、図9には図示されていないが、グラフ100の各棒の横方向の表示は横軸200の長さと同じだけ縮む。
そして、利用者が、位置a3まで指をスライドさせたとき、指の位置a3は、横軸200に対するグラフ100の基点A(横軸200及びグラフ100の横方向の基となる点)と一致し、横軸200の長さが0になる。このとき、グラフ100の各棒の横方向の表示は全て重なる。
このように、横軸200の長さを0にする操作は、利用者が、横軸200に対する基点A又は基点Aの近傍まで指をスライドさせる操作であってもよい。つまり、横軸200の長さを0にする操作は、横軸200のグラフ上の長さが0になる操作だけでなく、横軸200のグラフ上の長さが0以外の最小値になる操作を含む。
また、横軸200の長さを0にする操作は、横軸200の末端、その他の横軸200上のいずれかの位置又は横軸200の近傍の位置にタッチした指を基点Aの方向にはらう操作(フリック操作)により横軸200を縮小させる操作であってもよい。この場合、フリック操作は、横軸200のグラフ上の長さが0、最小値又は予め定められた閾値等の所定の長さ以下になるまで1回又は複数回繰り返し行われてもよい。
また、横軸200の長さを0にする操作は、横軸200の基点A、横軸200の末端、その他の横軸200上のいずれかの位置又は横軸200の近傍でのタップ操作により横軸200を縮小させる操作であってもよい。この場合、タップ操作は、横軸200のグラフ上の長さが0、最小値又は予め定められた閾値等の所定の長さ以下になるまで1回又は複数回繰り返し行われてもよい。横軸200の長さを0にする操作は、グラフ100に表示された横軸200の末端を横軸200の基点A又は基点Aの近傍に重ねるような操作であってもよい。
なお、利用者により横軸200の長さを0にする操作が行われると、横軸200はグラフ上からなくなる、つまり、横軸200を非表示にしてもよいし、横軸200を表示したままにしてもよい。
縦軸210に対しても同様にして、例えば、利用者が、画面に表示されている縦軸210を位置b1でタッチ又は近接し、位置b2まで指をスライドさせることで、縦軸210の長さが位置b1から位置b2までの距離だけ縮み、縦軸210のスケールが小さくなる。このとき、グラフ100の各棒の縦方向の表示は縦軸210の長さと同じだけ縮む。
そして、利用者が、位置b3まで指をスライドさせたとき、指の位置b3は、縦軸210に対するグラフ100の基点B(縦軸210及びグラフ100の縦方向の基となる点)と一致し、縦軸210の長さが0になる。このとき、グラフ100の各棒の縦方向の表示は全て重なる。
このように、縦軸210の長さを0にする操作は、利用者が、縦軸210に対する基点B又は基点Bの近傍まで指をスライドさせる操作であってもよい。つまり、縦軸210の長さを0にする操作は、縦軸210のグラフ上の長さが0になる場合だけでなく、縦軸210のグラフ上の長さが0以外の最小値になる操作を含む。
また、縦軸210の長さを0にする操作は、縦軸210の末端、その他の縦軸210上のいずれかの位置又は縦軸210の近傍の位置にタッチした指を基点Bの方向にはらう操作(フリック操作)により縦軸210を縮小させる操作であってもよい。この場合、フリック操作は、縦軸210のグラフ上の長さが0、最小値又は予め定められた閾値等の所定の長さ以下になるまで1回又は複数回繰り返し行われてもよい。
また、縦軸210の長さを0にする操作は、縦軸210の基点B、縦軸210の末端、その他の縦軸210上のいずれかの位置又は縦軸210の近傍でのタップ操作により縦軸210を縮小させる操作であってもよい。この場合、タップ操作は、縦軸210のグラフ上の長さが0、最小値又は予め定められた閾値等の所定の長さ以下になるまで1回又は複数回繰り返し行われてもよい。縦軸210の長さを0にする操作は、グラフ100に表示された縦軸210の末端を縦軸210の基点B又は該基点Bの近傍に重ねるような操作であってもよい。
なお、利用者により縦軸210の長さを0にする操作が行われると、縦軸210はグラフ上からなくなる、つまり、縦軸210を非表示にしてもよいし、縦軸210を表示したままにしてもよい。なお、利用者は、高さ軸220の長さを変える操作を行うこともできる。
図10では、グラフ100の軸をタッチして操作する替わりに、グラフ100の軸とは別に表示される、グラフ100の軸を表現する画像が描画された設定画面300を用いて各軸の長さを0にする操作を行う例を示す。設定画面300は、グラフ100とともに表示可能である。設定画面300には、横軸(x軸)のスライダー310、高さ軸(y軸)のスライダー320及び縦軸(z軸)のスライダー330が表示されている。スライダー310はグラフ100の横軸に対応し、スライダー320はグラフ100の高さ軸に対応し、スライダー330はグラフ100の縦軸に対応する。
図10は、横軸のスライダー310が、利用者によって操作されている例を示す。利用者は、位置c1から位置c2まで指をスライドさせることで、グラフ100の横方向の表示を最大表示のときの70%まで縮めることができる。そして、利用者が、スライダー310の左端の位置c3(つまり、横軸の基点に対応するスライダー310の左端)まで指をスライドさせたとき、横軸の長さを0にする操作が行われたことになる。
同様にして、スライダー320の操作によりグラフ100の高さ方向の表示の伸縮が可能である。また、スライダー330の操作によりグラフ100の縦方向の表示の伸縮が可能である。そして、利用者が、スライダー320の左端の位置(つまり、高さ軸の基点に対応するスライダー320の左端)まで指をスライドさせたとき、縦軸の長さを0にする操作が行われたことになる。マウスのカーソルなどにより、スライダー310,320,330を操作してもよい。
図11では、グラフ100の軸をタッチして操作する替わりに、グラフ100の軸とは別に表示される、グラフ100の軸を表現する画像が描画された操作ハンドル350を用いて各軸の長さを0にする操作を行う例を示す。操作ハンドル350には、x軸、y軸及びz軸の3つの操作軸が表示されている。x軸はグラフ100の横軸に対応し、y軸はグラフ100の高さ軸に対応し、z軸はグラフ100の縦軸に対応する。利用者は、指やマウスを使用して各操作軸を伸縮することができる。利用者が、指やマウスのカーソルを各軸の基点d又はその近傍まで移動させたとき、各軸の長さを0にする操作が行われたことになる。例えば、利用者が、x軸の操作軸を指で基点dまで移動させたとき、横軸の長さを0にする操作が行われたことになる。また、利用者が、y軸の操作軸を指で基点dまで移動させたとき、高さ軸の長さを0にする操作が行われたことになる。また、利用者が、z軸の操作軸を指で基点dまで移動させたとき、縦軸の長さを0にする操作が行われたことになる。
図9〜図11にて示した軸の長さを0にする操作は、複数の軸に対して行われてもよい。このとき、利用者は、複数の軸の長さを0にする操作を順番に一つずつ行ってもよいし、並行して操作してもよい。例えば、利用者は、横軸の長さを0にする操作を行った後、縦軸の長さを0にする操作を行ってもよいし、縦軸の長さを0にする操作を行った後、横軸の長さを0にする操作を行ってもよい。利用者は、横軸の長さを0にする操作と縦軸の長さを0にする操作とを並行して行ってもよい。
以上、軸の長さを0にする操作についての具体例を説明した。このように軸の長さを0にする操作は、グラフに表示された軸の末端からその軸の基点の方向にその軸を所定の長さ(所定の長さとは、例えば、0、最小値の長さ又は予め定められた閾値等)以下になるまで縮小する操作であってもよい。又は、グラフに表示された軸とは別に表示される、グラフの軸を表現する画像を操作して、グラフに表示された軸の末端からその軸の基点の方向にその軸を所定の長さ以下になるまで縮小する操作であってもよい。
[二軸描画処理(横軸平均値)]
次に、上記の「軸の長さを0にする操作」に応じて実行されるグラフの作成について説明する。まず、図4のステップS40にて呼び出される二軸描画処理(横軸平均値)の一例について、図12を参照しながら説明する。図12は、一実施形態にかかる二軸描画処理(横軸平均値)の一例を示す。二軸描画処理(横軸平均値)は、横軸の長さを0にする操作が行われたときに実行される。
二軸描画処理(横軸平均値)が開始されると、グラフ作成部14は、未処理の縦系列があるかを判定する(ステップS70)。この時点では、グラフのいずれの棒も作成されていない。よって、グラフ作成部14は、未処理の縦系列があると判定し、次の系列に進み(ステップS72)、未処理の高さ系列があるかを判定する(ステップS74)。ステップS74においても、グラフ作成部14は、未処理の高さ系列があると判定し、次の系列に進み(ステップS76)、未処理の横系列があるかを判定する(ステップS78)。ステップS78においても、グラフ作成部14は、未処理の横系列があると判定する。よって、次の系列に進み(ステップS80)、算出部13は、2010年の小樽の夏日のデータを要素値毎に加算する(ステップS82)。ここでは、データの要素値としては、2010年の小樽の夏日の日数を示す数値と、2010年の小樽の夏日の棒を表示する色を示す数値とがあり、ステップS82では、それぞれの数値が別々に加算される。なお、棒を表示する色を示す数値の一例としては、例えば、赤,緑,青の各要素の輝度を数値で指定するRGB値が挙げられる。
次に、ステップS78に戻り、グラフ作成部14は、未処理の横系列があるかを判定する。この時点では、「東京」、「京都」、「那覇」が未処理である。よって、次の系列に進み(ステップS80)、算出部13は、2010年の東京の夏日のデータを要素値毎に加算する(ステップS82)。具体的には、算出部13は、2010年の東京の夏日の日数を示す数値を、2010年の小樽の夏日の日数を示す数値に加算する。また、算出部13は、2010年の東京の夏日の棒を表示する色を示す数値を2010年の小樽の夏日の棒を表示する色を示す数値に加算する。
同様にして、ステップS78〜S82の処理を未処理の横系列がなくなるまで行う。その結果、2010年の四地域の夏日の日数を示す数値の全加算値と、2010年の四地域の夏日の各棒を表示する色を示す数値の全加算値とが算出される。
次に、ステップS78に戻り、グラフ作成部14は、未処理の横系列があるかを判定する。この時点では、未処理の横系列はない。よって、算出部13は、全加算値に基づき平均値を計算する(ステップS84)。ここでの平均値は、2010年の四地域の夏日の日数の平均値と、2010年の各地域の夏日の棒を表示する色の平均値との二つである。
例えば、夏日の日数を示した図2(a)のテーブルの場合、2010年でグループ化された夏日の日数のデータは、「48」、「81」、「128」、「174」である。よって、ここでは、算出部13は、全加算値「431」に基づき、夏日の日数の平均値「107.75」を算出する。
次に、グラフ作成部14は、2010年の夏日の立体作成処理を実行後(ステップS86)、立体配置処理を実行する(ステップS88)。これにより、図13に示されるように、グラフの基点Aの延長線上に2010年の四地域の夏日の日数の平均値を示す棒13aが配置される。このとき棒13aは、算出された色の平均値で表示される。
次に、図12のステップS74に戻り、グラフ作成部14は、未処理の高さ系列があるかを判定する。この時点では、2010年の真夏日が未処理である。よって、次の系列(ステップS76)に進み、算出部13は、ステップS78〜S82の処理を小樽、東京、京都、那覇について繰り返し実行した後、ステップS84にて2010年の四地域の真夏日の日数の平均値と、2010年の各地域の真夏日の棒を表示する色の平均値を計算する。
例えば、真夏日の日数を示した図2(b)のテーブルの場合、2010年でグループ化された真夏日の日数のデータは、「5」、「10」、「20」、「38」である。よって、ここでは、算出部13は、全加算値「73」に基づき、真夏日の日数の平均値「18.25」を算出する。
次いで、グラフ作成部14は、2010年の四地域の真夏日の日数の平均値及びグラフ上の色の平均値に基づき立体作成処理を実行し(ステップS86)、図13に示されるように、2010年の四地域の真夏日の日数の平均値を示す棒13bを棒13aに積層させて配置する(ステップS88)。このとき棒13bは、算出された色の平均値で表示される。
次に、図12のステップS74に戻り、グラフ作成部14は、未処理の高さ系列があるかを判定する。この時点では、未処理の高さ系列はない。よって、ステップS70に戻り、グラフ作成部14は、未処理の縦系列があるかを判定する(ステップS70)。この時点では、2011年、2012年が未処理である。よって、ステップS72〜S88の処理が実行され、図13に示されるように、グラフの基点Aの延長線上に並列に、2011年の四地域の夏日及び真夏日の日数の平均値を示す棒14a、14bが積層され、算出された色の平均値で表示される。
同様にして、未処理の縦系列である「2012年」に対して、ステップS70〜S88の処理が実行される。これにより、図13に示されるように、グラフの基点Aの延長線上に並列に、2012年の四地域の夏日及び真夏日の日数の平均値を示す棒15a、15bが積層され、算出された色の平均値で表示される。
以上、本実施形態に係る二軸描画処理(横軸平均値)について説明した。本実施形態に係る二軸描画処理(横軸平均値)では、「地域名」、「年」、夏日及び真夏日の「日数」の三つの項目を有する複数のデータが表示されたグラフにおいて、横軸の長さを0にする操作が行われる。これに応じて縦軸の項目である「年」の値が一致するデータ群毎に高さ軸の項目である夏日及び真夏日の「日数」の平均値がそれぞれ算出される。そして、縦軸と高さ軸と、算出された平均値とを表示するグラフが作成される。これにより、「横軸の長さを0にする操作」により、グラフ100に表示された横方向のデータ群の平均値を視覚的に認識できるようにグラフを作成することができる。
このように、横軸の長さを0にする操作は、横軸の項目の全ての値(小樽、東京、京都、那覇)に対する年毎の棒を重ねるようにする操作ともいえ、これに応じて作成されたグラフに表示される年毎の四地域の夏日及び真夏日の平均値を連想させる直感的操作である。このため、本実施形態では、利用者は、横軸の長さを0にする操作を行うことで、作成されるグラフに年毎の四地域の夏日及び真夏日の平均値が表示されることを視覚的に認識できる。
なお、このような本実施形態による図面作成方法では、平均値をグラフに表示することを指示するための特別な操作ボタンを操作パネル等に設ける必要がない。このため、操作パネルをシンプルに構成することができる。
次に、本実施形態に係る二軸描画処理(縦軸平均値)について説明する。
[二軸描画処理(縦軸平均値)]
図4のステップS36にて呼び出される二軸描画処理(縦軸平均値)の一例について、図15を参照しながら説明する。図15は、一実施形態にかかる二軸描画処理(縦軸平均値)の一例を示す。二軸描画処理(縦軸平均値)は、縦軸の長さを0にする操作が行われたときに実行される。
二軸描画処理(縦軸平均値)が開始されると、グラフ作成部14は、未処理の横系列があるかを判定する(ステップS90)。この時点では、グラフのいずれの棒も作成されていない。よって、グラフ作成部14は、未処理の横系列があると判定し、次の系列に進み(ステップS92)、未処理の高さ系列があるかを判定する(ステップS94)。ステップS94においても、グラフ作成部14は、未処理の高さ系列があると判定し、次の系列に進み(ステップS96)、未処理の縦系列があるかを判定する(ステップS98)。ステップS98においても、グラフ作成部14は、未処理の縦系列があると判定する。よって、次の系列に進み(ステップS100)、算出部13は、小樽の2010年の夏日のデータを要素値毎に加算する(ステップS102)。ここでは、データの要素値としては、小樽の2010年の夏日の日数を示す数値と、小樽の2010年の夏日の棒を表示する色を示す数値とがあり、ステップS102では、それぞれの数値が別々に加算される。
次に、ステップS98に戻り、グラフ作成部14は、未処理の縦系列があるかを判定する。この時点では、「2011」及び「2012」年が未処理である。よって、次の系列に進み(ステップS100)、算出部13は、小樽の2011年の夏日に関し、データを要素値(夏日の日数及び色)毎に加算する(ステップS102)。同様にして、ステップS98〜S102の処理を未処理の縦系列がなくなるまで行う。その結果、小樽の2010年〜2012年の夏日の日数を示す数値の全加算値と、小樽の2010年〜2012年の夏日の棒を表示したグラフ上の色を示す数値の全加算値とが算出される。
次に、ステップS98に戻り、グラフ作成部14は、未処理の縦系列があるかを判定する。この時点では、未処理の縦系列はない。よって、算出部13は、平均値を計算する(ステップS104)。ここでの平均値は、上記三年間の小樽の夏日の日数の平均値と、各年の小樽の夏日の日数を示した棒の色の平均値との二つである。
例えば、夏日の日数を示した図2(a)のテーブルの場合、小樽でグループ化された夏日の日数のデータは、「48」、「21」、「38」である。よって、ここでは、算出部13は、全加算値「107」に基づき、夏日の日数の平均値「35.67」を算出する。
次に、グラフ作成部14は、小樽の夏日の立体作成処理を実行後(ステップS106)、立体配置処理を実行する(ステップS108)。これにより、図14に示されるように、グラフの基点Bの延長線上に上記三年間の小樽の夏日の日数の平均値を示す棒16aが配置される。このとき棒16aは、算出された色の平均値で表示される。
次に、図15のステップS94に戻り、グラフ作成部14は、未処理の高さ系列があるかを判定する。この時点では、小樽の真夏日が未処理である。よって、次の系列に進み(ステップS96)、算出部13は、ステップS98〜S102の処理を2011年及び2012年について繰り返し実行する。その後、算出部13は、ステップS104にて小樽の上記三年間の真夏日の日数の平均値と、小樽の上記三年間の夏日の棒の色の平均値とを計算する。
例えば、真夏日の日数を示した図2(b)のテーブルの場合、小樽でグループ化された真夏日の日数のデータは、「5」、「2」、「4」である。よって、ここでは、算出部13は、全加算値「11」に基づき、夏日の日数の平均値「3.67」を算出する。
次いで、グラフ作成部14は、小樽の真夏日の立体作成処理を実行する(ステップS106)。そして、グラフ作成部14は、図14に示されるように、小樽の上記三年間の真夏日の日数の平均値を示す棒16bを夏日の日数の平均値を示す棒16aに積層させて、配置する(ステップS108)。このとき棒16bは、算出された色の平均値で表示される。
次に、図15のステップS94に戻り、グラフ作成部14は、未処理の高さ系列があるかを判定する。この時点では、未処理の高さ系列はない。よって、ステップS90に戻り、グラフ作成部14は、未処理の縦系列があるかを判定する。この時点では、東京、京都、那覇が未処理である。よって、ステップS92〜S108の処理が実行され、図14に示されるように、上記三年間の東京の夏日及び真夏日の日数の平均値を示す棒17a、17bが、算出された色の平均値で表示される。同様にしてステップS90〜S108の処理が繰り返し実行され、図14に示される上記三年間の京都、那覇の夏日及び真夏日の日数の平均値を示す棒18a、18b及び棒19a、19bが、それぞれに算出された色の平均値で表示される。
以上、本実施形態に係る二軸描画処理(縦軸平均値)について説明した。本実施形態に係る二軸描画処理(縦軸平均値)では、縦軸の長さを0にする操作が行われると、これに応じて横軸の項目である「地域名」の値が一致するデータ群毎に高さ軸の項目である夏日及び真夏日の「日数」の平均値がそれぞれ算出される。そして、横軸と高さ軸と、算出された平均値とを表示するグラフが作成される。これにより、「縦軸の長さを0にする操作」により、グラフ100に表示されたデータ群の平均値を視覚的に認識できるようにグラフを作成することができる。
このように、縦軸の長さを0にする操作は、縦軸の項目の全ての値(2010、2011、2012)に対する地域毎の棒を重ねるようにする操作ともいえ、これに応じて作成されたグラフに表示される地域毎の上記三年間の夏日及び真夏日の平均値を連想させる直感的操作である。このため、本実施形態では、利用者は、縦軸の長さを0にする操作を行うことで、作成されるグラフに地域毎の上記三年間の夏日及び真夏日の平均値が表示されることを視覚的に認識できる。
なお、上記実施形態に係る二軸描画処理(横軸平均値、縦軸平均値)では、算出された夏日及び真夏日の日数の平均値を示す棒を、算出された色の平均値でグラフ上に表示した。しかしながら、上記夏日及び真夏日の日数の平均値を示す棒を、色を付さないでグラフ上に表示してもよい。この場合には、色の平均値を算出する処理(色に関する要素値の加算と平均値の算出)を省略することができる。
以上では、横軸及び縦軸の一方の長さを0にする操作に応じてグラフを作成した。以下では、横軸及び縦軸の両方の長さを0にする操作に応じて実行されるグラフの作成について説明する。
[一軸描画処理(二軸平均値)]
図4のステップS32にて呼び出される一軸描画処理(二軸平均値)の一例について、図16を参照しながら説明する。図16は、一実施形態にかかる一軸描画処理の一例を示す。
一軸描画処理が開始されると、グラフ作成部14は、未処理の高さ系列があるかを判定する(ステップS110)。この時点では、グラフのいずれの棒も作成されていない。よって、グラフ作成部14は、未処理の高さ系列があると判定し、次の系列に進み(ステップS112)、未処理の横系列があるかを判定する(ステップS114)。ステップS114においても、グラフ作成部14は、未処理の横系列があると判定し、次の系列に進み(ステップS116)、未処理の縦系列があるかを判定する(ステップS118)。ステップS118においても、グラフ作成部14は、未処理の縦系列があると判定する。よって、次の系列に進み(ステップS120)、算出部13は、小樽の2010年の夏日のデータを要素値毎に加算する(ステップS122)。
次に、ステップS118に戻り、グラフ作成部14は、未処理の縦系列があるかを判定する。この時点では、2011年及び2012年が未処理である。よって、次の系列に進み(ステップS120)、算出部13は、小樽の2011年の夏日のデータを要素値毎に加算する(ステップS122)。同様にして、算出部13は、ステップS118〜S122の処理を未処理の縦系列がなくなるまで行う。
その結果、小樽の2010年〜2012年の夏日の日数を示す数値の全加算値と、小樽の2010年〜2012年の夏日の棒を表示する色を示す数値の全加算値とが算出される。
次に、ステップS118に戻り、グラフ作成部14は、未処理の縦系列があるかを判定する。この時点では、未処理の縦系列はない。よって、ステップS114に戻り、グラフ作成部14は、未処理の横系列があるかを判定する。この時点では、東京、京都、那覇が未処理である。よって、算出部13は、未処理の横系列の東京、京都、那覇の各項目に対して、ステップS118〜S122の処理を未処理の縦系列がなくなるまで繰り返し実行する。その結果、各地域の上記三年間の夏日の日数を示す数値の全加算値と、各地域の上記三年間の夏日の棒を表示する色を示す数値の全加算値とが算出される。
この時点でステップS114にて、グラフ作成部14は、未処理の横系列があるかを判定する。この時点では、未処理の横系列はない。よって、次に、算出部13は、横系列の値を加算する(ステップ124)。つまり、算出部13は、小樽、東京、京都及び那覇の各地域の上記三年間の夏日の日数を示す数値の全加算値をすべて加算する。また、算出部13は、上記地域毎の上記三年間の夏日の棒を表示する色を示す数値の全加算値をすべて加算する。
次に、算出部13は、上記四地域の三年間の夏日の日数を示す数値の全加算値に基づき、上記四地域の三年間の夏日の日数の平均値を算出する(ステップS126)。また、算出部13は、上記四地域の三年間の夏日の棒を表示する色を示す数値の全加算値に基づき、上記四地域の三年間の夏日の棒を表示する色を示す数値の平均値を算出する(ステップS126)。
例えば、図2(a)のテーブルの場合、図2(a)の夏日の日数のデータを全て加算し、全加算値を12で割ることで、夏日の日数の平均値が算出される。
次に、グラフ作成部14は、立体作成処理を実行し(ステップS128)、図17に示されるように、高さ軸に対して上記四地域の三年間の夏日の日数の平均値を示す棒20aを配置する(ステップS130)。このとき棒20aは、算出された色の平均値で表示される。
次に、図16のステップS110に戻り、グラフ作成部14は、未処理の高さ系列があるかを判定する。この時点では、真夏日が未処理である。よって、次の系列に進み(ステップS112)、算出部13は、ステップS114〜S122の処理を繰り返し実行した後、ステップS124にて横系列の値をすべて加算する。次に、算出部13は、上記四地域の三年間の真夏日の日数の平均値、及び上記四地域の三年間の真夏日の棒を表示する色を示す数値の平均値を計算する(ステップS126)。
例えば、図2(b)のテーブルの場合、図2(b)の真夏日の日数のデータを全て加算し、全加算値を12で割ることで、真夏日の日数の平均値が算出される。
次いで、グラフ作成部14は、立体作成処理を実行し(ステップS128)、図17に示されるように、高さ軸に対して上記四地域の三年間の真夏日の日数の平均値を示す棒20bを配置する(ステップS130)。このとき棒20bは、算出された色の平均値で表示される。
次に、ステップS110に戻り、グラフ作成部14は、未処理の高さ系列があるかを判定する。この時点では、未処理の高さ系列はない。よって、本一軸描画処理を終了する。
以上に説明したように、本実施形態に係る一軸描画処理では、三次元グラフの横軸及び縦軸の両方の長さを0にする操作、すなわち、横軸及び縦軸のすべての項目を重ねるようにする操作によって四地域の三年間の夏日及び真夏日の平均値をグラフに表示できる。このため、本実施形態では、利用者は、横軸及び縦軸の両方の長さを0にする操作を行うことで、作成されるグラフに上記四地域の三年間の夏日及び真夏日の平均値が表示されることを視覚的に認識できる。
以上、本実施形態に係る情報処理装置10による図面作成方法について説明した。これによれば、一方の軸の長さを0にする操作に応じて、他方の軸に対応する項目の値が一致するデータ群毎に高さ軸に対応する項目の値の平均値を表示するグラフが作成される。これにより、グラフに表示されたデータ群の平均値を視覚的に認識できるようにグラフを作成することができる。
なお、上記実施形態では、積層棒グラフを作成したが、単一の棒グラフを作成する場合には、各描画処理の高さ系列の繰り返し処理は発生しない。このため、高さ系列に関する処理を省略することができる。例えば、図6のステップS54,S56、図12のステップS74、S76、図15のステップS94、S96、図16のステップS110、S112の各ステップを省略することができる。
また、上記各実施形態では、軸の長さを0にする操作に応じたグラフの作成について説明した。しかし、軸の長さを0にする操作の後、再びその軸の長さを0より長くする操作に応じて、操作された軸に対応する項目の値毎に分類されたデータ群を表示するグラフを作成してもよい。その軸の長さを0より長くする操作については、図9〜図11を参照して説明した軸の長さを0にする操作と逆向きの操作を行えばよい。
例えば、図17のグラフ100から横軸の長さを0より長くする操作に応じて、図14に示した横軸200と高さ軸220と横軸200の項目の値(小樽、東京、京都、那覇)毎の三年間の夏日及び真夏日の日数の平均値を表示するグラフを作成してもよい。
また、図17のグラフ100から縦軸の長さを0より長くする操作に応じて、図13に示した縦軸210と高さ軸220と縦軸210の項目の値(2010〜2012)毎の四地域における夏日及び真夏日の日数の平均値を表示するグラフを作成してもよい。更に、図13及び図14のグラフに関して、長さが0に操作された残りの軸に対して、軸の長さを0より長くする操作を行った場合、横軸と縦軸と高さ軸とを有するグラフに複数のデータを表示するグラフを作成してもよい。
[情報処理装置のハードウェア構成]
最後に、本実施形態に係る情報処理装置10のハードウェア構成の一例について、図18を参照しながら説明する。図18は、本実施形態にかかる情報処理装置10のハードウェア構成の一例を示す。
情報処理装置10は、入力装置101、表示装置102、外部I/F103、RAM(Random Access Memory)104、ROM(Read Only Memory)105、CPU(Central Processing Unit)106、通信I/F107及びHDD(Hard Disk Drive)108を備え、それぞれがバスBで相互に接続されている。
入力装置101は、キーボードやマウスなどを含み、作成するグラフのパラメータの入力や情報処理装置10に軸の操作を入力するのに用いられる。入力部11の機能は、入力装置101により実現される。
表示装置102は、ディスプレイなどを含み、作成されたグラフを描画する。表示部15の機能は、表示装置102により実現される。
通信I/F107は、情報処理装置10をネットワークに繋げるためのインタフェースである。HDD108は、プログラムやデータを格納している不揮発性の記憶装置である。HDD108に格納されるプログラムやデータには、装置全体を制御する基本ソフトウェアであるOS(Operating System)、及びOS上においてグラフを作成するためのアプリケーションソフトウェアなどがある。HDD108は、三軸、二軸及び一軸のグラフを作成するためにCPU106により実行される各種プログラムを格納する。
外部I/F103は、外部装置とのインタフェースである。外部装置には、記録媒体103aなどがある。情報処理装置10は、外部I/F103を介して、記録媒体103aの読み取り及び/又は書き込みを行うことができる。記録媒体103aには、CD(Compact Disk)、及びDVD(Digital Versatile Disk)、ならびに、SDメモリカード(SD Memory card)やUSBメモリ(Universal Serial Bus memory)等がある。
ROM105は、不揮発性の半導体メモリ(記憶装置)であり、起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定などのプログラムやデータが格納されている。RAM104は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。CPU106は、上記記憶装置(例えば「HDD」や「ROM」など)から、プログラムやデータをRAM上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する演算装置である。
設定部12、算出部13及びグラフ作成部14の各部の機能は、HDD108等にインストールされたプログラムがCPU106に実行させる処理により実現可能である。
以上、図面作成プログラム、図面作成方法及び情報処理装置を上記実施形態により説明したが、本発明は上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。
例えば、上記実施形態では、第一の項目に対応する第一の軸と第二の項目に対応する第二の軸と第三の項目に対応する第三の軸とを有するグラフの第一の軸の長さを0にする操作に応じて第二の項目の値が一致するデータ群毎に第三の項目の値の単純平均値が算出された。しかしながら、第一の軸の長さを0にする操作に応じて算出される値は、単純平均値に限られず、中央値、最頻値、重み付き平均値(加重平均値)、最大値、最小値、積算値、所定の演算を施した値等の代表値であってもよい。上記実施形態で算出部により算出された全加算値に基づき、中央値、最頻値、重み付き平均値(加重平均値)、最大値及び最小値積算値、所定の演算を施した値等を算出し、算出された中央値等を表示するグラフを作成することが一例として挙げられる。
また、軸の長さを0にする操作として、グラフ内で表示されている対象(上記実施形態では棒)を軸方向に重ねてもよい。例えば、図9の棒1aと棒1bを、順次、棒5aと棒5b、棒9aと棒9bに重ね合わせる操作であってもよい。同様に、図9の棒1aと棒1bを、順次、棒2aと棒2b、棒3aと棒3b、棒4aと棒4bに重ねる操作であってもよい。また、図9の棒1aと棒1bを、棒12aと棒12bに重ね合わせる操作であってもよい。例えば、棒1aと棒1bを、順次、棒5aと棒5b、棒9aと棒9bに重ね合わせる操作によって、重ね合わされた、小樽でグループ化されたデータの平均値が算出されてもよい。例えば、棒1aと棒1bを、棒12aと棒12bに重ね合わせる操作によって、重ね合わされた、棒1a〜棒12aと棒1b〜棒12bのすべての棒をグループ化したデータの平均値が算出されてもよい。軸の長さを0にする操作は、グループ化されたデータを示す図面が表示されている画面において、前記グループ化されたデータを重ね合わせる操作の一例である。
なお、上記実施形態にかかる図面作成プログラム、図面作成方法及び情報処理装置は、二次元のグラフの作成にも適用できる。
また、上記実施形態にかかる図面作成プログラム、図面作成方法及び情報処理装置は、表の作成にも適用できる。すなわち、表の行又は列を、他の行又は列に重ね合わせる操作であってもよい。
グループ化されたデータを重ね合わせる操作は、図面がグラフの場合、前記グラフに表示される軸の操作により、又は前記軸とは別に表示される、前記軸を表現する画像の操作により、前記軸を縮める操作であってもよい。また、グループ化されたデータを重ね合わせる操作は、図面が表の場合、前記表の行又は列を、前記表の他の行又は列に重ね合わせる操作であってもよい。
なお、重ね合わされた前記グループ化されたデータを重ね合わせる前の状態にする操作の検出に応じて、重ね合わせる前のグループ化されたデータを示す図面が作成されてもよい。例えば、利用者が、位置a3から位置a2の方向へ指をスライドさせたとき、グループ化されたデータを重ね合わせる前の状態にする操作が検出され、この検出に応じて二次元グラフ(例えば図13のグラフ)が三次元グラフ(例えば図9のグラフ)に切り替わるように図面を作成してもよい。
以上の説明に関し、更に以下の項を開示する。
(付記1)
グループ化されたデータを示す図面が表示されている画面において、前記グループ化されたデータを重ね合わせる操作の検出に応じての検出に応じて、重ね合わされた前記グループ化されたデータの代表値を算出し、
前記代表値を表示する図面を作成し、
前記作成した図面を前記画面に表示する、
処理をコンピュータに実行させるための図面作成プログラム。
(付記2)
前記重ね合わせる操作の検出は、
前記図面がグラフの場合、前記グラフに表示される軸の操作により、又は前記軸とは別に表示される、前記軸を表現する画像の操作により、前記軸を縮める操作の検出である、
付記1に記載の図面作成プログラム。
(付記3)
前記重ね合わせる操作の検出は、
前記図面が表の場合、前記表の行又は列を、前記表の他の行又は列に重ね合わせる操作の検出である、
付記1に記載の図面作成プログラム。
(付記4)
前記算出する処理は、
重ね合わされた前記グループ化されたデータの平均値を算出する、
処理を含む付記1〜3のいずれか一項に記載の図面作成プログラム。
(付記5)
前記図面を作成する処理は、
重ね合わされた前記グループ化されたデータの平均値と、重ね合わされた前記グループ化されたデータを表示する図面の色の平均値とを算出することにより、前記グループ化されたデータの平均値を前記図面の色の平均値で表示する図面を作成する、
処理を含む付記4に記載の図面作成プログラム。
(付記6)
前記図面を作成する処理は、
前記重ね合わされた前記グループ化されたデータを重ね合わせる前の状態にする操作の検出に応じて、重ね合わせる前のグループ化されたデータを示す図面を作成する、
処理を含む付記1〜5のいずれか一項に記載の図面作成プログラム。
(付記7)
グループ化されたデータを示す図面が表示されている画面において、前記グループ化されたデータを重ね合わせる操作の検出に応じて、重ね合わされた前記グループ化されたデータの代表値を算出し、
前記代表値を表示する図面を作成し、
前記作成した図面を前記画面に表示する、
処理をコンピュータが実行する図面作成方法。
(付記8)
前記重ね合わせる操作の検出は、
前記図面がグラフの場合、前記グラフに表示される軸の操作により、又は前記軸とは別に表示される、前記軸を表現する画像の操作により、前記軸を縮める操作の検出である、
付記7に記載の図面作成方法。
(付記9)
前記重ね合わせる操作の検出は、
前記図面が表の場合、前記表の行又は列を、前記表の他の行又は列に重ね合わせる操作の検出である、
付記7に記載の図面作成方法。
(付記10)
前記算出する処理は、
重ね合わされた前記グループ化されたデータの平均値を算出する、
処理を含む付記7〜9のいずれか一項に記載の図面作成方法。
(付記11)
前記図面を作成する処理は、
重ね合わされた前記グループ化されたデータの平均値と、重ね合わされた前記グループ化されたデータを表示する図面の色の平均値とを算出することにより、前記グループ化されたデータの平均値を前記図面の色の平均値で表示する図面を作成する、
処理を含む付記10に記載の図面作成方法。
(付記12)
前記図面を作成する処理は、
前記重ね合わされた前記グループ化されたデータを重ね合わせる前の状態にする操作の検出に応じて、重ね合わせる前のグループ化されたデータを示す図面を作成する、
処理を含む付記7〜11のいずれか一項に記載の図面作成方法。
(付記13)
グループ化されたデータを示す図面が表示されている画面において、前記グループ化されたデータを重ね合わせる操作の検出に応じて、重ね合わされた前記グループ化されたデータの代表値を算出する算出部と、
前記代表値を表示する図面を作成する図面作成部と、
前記作成した図面を前記画面に表示する表示部と、
を有する情報処理装置。
(付記14)
前記重ね合わせる操作の検出は、
前記図面がグラフの場合、前記グラフに表示される軸の操作により、又は前記軸とは別に表示される、前記軸を表現する画像の操作により、前記軸を縮める操作の検出である、
付記13に記載の情報処理装置。
(付記15)
前記重ね合わせる操作の検出は、
前記図面が表の場合、前記表の行又は列を、前記表の他の行又は列に重ね合わせる操作の検出である、
付記13に記載の情報処理装置。
(付記16)
前記算出部は、
重ね合わされた前記グループ化されたデータの平均値を算出する、
付記13〜15のいずれか一項に記載の情報処理装置。
(付記17)
前記図面作成部は、
重ね合わされた前記グループ化されたデータの平均値と、重ね合わされた前記グループ化されたデータを表示する図面の色の平均値とを算出することにより、前記グループ化されたデータの平均値を前記図面の色の平均値で表示する図面を作成する、
付記16に記載の情報処理装置。
(付記18)
前記図面作成部は、
前記重ね合わされた前記グループ化されたデータを重ね合わせる前の状態にする操作の検出に応じて、重ね合わせる前のグループ化されたデータを示す図面を作成する、
付記13〜17のいずれか一項に記載の情報処理装置。