(57)【要約】【課題】グラフ内のグラフオブジェクトの並び順を容易に変更することができる情報処理装置を実現する。【解決手段】実施形態によれば、情報処理装置は、表示制御手段と、処理手段とを具備する。前記表示処理手段は、複数のデータグループのデータにそれぞれ対応する複数のグラフオブジェクトが第１順序で並べられ、前記複数のデータグループに対応する移動可能な複数の凡例オブジェクトが前記第１順序で並べられたグラフを、画面上に表示する。前記処理手段は、ユーザによって前記画面上の前記複数の凡例オブジェクトの１つがドラッグされることによって前記複数の凡例オブジェクトの並び順が前記第１順序と異なる別の順序となる位置に前記複数の凡例オブジェクトの１つが移動された場合、前記画面上の前記複数のグラフオブジェクトの並び順を前記別の順序に変更する。【選択図】図１
2018085128.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータグループのデータにそれぞれ対応する複数のグラフオブジェクトが第１順序で並べられ、前記複数のデータグループを指し示し、各々が移動可能な複数の凡例オブジェクトが前記第１順序で並べられたグラフを、画面上に表示する表示制御手段と、
ユーザによって前記画面上の前記複数の凡例オブジェクトの１つがドラッグされることによって前記複数の凡例オブジェクトの並び順が前記第１順序と異なる別の順序となる位置に前記複数の凡例オブジェクトの１つが移動された場合、前記移動された凡例オブジェクトによって指し示されるデータグループに対応するグラフオブジェクトの表示位置の順序が前記移動された凡例オブジェクトの移動先位置に対応する順序に変更されるように前記画面上の前記複数のグラフオブジェクトの並び順を前記別の順序に変更する処理手段とを具備する情報処理装置。
【請求項２】
前記処理手段は、
ユーザによって前記画面上の前記複数の凡例オブジェクトの１つがドラッグされることによって前記複数の凡例オブジェクトの並び順が前記第１順序と異なる前記別の順序となる位置に前記複数の凡例オブジェクトの１つが移動された場合、前記複数のデータグループの並び順を示す第１情報を前記別の順序に従って更新し、
前記更新された第１情報に従って前記画面上の前記複数のグラフオブジェクトの新しい表示位置を算出することによって、前記画面上の前記複数のグラフオブジェクトの並び順を前記別の順序に変更する請求項１記載の情報処理装置。
【請求項３】
前記複数の凡例オブジェクトの１つの移動は、前記複数の凡例オブジェクトの１つに対応するゴーストの移動、または前記複数の凡例オブジェクトの１つの移動であり、
前記複数の凡例オブジェクトの１つに対応するゴーストが移動される場合、
前記処理手段は、
前記ゴーストがドロップされる位置が、前記複数の凡例オブジェクトの並び順が前記第１順序と異なる前記別の順序となる位置である場合、前記画面上の前記複数のグラフオブジェクトの並び順を前記別の順序に変更し、且つ前記画面上の前記複数の凡例オブジェクトの並び順を前記別の順序に変更する請求項１記載の情報処理装置。
【請求項４】
前記処理手段は、前記ドラッグされた前記複数の凡例オブジェクトの１つの移動先位置を前記画面上の前記複数の凡例オブジェクトの現在の表示位置と比較することによって、前記移動先位置が、前記複数の凡例オブジェクトの並び順が前記第１順序と異なる別の順序となる位置であるか否かを判定する請求項１記載の情報処理装置。
【請求項５】
前記グラフは、第１項目に関する前記複数のデータグループのデータにそれぞれ対応する複数の第１グラフオブジェクトと、第２項目に関する前記複数のデータグループのデータにそれぞれ対応する複数の第２グラフオブジェクトとを含み、前記複数の第１グラフオブジェクトは前記第１順序で並べられ、前記複数の第２グラフオブジェクトは前記第１順序で並べられ、
前記処理手段は、ユーザによって前記画面上の前記複数の凡例オブジェクトの１つがドラッグされることによって前記複数の凡例オブジェクトの並び順が前記第１順序と異なる別の順序となる位置に前記複数の凡例オブジェクトの１つが移動された場合、前記画面上の前記複数の第１グラフオブジェクトの並び順を前記別の順序に変更し、且つ前記画面上の前記複数の第２グラフオブジェクトの並び順を前記別の順序に変更する請求項１記載の情報処理装置。
【請求項６】
前記表示制御手段は、前記グラフが棒状グラフである場合、各データグループに対応する棒状グラフのサムネイルを前記複数の凡例オブジェクトとして表示する請求項１記載の情報処理装置。
【請求項７】
複数のデータグループのデータにそれぞれ対応する複数のグラフオブジェクトが第１順序で並べられ、前記複数のデータグループを指し示し、各々が移動可能な複数の凡例オブジェクトが前記第１順序で並べられたグラフを、画面上に表示することと、
ユーザによって前記画面上の前記複数の凡例オブジェクトの１つがドラッグされることによって前記複数の凡例オブジェクトの並び順が前記第１順序と異なる別の順序となる位置に前記複数の凡例オブジェクトの１つが移動された場合、前記移動された凡例オブジェクトによって指し示されるデータグループに対応するグラフオブジェクトの表示位置の順序が前記移動された凡例オブジェクトの移動先位置に対応する順序に変更されるように前記画面上の前記複数のグラフオブジェクトの並び順を前記別の順序に変更することとを具備するグラフ表示方法。
【請求項８】
前記変更することは、
ユーザによって前記画面上の前記複数の凡例オブジェクトの１つがドラッグされることによって前記複数の凡例オブジェクトの並び順が前記第１順序と異なる前記別の順序となる位置に前記複数の凡例オブジェクトの１つが移動された場合、前記複数のデータグループの並び順を示す第１情報を前記別の順序に従って更新することと、
前記更新された第１情報に従って前記画面上の前記複数のグラフオブジェクトの新しい表示位置を算出することによって、前記画面上の前記複数のグラフオブジェクトの並び順を前記別の順序に変更することとを含む請求項７記載のグラフ表示方法。
【請求項９】
前記複数の凡例オブジェクトの１つの移動は、前記複数の凡例オブジェクトの１つに対応するゴーストの移動、または前記複数の凡例オブジェクトの１つの移動であり、
前記複数の凡例オブジェクトの１つに対応するゴーストが移動される場合、
前記変更することは、
前記ゴーストがドロップされる位置が、前記複数の凡例オブジェクトの並び順が前記第１順序と異なる前記別の順序となる位置である場合、前記画面上の前記複数のグラフオブジェクトの並び順を前記別の順序に変更し、且つ前記画面上の前記複数の凡例オブジェクトの並び順を前記別の順序に変更することを含む請求項７記載のグラフ表示方法。
【請求項１０】
前記ドラッグされた前記複数の凡例オブジェクトの１つの移動先位置を前記画面上の前記複数の凡例オブジェクトの現在の表示位置と比較することによって、前記移動先位置が、前記複数の凡例オブジェクトの並び順が前記第１順序と異なる別の順序となる位置であるか否かを判定することをさらに具備する請求項７記載のグラフ表示方法。
【請求項１１】
前記グラフは、第１項目に関する前記複数のデータグループのデータにそれぞれ対応する複数の第１グラフオブジェクトと、第２項目に関する前記複数のデータグループのデータにそれぞれ対応する複数の第２グラフオブジェクトとを含み、前記複数の第１グラフオブジェクトは前記第１順序で並べられ、前記複数の第２グラフオブジェクトは前記第１順序で並べられ、
前記変更することは、ユーザによって前記画面上の前記複数の凡例オブジェクトの１つがドラッグされることによって前記複数の凡例オブジェクトの並び順が前記第１順序と異なる別の順序となる位置に前記複数の凡例オブジェクトの１つが移動された場合、前記画面上の前記複数の第１グラフオブジェクトの並び順を前記別の順序に変更し、且つ前記画面上の前記複数の第２グラフオブジェクトの並び順を前記別の順序に変更することを含む請求項７記載のグラフ表示方法。
【請求項１２】
前記表示することは、前記グラフが棒状グラフである場合、各データグループに対応する棒状グラフのサムネイルを前記複数の凡例オブジェクトとして表示することを含む請求項７記載のグラフ表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、グラフを表示するための技術に関する。
【背景技術】
【０００２】
近年、スマートフォン、タブレット端末、パーソナルコンピュータなどのような情報処理装置においては、タッチ操作を利用したグラフィカルユーザインタフェースが使用され始めている。ユーザは、ディスプレイに表示されたメニューやオブジェクトを指でタッチすることによって目的の操作を行うことが出来る。タッチ操作は、従来のマウスやキーボードによる操作よりも、ユーザにとって直感的にわかりやすい操作を実現することが可能である。
【０００３】
また、科学技術計算や統計処理の分野においては、データに基づいてグラフを表示する技術が使用されている。
【０００４】
グラフは、異なるデータグループ（異なるデータ系列）間の相対的な関係や個々のデータグループに関する値の推移等の把握に有効である。このため、グラフを表示することは、例えば、データの分析の用途に有用である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１６３６６６号公報
【特許文献２】特開平８−２８７２７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
グラフを利用してデータ分析を行う場合においては、グラフ内のある注目するデータグループに対応するグラフオブジェクトの表示位置、つまりデータグループの並び順、を変更したいなどの要求がありうる。
【０００７】
しかし、通常、グラフ内のデータグループの並び順を変更するためには、新たにグラフを作成し直すか、あるいはデータグループの属性を変更するための煩雑な設定操作を行うことが必要となる。よって、グラフ内のデータグループの並び順の変更には多くの手間と、多くの時間がかかる。以上のことから、グラフ内のあるデータグループに対応するグラフオブジェクトの表示位置を変更しながらのデータ分析は実施されない場合がある。
【０００８】
本発明の目的は、グラフ内のグラフオブジェクトの並び順を容易に変更することができる情報処理装置およびグラフ表示方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
実施形態によれば、情報処理装置は、表示制御手段と、処理手段とを具備する。前記表示制御手段は、複数のデータグループのデータにそれぞれ対応する複数のグラフオブジェクトが第１順序で並べられ、前記複数のデータグループを指し示し、各々が移動可能な複数の凡例オブジェクトが前記第１順序で並べられたグラフを、画面上に表示する。前記処理手段は、ユーザによって前記画面上の前記複数の凡例オブジェクトの１つがドラッグされることによって前記複数の凡例オブジェクトの並び順が前記第１順序と異なる別の順序となる位置に前記複数の凡例オブジェクトの１つが移動された場合、前記移動された凡例オブジェクトによって指し示されるデータグループに対応するグラフオブジェクトの表示位置の順序が前記移動された凡例オブジェクトの移動先位置に対応する順序に変更されるように前記画面上の前記複数のグラフオブジェクトの並び順を前記別の順序に変更する。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係る情報処理装置の構成例を示すブロック図。
【図２】同実施形態の情報処理装置によって表示されるグラフ（積み上げ棒グラフ）の例を示す図。
【図３】図２のグラフ内の凡例アイコンのドラッグ操作の開始を示す図。
【図４】ユーザの操作に応じて図２のグラフ内の凡例アイコンがドラッグ・アンド・ドロップ操作される様子を示す図。
【図５】図２のグラフ内のグラフオブジェクト群の並び順と凡例アイコン群の並び順とが変更された状態を示す図。
【図６】同実施形態の情報処理装置によって表示されるグラフ（集合棒グラフ）内の凡例アイコンがドラッグ・アンド・ドロップ操作される様子を示す図。
【図７】図６のグラフ内のグラフオブジェクト群の並び順と凡例アイコン群の並び順とが変更された状態を示す図。
【図８】同実施形態の情報処理装置によって表示されるグラフ（円グラフ）内の凡例アイコンがドラッグ・アンド・ドロップ操作される様子を示す図。
【図９】図８のグラフ内のグラフオブジェクト群の並び順と凡例アイコン群の並び順とが変更された状態を示す図。
【図１０】同実施形態の情報処理装置によって表示されるグラフ（面グラフ）内の凡例アイコンがドラッグ・アンド・ドロップ操作される様子を示す図。
【図１１】図１０のグラフ内のグラフオブジェクト群の並び順と凡例アイコン群の並び順とが変更された状態を示す図。
【図１２】凡例アイコンのドラッグ開始時に同実施形態の情報処理装置によって実行されるデータグループ選択処理の手順の例と凡例アイコンのドラッグ中に同実施形態の情報処理装置によって実行されるグラフオブジェクト（ゴースト）描画処理の手順の例とを示すフローチャート。
【図１３】凡例アイコンがドロップされた時に同実施形態の情報処理装置によって実行される並び順変更判定処理および並び順変更描画指示処理の手順の例を示すフローチャート。
【図１４】凡例アイコンをドロップ可能な領域の例を示す図。
【図１５】凡例アイコンのドロップ位置と他の各凡例アイコンの位置とを比較するために使用される座標の例を説明するための図。
【図１６】同実施形態の情報処理装置によって実行される並び順変更判定処理の手順の例を示すフローチャート。
【図１７】同実施形態の情報処理装置によって実行される新並び順算出処理の例を説明するための図。
【図１８】同実施形態の情報処理装置において使用されるデータグループ並び順情報の例を示す図。
【図１９】同実施形態の情報処理装置において使用されるグラフオブジェクト情報の例を示す図。
【図２０】同実施形態の情報処理装置において使用されるデータグループ／グラフオブジェクト対応情報の例を示す図。
【図２１】同実施形態の情報処理装置において使用されるグラフオブジェクト情報の更新例を示す図。
【図２２】グラフオブジェクト情報の更新のために同実施形態の情報処理装置によって実行される表示位置算出処理の例を説明するための図。
【図２３】グラフオブジェクト情報の更新のために同実施形態の情報処理装置によって実行される表示位置算出処理の例を説明するための別の図。
【図２４】同実施形態の情報処理装置のハードウェア構成例を示すブロック図。
【発明を実施するための形態】
【００１１】
以下、実施の形態について図面を参照して説明する。  
【００１２】
まず、図１を参照して、一実施形態に係る情報処理装置の構成例を説明する。この情報処理装置１０は、グラフを表示するための処理を含む様々な情報処理を実行することができる。情報処理装置１０は汎用のコンピュータによって実現してもよいし、専用のコンピュータによって実現してもよい。
【００１３】
情報処理装置１０は、データテーブルなどの元データに基づいて様々なタイプのグラフ（例えば、積み上げ棒グラフ、集合棒グラフ、円グラフ、面グラフ、等）を作成し、この作成されたグラフを画面上に表示することができる。グラフにおいては、複数のデータグループのデータ（値）にそれぞれ対応する複数のグラフオブジェクト（棒グラフにおいては棒状のオブジェクト、円グラフにおいては扇状のオブジェクト）が表示される。データグループは、同じデータ系列に属するデータのグループを意味する。これら複数のグラフオブジェクトは、複数のデータグループの並び順に対応する順序で並べられる。
【００１４】
例えば、積み上げ棒グラフにおいては、同一項目に関する異なるデータグループのデータ（値）にそれぞれ対応する複数の棒状のグラフオブジェクトが積み上げられるように並べられる。これら棒状のグラフオブジェクトは、データグループの並び順に対応する順序で並べられる。
【００１５】
集合棒グラフにおいては、同一項目に関する異なるデータグループのデータ（値）にそれぞれ対応する複数の棒状のグラフオブジェクトが隣接して１列に並べられる。これら棒状のグラフオブジェクトも、データグループの並び順に対応する順序で並べられる。
【００１６】
上述したように、従来では、グラフを一旦作成した後は、このグラフの複数のデータグループの並び順、つまり、複数のデータグループに対応する複数のグラフオブジェクトの並び順を変更するためには多くの手間と多くの時間が必要とされる。
【００１７】
しかし、積み上げグラフの場合、注目したいデータグループを一番下に移動したい、変動の少ない値を下方に固めるように移動したい、などの要求がありうる。
【００１８】
また、集合グラフの場合、注目したいデータグループを一番左に移動したい、変動の少ない値を左方に固めるように移動したい、などの要求がありうる。
【００１９】
そこで、本実施形態の情報処理装置１０は、作成されたグラフ内の複数のデータグループの並び順をユーザの操作に応じてインタラクティブに変更するための並び順変更機能を有している。
【００２０】
この並び順変更機能を実現するために、本実施形態では、複数のデータグループに対応する移動可能な複数の凡例オブジェクトが使用される。これら凡例オブジェクトもグラフエリア上に表示される一種のグラフオブジェクトである。ユーザは、タッチ操作またはマウスの操作によって、グラフが表示されている画面上（グラフエリア上）の任意の凡例オブジェクトをドラッグすることによってこの任意の凡例オブジェクトを目的の位置に移動することが出来る。ドラッグされた凡例オブジェクトが、画面上の凡例オブジェクトの並び順が現在の並び順と異なる新たな並び順となる位置に移動された場合、情報処理装置１０は、凡例オブジェクトのこの新たな並び順に合わせて、データグループの並び順、つまりこれらデータグループのデータ（値）にそれぞれ対応する画面上の複数のグラフオブジェクトの並び順を自動的に変更する。
【００２１】
例えば、積み上げグラフにおいて、ユーザによるドラッグ操作によってあるデータグループ（第１データグループ）を指し示す凡例オブジェクトが他の全ての凡例オブジェクトよりも下に移動された場合には、複数のデータグループの並び順が変更され、これによって、第１データグループに対応するグラフオブジェクトの表示位置が一番下に変更される。
【００２２】
凡例オブジェクトをドラッグによって移動する代わりにグラフオブジェクト（例えば棒状オブジェクトなど）そのものをドラッグによって移動することによって、データグループの並び順を変更するという方法を使用することも可能である。
【００２３】
しかし、グラフオブジェクトのサイズ（例えば棒状オブジェクトの高さ）は対応するデータの値に依存し、この値が小さいほどグラフオブジェクトのサイズは小さくなる。したがって、この方法を使用すると、タッチ操作またはマウスの操作による目的のグラフオブジェクトの指定が難しくなる場合がありうる。
【００２４】
一方、各凡例オブジェクトのサイズはデータの値に依存しない。このため、各凡例オブジェクトのサイズ（面積）は、データの値とは関係なく、任意の大きさに設定することが出来る。よって、凡例オブジェクトはユーザにとってタッチ操作等を実行し易いオブジェクトであるといえる。本実施形態では、ドラッグされた凡例オブジェクトの移動先位置に応じてデータグループの並び順が自動的に変更される。したがって、たとえグラフオブジェクトのサイズが小さい場合であっても、ユーザはデータグループの並び順を変更するための操作（凡例アイコンをドラッグする操作）を容易に行うことができる。
【００２５】
また、本実施形態では、グラフが表示されている画面上でこのグラフ内の注目すべきデータグループに対応する凡例オブジェクトをドラッグによって目的の位置に移動するという直感的な操作に応じて、データグループの並び順が変更される。よって、グラフ内のあるデータグループのデータに対応するグラフオブジェクトの表示位置を変更しながらのデータ分析が実施しやすくなる。よって、ユーザに新たな気付きの機会を与えることができる。さらに、グラフが表示されている画面とは別の設定画面を開くという操作も不要であるので、分析速度の向上に寄与することも可能となる。
【００２６】
なお、一般に、ドラッグ操作時には、オリジナルの操作対象はドラッグに追従させずに、そのコピーオブジェクトまたは代替オブジェクトを生成して、追従させることが多い。このコピーオブジェクトや代替オブジェクトは半透明で表示されることが多いことから、ゴーストと呼ばれる。本実施形態においても、凡例オブジェクトをドラッグによって移動する処理においては、凡例オブジェクトに対応するゴーストを生成して、このゴーストをドラッグ操作に追従して移動させてもよい。換言すれば、ドラッグされた凡例オブジェクトそのものを移動する代わりに、この凡例オブジェクトに対応するゴーストを移動してもよい。
【００２７】
ゴーストを用いる場合には、情報処理装置１０は、ゴーストがドロップされた位置（ドロップ位置、つまり移動先位置）と画面上の各凡例オブジェクトの表示位置とを比較することによって、ドロップ位置が、画面上の凡例オブジェクトの並び順が現在の並び順と異なる並び順（順序）となる位置であるか否かを判定することができる。
【００２８】
あるいは、ゴーストを用いずに、凡例オブジェクト自体を移動（ドラッグ）しても良い。ゴーストを用いない場合には、情報処理装置１０は、凡例オブジェクトのドラッグ中の位置を移動先位置として扱い、移動先位置と画面上の他の各凡例オブジェクトの表示位置とを比較することによって、この移動先位置が、画面上の凡例オブジェクトの並び順が現在の並び順と異なる並び順（順序）となる位置であるか否かを判定することができる。
【００２９】
以下の説明では、主として、ゴーストをドラッグ操作に追従して移動させる場合を想定する。
【００３０】
上述の並び順変更を含むグラフ表示機能を実現するために、情報処理装置１０は、グラフ表示処理部１１，並び順変更部１２、グラフ情報格納部３０を備える。
【００３１】
グラフ表示処理部１１は、データテーブルのような元データに基づいてグラフを作成し、そしてこのグラフを情報処理装置１０のディスプレイの画面上に表示するための描画処理を実行する。このグラフが表示されるグラフエリアにおいては、複数のデータグループのデータにそれぞれ対応する複数のグラフオブジェクトがデータグループの並び順に対応する順序で並べられる。さらに、これらデータグループに対応する移動可能な複数の凡例オブジェクトもこれらデータグループの並び順に対応する順序でグラフエリア上に並べられる。
【００３２】
グラフ情報格納部３０は、グラフの初期作成時に生成される様々な情報を格納する記憶装置である。グラフ情報格納部３０内の各情報は、1つのテーブルのような形式でまとめて格納されていても良いし、まとまりのある情報ごとに別々に格納されていても良い。ここでは例として、以下の３つのまとまりで格納されるとする。
（１）データグループ／グラフオブジェクト対応情報
（２）グラフオブジェクト情報
（３）データグループ並び順情報
データグループ／グラフオブジェクト対応情報は、作成されたグラフ内のどのグラフオブジェクトがどのデータグループに属しているかを示す情報である。グラフオブジェクト情報は、作成されたグラフ内の各グラフオブジェクトの位置、形状、色、元データなどを示す情報である。データグループ並び順情報は、データグループの並び順を示す情報である。各データグループにはそのデータグループが何番目のデータグループであるかを示すインデックスが付与される。
【００３３】
並び順変更部１２は、ユーザによってドラッグされた凡例オブジェクトが画面上の凡例オブジェクトの並び順が現在の順序と異なる別の順序となる位置に移動された場合に、画面上のグラフオブジェクトの並び順を上述の別の順序に変更するための処理を実行する。
【００３４】
ある凡例オブジェクトがドラッグによって移動されることによって凡例オブジェクトの並び順が現在の順序と異なる新しい順序に変更された場合、並び順変更部１２は、データグループ並び順情報を新しい順序に従って変更する。そして、並び順変更部１２は、変更されたデータグループ並び順情報に従って画面上の複数のグラフオブジェクトの新しい表示位置を算出することによって、画面上の複数のグラフオブジェクトの並び順を上述の新しい順序に変更する。
【００３５】
この並び順変更部１２は、ポイント位置取得部２１、データグループ選択部２２、ドラッグ中グラフオブジェクト描画指示部２３、並び順変更判定部２４、および並び順変更描画指示部２５を備える。
【００３６】
ポイント位置取得部２１は、タッチ操作またはマウス操作によってユーザによって指示される画面上の位置（座標）を取得する。データグループ選択部２２は、凡例オブジェクトのドラッグ開始位置をポイント位置取得部２１から取得する。そして、データグループ選択部２２は、このドラッグ開始位置とグラフオブジェクト情報とに基づいて、ドラッグが開始された凡例オブジェクトを特定する。さらに、データグループ選択部２２は、データグループ／グラフオブジェクト対応情報に基づいて、ドラッグが開始された凡例オブジェクトに対応するデータグループを、並び順変更対象のデータグループとして選択（指定）する。
【００３７】
ドラッグ中グラフオブジェクト描画指示部２３は、グラフオブジェクト情報に基づいて、ドラッグが開始された凡例オブジェクトのゴーストを生成する。そして、ドラッグ中グラフオブジェクト描画指示部２３は、ポイント位置取得部２１から取得されるドラッグ中位置の変化に応じて、画面上のゴーストの表示位置を移動する。ゴーストがドロップされた場合には、ドラッグ中グラフオブジェクト描画指示部２３は、ゴーストを削除する。
【００３８】
並び順変更判定部２４は、ゴーストのドロップ位置と全ての凡例オブジェクトの表示位置とを比較する。この比較により、並び順変更判定部２４は、凡例オブジェクト（ゴースト）が、画面上の凡例オブジェクトの並び順が現在の並び順と異なる並び順となる位置にドロップされたか否かを判定する。さらに、並び順変更判定部２４は、上述の比較により、画面上の凡例オブジェクトの新たな並び順、つまりデータグループの新たな並び順を決定する。そして、並び順変更判定部２４は、データグループの並び順を新たな並び順に変更するために、データグルーブ並び順情報を新たな並び順を示す情報に更新する。
【００３９】
なお、ゴーストの代わりに凡例オブジェクト自体をドラッグ操作に追従して移動する場合においては、ドロップ位置の代わりに現在のドラッグ中位置が移動先位置として並び順変更判定部２４に送られる。並び順変更判定部２４においては、現在のドラッグ中位置と全ての凡例オブジェクトの表示位置とが比較される。そして、並び順変更判定部２４においては、この比較結果に基づいて、ドラッグされた凡例オブジェクトが、画面上の凡例オブジェクトの並び順が現在の並び順と異なる並び順となる位置に移動されたかが判定される。並び順変更判定部２４においては、さらに、画面上の凡例オブジェクトの新たな並び順、つまりデータグループの新たな並び順が決定される。
【００４０】
並び順変更描画指示部２５は、データグループの新たな並び順に従ってグラフオブジェクト情報内の各グラフオブジェクトの位置情報等を更新し、そしてグラフ表示処理部１１に各グラフオブジェクトの描画を指示する。これにより、複数のデータグループのデータにそれぞれ対応する複数のグラフオブジェクトがデータグループの新たな並び順に対応する順序で並び替えられる。さらに、凡例オブジェクトもこれらデータグループの新たな並び順に対応する順序で並び替えられる。
【００４１】
次に、図２を参照して、積み上げ棒グラフ（積み上げ縦棒グラフ）の例を説明する。    
【００４２】
積み上げ棒グラフは、グラフエリア３１、グラフエリア３１上のグラフ描画エリア（プロットエリア）３２、およびグラフエリア３１上の凡例３３を含む。この積み上げ棒グラフは、例えば、５つの地域（エリア）の電力消費量の推移を表すグラフである。
【００４３】
この積み上げ棒グラフは、データグループ名がエリア１〜エリア５である５つのデータグループ（データ系列）を含むデータテーブル（元データ）に基づいて作成される。５つのデータグループの現在の並び順は、エリア１、エリア３、エリア４、エリア２、エリア５の順である。各データグループは、４月〜３月の１２個の項目にそれぞれ対応するデータを含む。
【００４４】
グラフ描画エリア３２においては、同一項目に関する５つのデータグループのデータにそれぞれ対応する５つの棒状のグラフオブジェクトが積み上げるようにして並べられる。例えば、４月の項目に関しては、５つの棒状のグラフオブジェクト５１〜５５が表示される。一番下の棒状のグラフオブジェクト５１は、エリア１についての４月のデータ（値）を表す。２番目の棒状のグラフオブジェクト５２は、エリア３についての４月のデータ（値）を表す。３番目の棒状のグラフオブジェクト５３は、エリア４についての４月のデータ（値）を表す。４番目の棒状のグラフオブジェクト５４は、エリア２についての４月のデータ（値）を表す。５番目の棒状のグラフオブジェクト５５は、エリア５についての４月のデータ（値）を表す。
【００４５】
凡例３３は、上述の５つのデータグループに対応する５つの凡例オブジェクト６１〜６５を含む。各凡例オブジェクトはデータグループを指し示すオブジェクトである。凡例オブジェクトは、対応するデータグループの色とデータグループ名とを表す凡例ラベルであってもよいし、対応するデータグループのサムネイルを表す凡例アイコンであってもよい。図２においては、凡例オブジェクト６１〜６５の各々は凡例アイコンである。
【００４６】
５つの凡例オブジェクト６１〜６５は、棒状のグラフオブジェクト５１〜５５と同様に、５つのデータグループの並び順に対応する順序で並べられる。すなわち、一番下の凡例オブジェクト６１はエリア１のデータグループを表し、下から２番目の凡例オブジェクト６２はエリア３のデータグループを表し、下から３番目の凡例オブジェクト６３はエリア４のデータグループを表し、下から４番目の凡例オブジェクト６４はエリア２のデータグループを表し、下から５番目の凡例オブジェクト６５はエリア５のデータグループを表す。
【００４７】
次に、図３〜図５を参照して、５つのデータグループの並び順を変更するための動作について説明する。
【００４８】
ここでは、図３に示すように、エリア２のデータグループに対応する凡例オブジェクト６４がユーザによるタッチ操作またはマウスの操作によって指定されてこの凡例オブジェクト６４のドラッグが開始される場合を想定する。図３に示すように、４月〜３月の１２個の項目の各々について、エリア２のデータに対応するグラフオブジェクトの現在表示位置は、上から２番目である。
【００４９】
ユーザは、タッチ操作またはマウスの操作によって凡例オブジェクト６４を図４に示すようにドラッグする。図４では、凡例オブジェクト６４のゴースト６４’が生成され、そしてこのゴースト６４’が凡例オブジェクト６１の表示位置の下方にドロップされた場合が想定されている。
【００５０】
この場合、図５に示すように、グラフ描画エリア３２においては、凡例オブジェクト６４の移動先位置（つまりゴースト６４’のドロップ位置）に応じて、４月〜３月の１２個の項目の各々について５つの棒状のグラフオブジェクトの並び順が変更される。エリア２に対応する棒状のグラフオブジェクトは１番下に表示される。エリア２に対応する棒状のグラフオブジェクトの表示位置が１番下に変更されたことに伴い、エリア１に対応する棒状のグラフオブジェクトの表示位置は下から２番目の位置に変更される。さらに、エリア３に対応する棒状のグラフオブジェクトの表示位置は下から３番目の位置に変更され、エリア４に対応する棒状のグラフオブジェクトの表示位置は下から４番目の位置に変更される。エリア５に対応する棒状のグラフオブジェクトの表示位置は変更されず、このエリア５に対応する棒状のグラフオブジェクトの表示位置は一番上に維持される。
【００５１】
例えば、４月の項目に関しては、５つの棒状のグラフオブジェクト５１〜５５の並び順は、下から順番に、エリア２に対応する棒状のグラフオブジェクト５４、エリア１に対応する棒状のグラフオブジェクト５１、エリア３に対応する棒状のグラフオブジェクト５２、エリア５に対応する棒状のグラフオブジェクト５３、エリア５に対応する棒状のグラフオブジェクト５５という順序に変更される。
【００５２】
凡例オブジェクト６１〜６５の並び順も、下から順番に、エリア２に対応する凡例オブジェクト６４、エリア１に対応する凡例オブジェクト６１、エリア３に対応する凡例オブジェクト６２、エリア４に対応する凡例オブジェクト６３、エリア５に対応する凡例オブジェクト６５という順序に変更される。
【００５３】
次に、図６および図７を参照して、集合棒グラフ内の５つのデータグループの並び順を変更するための動作について説明する。
【００５４】
図６の集合棒グラフ（集合縦棒グラフ）のグラフ描画エリア３２においては、各項目毎に、上述の５つのデータグループのデータにそれぞれ対応する５つの棒状のグラフオブジェクトが隣接して横方向に並べて表示される。４月の項目に関しては、左から順番に、上述の棒状のグラフオブジェクト５１、５２、５３、５４、５５がこの順に並べられる。凡例オブジェクト６１〜６５は、図６に示すように、グラフ描画エリア３２の例えば下方の領域に横方向に並べて表示される。
【００５５】
ここで、エリア４のデータグループに対応する凡例オブジェクト６３がドラッグ操作によって移動される場合を想定する。ユーザは、タッチ操作またはマウスの操作によって凡例オブジェクト６３を図６に示すようにドラッグすることができる。図６では、凡例オブジェクト６３のゴースト６３’が生成され、そしてこのゴースト６３’が、連続する２つの凡例オブジェクト６４、６５の間の位置にドロップされた場合が想定されている。
【００５６】
この場合、図７に示すように、グラフ描画エリア３２においては、凡例オブジェクト６３の移動先位置（つまりゴースト６３’のドロップ位置）に応じて、４月〜１２月の１２個の項目の各々について５つの棒状のグラフオブジェクトの並び順が変更される。この結果、全ての項目について、エリア４の棒状のグラフオブジェクトの表示位置とエリア２の棒状のグラフオブジェクトの表示位置とが互いに入れ替えられる。
【００５７】
例えば、４月の項目に関しては、５つの棒状のグラフオブジェクト５１〜５５の並び順は、左から順番に、エリア１に対応する棒状のグラフオブジェクト５１、エリア３に対応する棒状のグラフオブジェクト５２、エリア２に対応する棒状のグラフオブジェクト５４、エリア４に対応する棒状のグラフオブジェクト５３、エリア５に対応する棒状のグラフオブジェクト５５という順序に変更される。
【００５８】
凡例オブジェクト６１〜６５の並び順も、左から順番に、エリア１に対応する凡例オブジェクト６１、エリア３に対応する凡例オブジェクト６２、エリア２に対応する凡例オブジェクト６４、エリア４に対応する凡例オブジェクト６３、エリア５に対応する凡例オブジェクト６５という順序に変更される。
【００５９】
次に、図８および図９を参照して、円グラフ内の５つのデータグループの並び順を変更するための動作について説明する。
【００６０】
図８においては、４月〜６月の３つの項目に対応する３つの円グラフがグラフ描画エリア３２に表示されている場合が例示されている。もちろん、４月〜３月の１２個の項目に対応する１２個の円グラフが同時に表示されても良い。
【００６１】
あるいは、ある１つの項目に対応する１つの円グラフのみがグラフ描画エリア３２に表示される構成であっても良い。
【００６２】
各円グラフにおいては、上述の５つのデータグループのデータにそれぞれ対応する５つ扇状のグラフオブジェクトが並べて表示される。４月の項目に対応する円グラフにおいては、０度の位置から時計回りに、扇状のグラフオブジェクト５１、５２、５３、５４、５５がこの順に並べられる。凡例オブジェクト６１〜６５は、図８に示すように、例えば、上から順に、凡例オブジェクト６１、６２、６３、６４、６５の順に並べて表示される。
【００６３】
ここで、エリア４のデータグループに対応する凡例オブジェクト６３がドラッグ操作によって移動される場合を想定する。ユーザは、タッチ操作またはマウスの操作によって凡例オブジェクト６３を図８に示すようにドラッグすることができる。図８では、凡例オブジェクト６３のゴースト６３’が生成され、そしてこのゴースト６３’が一番上の凡例オブジェクト６１の上方にドロップされた場合が想定されている。
【００６４】
この場合、図９に示すように、各円グラフにおいては、ゴースト６３’のドロップ位置に応じて５つの扇状のグラフオブジェクトの並び順が変更され、これによってエリア４の扇状のグラフオブジェクトが０度の位置から始まる最初の表示位置に表示される。
【００６５】
例えば、４月の円グラフに関しては、５つのグラフオブジェクト５１〜５５の並び順は、０度の位置から時計回りに、エリア４に対応するグラフオブジェクト５３、エリア１に対応するグラフオブジェクト５１、エリア３に対応するグラフオブジェクト５２、エリア２に対応するグラフオブジェクト５４、エリア５に対応するグラフオブジェクト５５という順序に変更される。
【００６６】
凡例オブジェクト６１〜６５の並び順も、上から順番に、エリア４に対応する凡例オブジェクト６３、エリア１に対応する凡例オブジェクト６１、エリア３に対応する凡例オブジェクト６２、エリア２に対応する凡例オブジェクト６４、エリア５に対応する凡例オブジェクト６５という順序に変更される。
【００６７】
次に、図１０および図１１を参照して、面グラフ内の５つのデータグループの並び順を変更するための動作について説明する。
【００６８】
図１０の面グラフのグラフ描画エリア３２においては、上述の５つのデータグループのデータにそれぞれ対応する５つの面状のグラフオブジェクトが垂直軸方向に並べて表示される。図１０においては、最背面から順に、面状のグラフオブジェクト５１、５２、５３、５４、５５がこの順に並べられている場合が想定されている。また、図１０においては、図示の簡単化のために、面状のグラフオブジェクト５１、５２、５３、５４、５５の各々の形状に４月〜６月の３つの項目の値のみが反映されている場合が想定されているが、４月〜３月の１２個の項目の値のすべてが反映されていてもよい。凡例オブジェクト６１〜６５は、例えば、上から順に、凡例オブジェクト６１〜６５の順に並べられている。
【００６９】
ここで、エリア４のデータグループに対応する凡例オブジェクト６３がドラッグ操作によって移動される場合を想定する。ユーザは、タッチ操作またはマウスの操作によって凡例オブジェクト６３を図１０に示すようにドラッグすることができる。図１０では、凡例オブジェクト６３のゴースト６３’が生成され、そしてこのゴースト６３’が一番下の凡例オブジェクト６５の下方の位置にドロップされた場合が想定されている。
【００７０】
この場合、図１１に示すように、グラフ描画エリア３２においては、ゴースト６３’のドロップ位置に応じて、５つの面状のグラフオブジェクトの並び順が変更され、これによってエリア４に対応する面状のグラフオブジェクト５３の順序が最前面に変更される。
【００７１】
つまり、５つの面状のグラフオブジェクト５１〜５５の並び順は、再背面から順番に、エリア１に対応する面状のグラフオブジェクト５１、エリア３に対応する面状のグラフオブジェクト５２、エリア２に対応する面状のグラフオブジェクト５４、エリア５に対応する面状のグラフオブジェクト５５、エリア４に対応する面状のグラフオブジェクト５３という順序に変更される。
【００７２】
凡例オブジェクト６１〜６５の並び順も、上から順番に、エリア１に対応する凡例オブジェクト６１、エリア３に対応する凡例オブジェクト６２、エリア２に対応する凡例オブジェクト６４、エリア５に対応する凡例オブジェクト６５、エリア４に対応する凡例オブジェクト６３という順序に変更される。
【００７３】
次に、図１２のフローチャートを参照して、データグループ選択処理とグラフオブジェクト（ゴースト）描画処理の手順を説明する。
【００７４】
まず、グラフ表示処理部１１は、ある元データに基づいてグラフを作成し、このグラフを画面上に表示する（ステップＳ１１）。ユーザの操作によってグラフ内のある凡例オブジェクト（凡例アイコン）のドラッグが開始された時（ステップＳ１２）、データグループ選択部２２は、グラフ情報格納部３０から取得した各凡例オブジェクトに関するグラフオブジェクト情報（各凡例オブジェクトの位置と形状）とドラッグ開始位置とを比較することによって、ドラッグが開始された凡例オブジェクト（凡例アイコン）を特定する（ステップＳ１３）。
【００７５】
データグループ選択部２２は、ドラッグが開始された凡例オブジェクト（凡例アイコン）に対応するデータグループをデータグループ/グラフオブジェクト対応情報から取得し、このデータグループを並び順変更対象のデータグループとして選択する（ステップＳ１４）。
【００７６】
ドラッグ中グラフオブジェクト描画指示部２３は、選択されたデータグループに対応付けられている凡例アイコンに関して、位置、元データ、色、形状などの情報をグラフ情報格納部から取得する（ステップＳ１５）。そして、ドラッグ中グラフオブジェクト描画指示部２３は、取得した情報をもとに、ドラッグが開始された凡例アイコンのゴーストを生成する（ステップＳ１６）。
【００７７】
ドラッグ中グラフオブジェクト描画指示部２３は、ドラッグ中のポイント位置に、ゴーストを追従させて描画する（ステップＳ１７）。ゴーストの描画位置は、ドラッグ開始位置とドラッグ中位置の差分を、ドラッグ開始時の凡例アイコンの位置に加算することによって算出することができる。
【００７８】
次に、図１３のフローチャートを参照して、凡例アイコンのドロップ時に実行される並び順変更判定処理および並び順変更描画指示処理の手順を説明する。
【００７９】
凡例アイコンがドロップされた時、並び順変更判定部２４は、まず、並び順変更判定に必要な情報をグラフ情報格納部３０から取得する（ステップＳ２２）。並び順変更判定に必要な情報は、全てのデータグループの凡例アイコンの位置に関する情報と、現在のデータグループの並び順に関する情報である。
【００８０】
並び順変更判定部２４は、ゴーストがドロップされた位置と全てのデータグループの凡例アイコンの位置とを比較する（ステップＳ２３）。この比較結果に基づいて、並び順変更判定部２４は、現在のデータグループの並び順と異なる並び順となる位置に凡例アイコンがドロップされたか否かを判定する（ステップＳ２４）。
【００８１】
凡例アイコンのドロップ位置が現在のデータグループの並び順と異なる並び順となる位置ではないならば（ステップＳ２４のＮＯ）、並び順変更判定部２４は、処理を終了する。
【００８２】
一方、凡例アイコンのドロップ位置が現在のデータグループの並び順と異なる並び順となる位置であるならば（ステップＳ２４のＹＥＳ）、並び順変更判定部２４は、凡例アイコンのドロップ位置に対応する、データグループの新しい並び順を決定し、この新しい並び順をグラフ情報格納部３０に記録する（ステップＳ２５）。並び順変更描画指示部２５は、グラフ情報格納部３０から、全データグループの全グラフオブジェクトに関して、位置、元データ、色、形状などの情報を取得する（ステップＳ２６）。並び順変更描画指示部２５は、取得した情報から、新しい並び順での全グラフオブジェクトの位置、元データ、色、形状などの情報を計算し、グラフ情報格納部３０に記録する（ステップＳ２７）。そして、並び順変更描画指示部２５は、新しい並び順でグラフオブジェクトの描画をグラフ表示処理部１１に指示する（ステップＳ２８）。
【００８３】
次に、どのようにしてデータグループの新しい並び順が決定されるかについて説明する。以下では、凡例アイコンが縦並びである場合を例示して、新しい並び順を決定するための手順の例を説明する。
【００８４】
図１４は、凡例アイコンをドロップ可能な領域の例を示す。  
【００８５】
ドロップ可能な領域としては、図１４に示されているように、例えば、ｘ座標Ａｘ１〜Ａｘ２、ｙ座標Ａｙ１〜Ａｙ２で囲まれる領域を使用してもよい。また、以下の説明では、データグループの並び順は、凡例アイコンの縦並び順に等しいものとする。またＮ個のデータグループのインデックス（順序）は、下から順に、１，２，…，Ｎであるとする。さらに、データグループ選択部２２で選択されたデータグループのインデックスをｔとする。
【００８６】
図１５は、凡例アイコンのドロップ位置と他の各凡例アイコンの位置とを比較するために使用される座標の例を示す。  
【００８７】
凡例アイコンの中心ｘ座標をｘ（ｉ）とする。ｘ（ｉ）はｉ番目の凡例アイコンの外形の左端と右端の中間の値である。凡例アイコンの中心ｙ座標をｙ（ｉ）とする。ｙ（ｉ）はｉ番目の凡例アイコンの外形の上端と下端の中間の値である。
【００８８】
ドラッグ・アンド・ドロップされた凡例アイコンのドロップ位置は、中心ｘ座標をｘ＿ｄｒｏｐ、中心ｙ座標をｙ＿ｄｒｏｐとする。
【００８９】
図１６のフローチャートは、データグループの新しい並び順を決定するための並び順変更判定処理の手順の例を示す。
【００９０】
並び順変更判定部２４は、まず、ドロップ可能な領域にドロップされたかを調べるための比較処理を実行する（ステップＳ３１）。ステップＳ３１では、
Ａｘ１≦ｘ＿ｄｒｏｐ≦Ａｘ２、かつ
Ａｙ１≦ｙ＿ｄｒｏｐ≦Ａｙ２
の条件が満たされるか否かが判定される。この条件が満たされないならば（ステップＳ３１のＮＯ）、並び順変更判定部２４は、データグループの並び順を変更しない（ステップＳ３２）。
【００９１】
この条件が満たされるならば（ステップＳ３１のＹＥＳ）、並び順変更判定部２４は、ｍ番目の凡例アイコンの中心ｙ座標ｙ（ｍ）と、ｙ＿ｄｒｏｐを比較しながら、何番目の凡例アイコンに相当する位置にドロップされたかを調べる処理を開始する。
【００９２】
並び順変更判定部２４は、まず、変数ｍを１に設定する（ステップＳ３３）。そして、並び順変更判定部２４は、ドラッグ中の凡例アイコン（ゴースト）が１番目の凡例アイコンよりも下にドロップされたか否かを調べる比較処理を行う（ステップＳ３４）。
【００９３】
凡例アイコンのドロップ位置が１番目の凡例アイコンよりも下の位置である場合には（ステップＳ３４のＹＥＳ）、並び順変更判定部２４は、ｍがｔに等しいか否か、つまり凡例アイコンのドロップ位置がこの凡例アイコンの元々の並び順での位置に等しいか否かを判定する（ステップＳ３８）。ｍがｔに等しいならば（ステップＳ３８のＹＥＳ）、並び順変更判定部２４は、データグループの並び順を変更しない（ステップＳ３２）。ｍがｔに等しくないならば（ステップＳ３８のＮＯ）、並び順変更判定部２４は、ステップＳ３９に進み、ドロップされた凡例アイコンに対応するデータグループの順序をｍ番目に変更する。
【００９４】
凡例アイコンのドロップ位置が１番目の凡例アイコンよりも下の位置ではないならば（ステップＳ３４のＮＯ）、並び順変更判定部２４は、ドラッグ中の凡例アイコンが連続する２つの凡例アイコンの間にドロップされたか否かを調べる比較処理を行う（ステップＳ３５）。いま、ｍ＝１であるので、ステップＳ３５では、ドラッグ中の凡例アイコンが１番目の凡例アイコンと２番目の凡例アイコンとの間にドロップされたか否かが判定される。ｙ（ｍ）＞ｙ＿ｄｒｏｐ≧  ｙ（ｍ＋１）の条件が満たされるならば（ステップＳ３５のＹＥＳ）、ドラッグ中の凡例アイコンが１番目の凡例アイコンと２番目の凡例アイコンとの間にドロップされたと判定される。
【００９５】
一方、ｙ（ｍ）＞ｙ＿ｄｒｏｐ≧  ｙ（ｍ＋１）の条件が満たされないならば（ステップＳ３５のＮＯ）、並び順変更判定部２４は、この条件が満たされるか、あるいはステップＳ３７でｍがＮに達したことが判定されるまで、ステップＳ３６でｍを＋１ずつ更新する処理とステップＳ３５の比較処理とを繰り返す。
【００９６】
ｙ（ｍ）＞ｙ＿ｄｒｏｐ≧  ｙ（ｍ＋１）の条件が満たされたならば（ステップＳ３５のＹＥＳ）、並び順変更判定部２４は、ｍ＋１がｔに等しいか否か、つまり凡例アイコンのドロップ位置がこの凡例アイコンの元々の並び順での位置に等しいか否かを判定する（ステップＳ３８）。ｍ＋１がｔに等しいならば（ステップＳ３８のＹＥＳ）、並び順変更判定部２４は、データグループの並び順を変更しない（ステップＳ３２）。ｍ＋１がｔに等しくないならば（ステップＳ３８のＮＯ）、並び順変更判定部２４は、ステップＳ３９に進み、ドロップされた凡例アイコンに対応するデータグループの順序をｍ番目あるいはｍ＋１番目に変更する。ドラッグにより凡例アイコンが下方向に移動されることによって他の連続する２つの凡例アイコンの間にドロップされたならば、このドロップされた凡例アイコンに対応するデータグループの順序はｍ＋１番目に変更される。一方、ドラッグにより凡例アイコンが上方向に移動されることによって他の連続する２つの凡例アイコンの間にドロップされたならば、このドロップされた凡例アイコンに対応するデータグループの順序はｍ番目に変更される
ｍがＮに達したならば（ステップＳ３７のＹＥＳ）、並び順変更判定部２４は、凡例アイコンのドロップ位置がＮ番目（一番上）の凡例アイコンよりも上であると判定する。そして、並び順変更判定部２４は、ステップＳ３８に進む。ステップＳ３８では、並び順変更判定部２４は、ｍがｔに等しいか否か、つまり凡例アイコンのドロップ位置がこの凡例アイコンの元々の並び順での位置に等しいか否かを判定する。ｍがｔに等しいならば、並び順変更判定部２４は、データグループの並び順を変更しない（ステップＳ３２）。ｍがｔに等しくないならば（ステップＳ３８のＮＯ）、並び順変更判定部２４は、ステップＳ３９に進み、ドロップされた凡例アイコンに対応するデータグループの順序をｍ番目に変更する。
【００９７】
次に、図１７を参照して、各データグループの新たな順序（インデックス）の算出例について説明する。
【００９８】
図１７の上部は、ｔ＜ｍの場合（凡例アイコンが上方向に移動された場合）を表している。この場合、ｔ＋１番目〜ｍ番目のデータグループのインデックスを１つ下げ、ドラッグ・アンド・ドロップで移動されたデータグループのインデックスをｍにする。ｎ−１番目以下とｍ＋１番目以上のデータグループはインデックスを変更する必要はない。
【００９９】
例えば、２番目の凡例アイコン（Ｂ）が４番目の凡例アイコン（Ｄ）と５番目の凡例アイコン（Ｅ）と間に移動された場合を想定する。凡例アイコン（Ｄ）に対応するデータグループのインデックスは４から３に変更され、凡例アイコン（Ｃ）に対応するデータグループのインデックスは３から２に変更される。凡例アイコン（Ｂ）に対応するデータグループのインデックスは２からｍ（ここでは４）に変更される。
【０１００】
図１７の下部は、ｔ＞ｍの場合（凡例アイコンが下方向に移動された場合）を表している。
【０１０１】
図１７の左下部は、凡例アイコンが１番目の凡例アイコンよりも下に移動された場合を表している。この場合、ｍ番目〜ｔ−１番目のデータグループのインデックスを１つ上げ、ドラッグ・アンド・ドロップで移動されたデータグループのインデックスをｍにする。ｍ−１番目以下とｔ＋１番目以上のデータグループはインデックスを変更する必要はない。
【０１０２】
例えば、４番目の凡例アイコン（Ｄ）が１番目の凡例アイコン（Ａ）の下に移動された場合を想定する。凡例アイコン（Ａ）に対応するデータグループのインデックスは１から２に変更され、凡例アイコン（Ｂ）に対応するデータグループのインデックスは２から３に変更される。凡例アイコン（Ｃ）に対応するデータグループのインデックスは３から４に変更される。凡例アイコン（Ｄ）に対応するデータグループのインデックスは４からｍ（ここでは１）に変更される。
【０１０３】
図１７の右下部は、凡例アイコンの下方向へのドラッグ・アンド・ドロップによってこの凡例アイコンが連続する他の２つの凡例アイコン間に移動された場合を表している。この場合、ｍ＋１番目〜ｔ−１番目のデータグループのインデックスを１つ上げ、ドラッグ・アンド・ドロップで移動されたデータグループのインデックスをｍ＋１にする。ｍ番目以下とｔ＋１番目以上のデータグループはインデックスを変更する必要はない。
【０１０４】
例えば、４番目の凡例アイコン（Ｄ）が１番目の凡例アイコン（Ａ）と２番目の凡例アイコン（Ｂ）と間に移動された場合を想定する。
【０１０５】
２番目の凡例アイコン（Ｂ）に対応するデータグループのインデックスは２から３に変更され、３番目の凡例アイコン（Ｃ）に対応するデータグループのインデックスは３から４に変更される。４番目の凡例アイコン（Ｄ）に対応するデータグループのインデックスは４からｍ＋１（ここでは２）に変更される。
【０１０６】
次に、図１８〜図２３を参照して、並び順変更に応じてグラフ情報格納部３０の情報を更新する処理の例を説明する。
【０１０７】
図１８は、更新前と更新後のデータグループ並び順情報の例を示している。データグループ並び順情報は、データグループ毎に、データグループＩＤと、データグループ名と、インデックスとを示す。データグループの並び順が新しい並び順に変更されると、各データグループに対応するインダックスは新しい並び順に対応する値に変更される。
【０１０８】
図１９は、変更前のグラフオブジェクト情報の例を示している。
【０１０９】
グラフオブジェクト情報は、グラフオブジェクト毎に、グラフオブジェクトＩＤ、項目、ｘ座標、ｙ座標、幅（ｗｉｄｔｈ）、高さ（ｈｅｉｇｈｔ）を示す。項目においては、凡例アイコンまたは棒ｎが設定される。ここで、棒ｎは、下からｎ番目の棒を表している。
【０１１０】
ｘ,ｙは、各オブジェクトの左上頂角のｘ,ｙ座標を示す。換言すれば、ｘ,ｙは、各オブジェクトの左上頂角に対する、グラフエリア３１の左上頂角からの横／縦のピクセルサイズを示す。幅（ｗｉｄｔｈ）、高さ（ｈｅｉｇｈｔ）は、各オブジェクトの幅と高さを示す。
【０１１１】
図２０は、データグループ／グラフオブジェクト対応情報の例を示す。データグループ／グラフオブジェクト対応情報は、図２０に示すように、どのグラフオブジェクトがどのデータグループに属しているかを示す情報である。より詳しくは、このデータグループ／グラフオブジェクト対応情報は、グラフオブジェクト毎に、データグループＩＤとグラフオブジェクトＩＤとを示す。
【０１１２】
図２１は、グラフオブジェクト情報の更新例を示す。縦並びの凡例アイコンの並び順と縦並びのグラフオブジェクト（棒）の並び順とを変更する場合には、図２１に示されるように、各凡例アイコンのｙの値と各グラフオブジェクト（棒）のｙの値とが変更される。ｙ値の変更は、「項目」の値が同じオブジェクトの集合毎に実施される。
【０１１３】
次に、ｙの値を変更する処理の例を説明する。
【０１１４】
並び順変更判定部２４は、まず、基準となる下端のｙ値を計算する。以下では計算例を、棒１で説明する。
【０１１５】
並び順変更判定部２４は、データグループ並び順情報から、エリア１（データグループＩＤ＝１）が一番下にあることがわかる。並び順変更判定部２４は、データグループ／グラフオブジェクト対応情報とグラフオブジェクト情報とから、エリア１に対応する棒１内のグラフオブジェクトは、グラフオブジェクトＩＤが６のグラフオブジェクトであるとわかる。そして、並び順変更判定部２４は、グラフオブジェクトＩＤ＝６のグラフオブジェクトのｙ＋ｈｅｉｇｈｔを計算する。図２２に示すように、グラフオブジェクトＩＤ＝６のグラフオブジェクトのｈｅｉｇｈｔは１０５である。したがって、下端のｙ値は、以下の式によって求められる。
【０１１６】
６００＋１０５＝７０５
次に、並び順変更判定部２４は、下端のｙ値＝７０５から、並び順に、各グラフオブジェクトの高さを減算していくことで、各グラフオブジェクトのｙ値を計算する。図２３に示されているように、１番目〜５番目のグラフオブジェクトの高さは６０、１０５、８０、６０、１１０である。したがって、以下の式により、各グラフオブジェクトのｙ値を計算することができる。
エリア２（グラフオブジェクトＩＤ：７）のｙ値＝７０５−６０＝６４５
エリア１（グラフオブジェクトＩＤ：６）のｙ値＝６４５−１０５＝５４０
エリア３（グラフオブジェクトＩＤ：８）のｙ値＝５４０−８０＝４６０
エリア４（グラフオブジェクトＩＤ：９）のｙ値＝４６０−６０＝４００
エリア５（グラフオブジェクトＩＤ：１０）のｙ値＝４００−１１０＝２９０
そして、並び順変更判定部２４は、求めたｙ値でグラフオブジェクト情報を更新する。
【０１１７】
このように、変更後の新しい並び順に基づいて、グラフオブジェクト情報のｙ値を更新することで、グラフオブジェクトの表示位置を変更できる。ｙ値の変更は、グラフオブジェクト情報に記録されている画面上の全てのオブジェクト（凡例アイコンおよび棒１〜棒１２）に関して実施される。これにより、凡例アイコンをドラッグ・アンド・ドロップして並び順の変更を指示した場合でも、凡例アイコンだけでなく、棒１〜棒１２の並び順も変更することができる。
【０１１８】
次に、図２４を参照して、情報処理装置１０のハードウェア構成例を説明する。  
【０１１９】
図２４の情報処理装置１０は、ＣＰＵ１１１、システムコントローラ１１２、主メモリ１１３、グラフィクスプロセッシングユニット（ＧＰＵ）１１４、ストレージデバイス１１５、入力デバイス１１６、ネットワークインタフェース１１７、タッチスクリーンディスプレイ１１８等を備える。
【０１２０】
ＣＰＵ１１１は、情報処理装置１０内のコンポーネントを制御するプロセッサである。ＣＰＵ１１１は、ストレージデバイス１１５から主メモリ１１３にロードされる各種プログラムを実行する。これらプログラムには、オペレーティングシステム（ＯＳ）、各種アプリケーションプログラム等が含まれる。アプリケーションプログラムには、グラフ表示機能付きアプリケーションプログラムが含まれていても良い。このグラフ表示機能付きアプリケーションプログラムは、上述の並び順変更機能を有するアプリケーションプログラムとして機能する。ＣＰＵ１１１は、グラフ表示機能付きアプリケーションプログラムを実行することにより、ドラッグ・アンド・ドロップによる凡例オブジェクトの移動に応じてデータグループの並び順を自動的に変更するように構成された処理部として機能することができる。
【０１２１】
システムコントローラ１１２はＣＰＵ１１１のローカルバスと他のコンポーネントとの間を接続するためのデバイスである。ＧＰＵ１１４は、タッチスクリーンディスプレイ１１８に表示すべき画面イメージに対応する表示信号を生成する表示コントローラである。ＧＰＵ１１４は、ＣＰＵ１１１内に内蔵されていても良い。ＧＰＵ１１４は、ＣＰＵ１１１の制御の下、上述のグラフを画面上に表示する表示制御部として機能することができる。
【０１２２】
タッチスクリーンディスプレイ１１８は、その画面上のタッチ位置を検知可能なディスプレイである。タッチスクリーンディスプレイ１１８は、例えば、液晶ディスプレイ（ＬＣＤ）２０１と、タッチパネルまたはデジタイザのようなセンサ２０２とを含む。
【０１２３】
入力デバイス１１６はキーボード、マウス、他の各種入力デバイスである。ネットワークインタフェース１１７は、有線または無線で情報処理装置１０をネットワークに接続するための通信デバイスである。
【０１２４】
以上説明したように、本実施形態によれば、ドラッグされた凡例オブジェクトが、画面上の凡例オブジェクトの並び順が現在の並び順（順序）と異なる並び順（順序）となる位置に移動された場合、凡例オブジェクトの新たな並び順に合わせて、データグループの並び順、つまりこれらデータグループのデータ（値）にそれぞれ対応する画面上の複数のグラフオブジェクトの並び順が変更される。したがって、グラフ内のグラフオブジェクトの並び順を容易に変更することができる。よって、ユーザは、ユーザは従来に比べて、短い時間で、データグループの並び順が異なるグラフを表示できる。またユーザは従来に比べて、少ない手数で、データグループの並び順が異なるグラフを表示できる。
【０１２５】
また、データグループの並び順を変更したグラフを作成するための手数が少なく、時間がかからないため、ユーザは、従来と同じようにグラフを分析する場合でも、短い時間で分析可能になる。さらに、ユーザは従来はしなかったデータグループの並び順変更を行うことで、新しい気付きを得られる可能性がある。
【０１２６】
また、本実施形態では、ドラッグされる凡例オブジェクトの移動先位置に応じてデータグループの並び順が自動的に変更される。各凡例オブジェクトのサイズはデータの値に依存しない。したがって、ユーザはデータグループの並び順を変更するための操作（凡例アイコンのドラッグ操作）を容易に行うことが出来る。
【０１２７】
なお、本実施形態では、ゴーストを表示して移動する場合を主として説明したが、上述したように、凡例オブジェクト（凡例アイコン）そのものを移動しても良い。
【０１２８】
また、本実施形態は、棒グラフ（縦棒グラフ、横棒グラフ）に限らず、円グラフ、面グラフ、線グラフにも適用可能である。さらに、本実施形態が適用可能なグラフは２Ｄグラフに限らず、３Ｄグラフでもよい。
【０１２９】
ドラッグ中にユーザへの補助的情報として、今ドロップすると何番目になるかを示す数字、線、枠などを合わせて表示してもよい。
【０１３０】
なお、本実施形態の処理の手順はすべてソフトウェアによって実行することができるので、各処理の手順を実行するプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのプログラムを通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【０１３１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１３２】
１１…グラフ表示処理部、１２…並び順変更部、２２…データグループ選択部、２３…ドラッグ中グラフオブジェクト描画指示部、２４…並び順変更判定部、２５…並び順変更描画指示部。
【図１】
2018085128.tif 000003
【図２】
2018085128.tif 000004
【図３】
2018085128.tif 000005
【図４】
2018085128.tif 000006
【図５】
2018085128.tif 000007
【図６】
2018085128.tif 000008
【図７】
2018085128.tif 000009
【図８】
2018085128.tif 000010
【図９】
2018085128.tif 000011
【図１０】
2018085128.tif 000012
【図１１】
2018085128.tif 000013
【図１２】
2018085128.tif 000014
【図１３】
2018085128.tif 000015
【図１４】
2018085128.tif 000016
【図１５】
2018085128.tif 000017
【図１６】
2018085128.tif 000018
【図１７】
2018085128.tif 000019
【図１８】
2018085128.tif 000020
【図１９】
2018085128.tif 000021
【図２０】
2018085128.tif 000022
【図２１】
2018085128.tif 000023
【図２２】
2018085128.tif 000024
【図２３】
2018085128.tif 000025
【図２４】
2018085128.tif 000026