説明

チャート描画装置およびチャート描画方法

【課題】多量の線画を含むチャート画像を表示する場合でもその表示速度の向上を図れるようにするとともに、表示速度の高速化のためにビットマップ化されたチャート画像上でもマウスカーソルの位置判定を行うことができるようにする。
【解決手段】帳票データからビットマップ形式の表示用チャート画像を生成する一方、チャート画像上における複数の線画をそれぞれ識別可能な識別用レイアウト情報をマウス判定用に生成する。そして、表示用チャート画像上でマウスカーソルにより指定されたドットに対応する識別情報を識別用レイアウト情報から取得し、当該識別情報により示されるドット列を線画として特定することにより、複数の線画をそれぞれベクター描画して表示する場合に比べて表示速度を速くできるようにするとともに、ビットマップ化されたチャート画像中の線画をそれぞれ識別用レイアウト情報により識別できるようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、チャート描画装置およびチャート描画方法に関し、特に、多量の線画を含むチャート画像を描画するのに用いて好適なものである。
【背景技術】
【0002】
従来、日々蓄積される帳票データを集計し、チャート形式で出力することができるようになされたアプリケーションが提供されている。数字の羅列ではなく、見やすいチャート形式で出力することにより、営業・販売・経理・在庫などの集計業務の効率を向上させることが可能である。この種のアプリケーションには、Web対応のものも存在する。Web対応のアプリケーションにおいては、チャートを描画するために、ブラウザのプラグインソフトであるFLASH(フラッシュ)が使われることが多いのが現状である。
【0003】
FLASHでチャートを描画する場合は、一般的にはGraphicsクラスのメソッドであるLineTo関数やDrawRect関数を利用したベクター描画が行われる。ベクター描画とは、点の座標および点間を結ぶ線や面のパラメータ情報で表現されるベクター形式による描画方法で、線画を描画するのに適している。しかしながら、ベクター描画を行うと、数値データとして与えられた情報を計算によって画像化するレンダリング処理に多くの計算負荷がかかる。そのため、多量の線画を描画した場合に、著しくパフォーマンスが低下するという問題がある。
【0004】
パフォーマンスの低下を避けるため、ベクター描画された多数の線画を逐次ビットマップデータへ転写するという方法が一般的に用いられている。例えば、多数の折れ線から成るチャートを描画する場合、まずはGraphicsクラスのメソッドを利用したベクター描画を行い、1本目の折れ線を生成する。そして、その1本目の折れ線をビットマップデータに転写して画像化する。その後、Graphicsクラスの内容をクリアして、2本目の折れ線に関して同様の処理を行う。以下同様にして、多数本の折れ線をビットマップデータで描画する。このように、Graphicsクラスの内容を都度クリアして描画情報を削減することにより、折れ線を何本描画しても動作速度に悪影響を与えることはなくなる。
【0005】
しかし、多数本の折れ線をビットマップ化してしまう弊害として、マウスカーソルの位置判定ができなくなってしまうという操作上の問題が発生する。例えば、チャート上の線や点の上にマウスカーソルを合わせた際に、選択された線のハイライト表示や、選択された点のラベル表示(チャート生成の元データである帳票情報の表示など)といったアクションを行うことができなくなってしまう。ビットマップ化してしまったチャートは全体としてただ1つの画像であるが故に、データ上は線や点といった概念がなくなってしまうからである。
【0006】
なお、被測定信号のサンプルデータからビットマップ形式で生成されたアイパターンを表示し、マウスを操作してアイパターン表示領域上の任意の点を選択すると、選択された点を通過する波形がハイライト表示されるようにした技術が提案されている(例えば、特許文献1参照)。しかし、この特許文献1には、ビットマップ化された画像上でどのようにしてマウスカーソルの位置判定を行うのかについての具体的な手法は開示されておらず、実現の方法が不明である。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008−232968号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、このような問題を解決するために成されたものであり、多量の線画を含むチャート画像を表示する場合でもその表示速度の向上を図れるようにするとともに、表示速度の高速化のためにビットマップ化されたチャート画像上でもマウスカーソルの位置判定を行うことができるようにすることを目的とする。
【課題を解決するための手段】
【0009】
上記した課題を解決するために、本発明では、複数の数値データからビットマップ形式のチャート画像を生成し、当該チャート画像から表示用チャート画像を生成する一方、識別用レイアウト情報をマウス判定用に生成する。この識別用レイアウト情報は、チャート画像上における複数の線画をそれぞれ識別可能な識別情報を、チャート画像と同じ2次元レイアウト上で線画に対応する各ドットに付与したものである。そして、表示装置に表示させた表示用チャート画像上で指定されたドットに対応する識別情報を識別用レイアウト情報から取得し、当該取得した識別情報により示されるドット列を線画として特定するようにしている。
【発明の効果】
【0010】
上記のように構成した本発明によれば、複数の線画を含むチャートがビットマップ画像として生成され表示されるので、複数の線画をそれぞれベクター描画して表示する場合に比べて、複数の線画を描画する場合の動作速度を格段に速くすることができる。これにより、多量の線画を含むチャート画像であっても極めて高速に描画することができる。
【0011】
さらに、本発明によれば、チャート画像とは別に生成された識別用レイアウト情報により、チャート画像中に含まれる線画の位置という概念が形成されて、チャート画像中の線画をそれぞれ識別することが可能となる。これにより、ビットマップ化されたチャート画像上でも、ドットを指定した位置の線画を特定することができるようになる。
【図面の簡単な説明】
【0012】
【図1】本実施形態によるチャート描画装置の機能構成例を示すブロック図である。
【図2】本実施形態のチャート描画装置により描画するチャート画像の一例を示す図である。
【図3】図2に示したチャート画像から生成される線識別用レイアウト情報および点識別用レイアウト情報の一部構成例を示す図である。
【図4】本実施形態による表示画面の一例を示す図である。
【図5】本実施形態によるチャート描画装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明の一実施形態を図面に基づいて説明する。図1は、本実施形態によるチャート描画装置100の機能構成例を示すブロック図である。本実施形態のチャート描画装置100は、その機能構成として、ベクター描画部11、チャート画像生成部12、識別情報生成部13、識別情報記憶部14、表示用チャート画像生成部15、表示制御部16、識別情報取得部17、線画特定部18および動作制御部19を備えている。
【0014】
これらの各機能ブロックは、ハードウェア構成、DSP(Digital Signal Processor)、ソフトウェアの何れによっても実現することが可能である。例えばソフトウェアによって実現する場合、本実施形態のチャート描画装置100は、実際にはコンピュータのCPUあるいはMPU、RAM、ROMなどを備えて構成され、RAMやROMに記憶されたプログラムが動作することによって実現できる。
【0015】
ベクター描画部11は、帳票データ記憶部200に記憶されている複数の帳票データ(数値データ)を用いて、GraphicsクラスのメソッドであるLineTo関数やDrawRect関数を利用して複数の線画を逐次ベクター描画する。チャート画像生成部12は、ベクター描画部11によりベクター描画された複数の線画を逐次ビットマップデータへ転写することにより、複数の線画を色の違いで表現したチャートをビットマップ形式の画像として生成する。
【0016】
例えば、図2に示すような複数の折れ線(線画)から成るチャート画像を描画する場合、まずはベクター描画部11がGraphicsクラスのメソッドを利用して、1本目の折れ線をベクター描画する。そして、チャート画像生成部12がその1本目の折れ線をビットマップデータに転写して画像化する。その後、ベクター描画部11はGraphicsクラスの内容をクリアして、2本目の折れ線をベクター描画する。そして、チャート画像生成部12がその2本目の折れ線をビットマップデータに転写して画像化する。以下同様の処理を繰り返すことにより、複数の折れ線をビットマップで描画したチャート画像を生成する。
【0017】
識別情報生成部13は、チャート画像生成部12により生成されたチャート画像に基づいて、チャート画像上の複数の線画をそれぞれ識別可能な識別情報を生成し、チャート画像と同じ2次元レイアウト上で複数の線画に対応する各ドットに対して識別情報を各々付与して成る識別用レイアウト情報を生成する。本実施形態では、識別情報生成部13が生成する各ドットの識別情報として、色情報を用いる。識別情報生成部13は、生成した識別用レイアウト情報を識別情報記憶部14に記憶する。
【0018】
識別情報生成部13は、2種類の識別用レイアウト情報を生成する。1つは線識別用レイアウト情報であり、もう1つは点識別用レイアウト情報である。前者の線識別用レイアウト情報は、複数の線画の線を識別するための情報である。また、後者の点識別用レイアウト情報は、複数の線画上の離散的な点を識別するための情報である。
【0019】
すなわち、識別情報生成部13は、チャート画像生成部12により生成されたチャート画像と同じ2次元レイアウト上で、複数の線画の線に対応する各ドットに対して識別情報(色情報)を各々付与して成る線識別用レイアウト情報を生成する。また、識別情報生成部13は、同じくチャート画像と同じ2次元レイアウト上で、複数の線画上の離散的な点に対応する各ドットに対して識別情報(色情報)を各々付与して成る点識別用レイアウト情報を生成する。
【0020】
点識別用レイアウト情報の各ドットを構成する離散的な点は、帳票データそれ自体によりプロットされる点である。例えば、帳票データが店舗別に毎日蓄積される売上のデータであり、この帳票データに基づいて生成される図2のチャート画像が店舗別の時系列売上推移を示すもの(横軸が日付、縦軸が売上)である場合、離散的な点は、店舗別の売上を日付毎にプロットした点に相当する。識別情報生成部13は、点識別用レイアウト情報を生成する際に、上述の各プロット点に対応する帳票データ(店舗名、日付、売上など)を帳票データ記憶部200から読み込み、色情報をIDとしたひも付け情報として識別情報記憶部14に記憶する。
【0021】
図3は、図2に示したチャート画像から生成される線識別用レイアウト情報および点識別用レイアウト情報の一部構成例を示す図である。図3(a)が線識別用レイアウト情報を示し、図3(b)が点識別用レイアウト情報を示している。図3において、四角のマスの1つ1つがドットを示している。識別用レイアウト情報の各ドットの位置は、チャート画像の各ドットの位置と1:1に対応している。各マスのうち、ハッチングを付した部分が線画を構成するドットを示しており、種類の異なるハッチングは異なる線画であることを示している。
【0022】
識別情報生成部13は、図3においてハッチングで示したドットに対して、線画毎に異なる色情報を識別情報として付与する。このとき識別情報生成部13は、チャート画像上で複数の線画が重なるドット(以下、交差ドットという)については、それぞれの線画に対応する色情報を各々付与して識別用レイアウト情報を生成する。なお、図面の都合上、交差ドットについても1種類のハッチングしか付していないが、実際には複数の線画に対応して異なる色情報が各々付与されている。
【0023】
交差ドットについて示しているハッチングに対応する色情報は、後述する識別情報取得部17により取得される色情報である。具体的には、当該交差ドットで交わっている複数の線画のうち、チャート画像生成部12により最も後にビットマップ化された線画に対応する色情報であるものとする。複数の線画をビットマップ化する順番は、帳票データ記憶部200に記憶されている帳票データの並び順に基本的には依存するが、ユーザの指定により任意に並べ替えることも可能である。
【0024】
例えば、図4に示すように、チャート画像を表示するためのウィンドウ51の他にソートボタン52を含んだ画面を表示装置300に表示させ、ユーザがマウス400によりソートボタン52を操作することにより、複数の線画をビットマップ化する順番を並べ替えるようにする。または、チャート画像を表示するためのウィンドウ51の他に複数の線画に対応する店舗名リスト53を含んだ画面を表示装置300に表示させ、ユーザがマウス400を操作して店舗名の並び順を任意に入れ替えることにより、複数の線画をビットマップ化する順番を並べ替えるようにしても良い。
【0025】
このように、複数の線画をビットマップ化する順番を並べ替えると、並べ替えた順番に従ってベクター描画部11、チャート画像生成部12および識別情報生成部13が再度動作し、新たな並び順に沿って識別用レイアウト情報を生成し直す。これにより、交差ドットに付与されている複数の色情報のうち識別情報取得部17により取得される色情報は、交差ドットで交わっている複数の線画のうち、新たに設定された順番でチャート画像生成部12により最も後にビットマップ化された線画に対応する色情報に変わることになる。
【0026】
識別情報生成部13が生成する識別用レイアウト情報における各ドットの色情報は、所定範囲内にある類似色を同一色グループにグルーピングした色情報である。ここで言う類似色とは、人間の目では殆ど識別できないがコンピュータでは識別できる色のことをいうものとする。識別情報生成部13は、1つの線画に対応する各ドットに対して、同一色グループに属する類似色の色情報を各々付与する。その際、識別情報生成部13は、1つの線画上の離散的な点に対応する各ドット(図3(b)に示す各ドット)に対しては少なくとも異なる類似色の色情報を各々付与する。
【0027】
つまり、図3(b)においてハッチングを付した各ドットは、チャート画像中に含まれる複数の線画上の離散的な点に対応するものであるが、異なる線画上のドットであるか同じ線画上のドットにあるかにかかわらず、各ドットに付与された色情報は全て異なっている。一方、図3(a)においてハッチングを付した各ドットは、同じ線画上のドットであれば同一色グループに属する類似色の色情報が付与されており、異なる線画上のドットであれば類似色ではない色情報が付与されている。ここで、同じ線画上の各ドットに付与される類似色の色情報が全て異なっていても良い。この場合は、線識別用レイアウト情報を構成するハッチング部の各ドットに付与される色情報は全て異なるものとなる。
【0028】
図1に戻って他の機能ブロックの説明を続ける。表示用チャート画像生成部15は、チャート画像生成部12により生成されたチャート画像に基づいて、表示用のチャート画像を生成する。この表示用チャート画像は、識別情報生成部13により生成された識別用レイアウト情報において識別情報として使用された色情報により示される色とは異なる色で線画を表現したものである。
【0029】
上述のように、識別用レイアウト情報に使用される色情報は、人間の目では殆ど識別できないがコンピュータでは識別できる色の色情報を含んでいる。これに対して表示用チャート画像生成部15は、人間の目で識別可能な色だけを用いて複数の線画を区別した表示用チャート画像を生成する。また、表示用チャート画像生成部15は、複数の線画が交わる交差ドットにおいては、交差ドットで交わっている複数の線画のうち、チャート画像生成部12により最も後にビットマップ化された線画を描画した表示用チャート画像を生成する。
【0030】
表示制御部16は、表示用チャート画像生成部15により生成されたビットマップの表示用チャート画像を表示装置300に表示させるように制御する。識別情報取得部17は、表示制御部16により表示装置300に表示された表示用チャート画像上でマウス400のカーソルにより指定されたドットに対応する識別情報(色情報)を、識別情報記憶部14に記憶されている識別用レイアウト情報から取得する。識別用レイアウト情報は、2次元レイアウトの各ドットに色情報が付与されたビットマップデータと同じ形態を有していることから、色情報の取得はBitmapDataクラスのgetPixcel関数などを用いて行うことが可能である。
【0031】
マウスカーソルにより指定されたドットが、図3(b)に示す離散的な点に対応するドットの場合、識別情報取得部17は、点識別用レイアウト情報から色情報を取得する。一方、マウスカーソルにより指定されたドットが、図3(b)に示す離散的な点以外の点で図3(a)に示す線画上の点に対応するドットの場合、識別情報取得部17は、線識別用レイアウト情報から色情報を取得する。
【0032】
ここで、識別情報取得部17は、マウスカーソルにより指定されたドットが、チャート画像上で複数の線画が重なる交差ドットである場合には、当該交差ドットについて付与されている複数の色情報の中から何れか1つを取得する。本実施形態では、交差ドットで交わっている複数の線画のうち、チャート画像生成部12により最も後にビットマップ化された線画に対応する色情報(図3において交差ドットについて示しているハッチングに対応する色情報)を取得するものとする。
【0033】
なお、上述したように、帳票データ記憶部200に記憶されている帳票データに基づいてチャート画像生成部12が複数の線画をビットマップ化する順番は、ユーザの指定により任意に変えることができる。線画をビットマップ化する順番の並べ替えによって、交差ドットについて識別情報取得部17に取得させる色情報を変えることが可能である。
【0034】
線画特定部18は、マウスカーソルにより指定されたドットが、図3(b)に示す離散的な点に対応するドットの場合、識別情報記憶部14に記憶されている点識別用レイアウト情報に基づいて、識別情報取得部17により取得された色情報により示されるドットを線画上の点として特定する。一方、マウスカーソルにより指定されたドットが、図3(b)に示す離散的な点以外の点で図3(a)に示す線画上の点に対応するドットの場合、線画特定部18は、識別情報記憶部14に記憶されている線識別用レイアウト情報に基づいて、識別情報取得部17により取得された色情報と同一色グループに属する色情報により示されるドット列を線画として特定する。
【0035】
動作制御部19は、線画特定部18により線画(の線)が特定されたときは、その特定された線画に関する所定の第1の動作を行うように制御する。例えば、動作制御部19は、線画特定部18により特定された線画をハイライト表示させるように表示用チャート画像生成部15と表示制御部16を制御する。具体的には、動作制御部19の制御を受けて表示用チャート画像生成部15は、線画特定部18により特定された線画が特定のハイライト色で最前面に現れるように表示用チャート画像を再描画する。そして、表示制御部16は、表示用チャート画像生成部15により再描画された表示用チャート画像を表示装置300に表示させる。
【0036】
一方、線画特定部18により線画上の点が特定されたときには、動作制御部19は、その特定された点に関する所定の第2の動作を行うように表示制御部16を制御する。例えば、動作制御部19は、特定された点についてラベル表示(特定された点に対応する帳票データの表示など)を行う。具体的には、動作制御部19の制御を受けて表示制御部16は、特定された点に対応する店舗名、日付、売上といった帳票データを識別情報記憶部14(上述のように、点識別用レイアウト情報の色情報にひも付けされて記憶されている)から取得し、表示用チャート画像生成部15により生成された表示用チャート画像に重ねて帳票データをラベル表示させる。
【0037】
次に、上記のように構成した本実施形態によるチャート描画装置100の動作を説明する。図5は、本実施形態によるチャート描画装置100の動作例を示すフローチャートである。図5に示すフローチャートは、チャート描画装置100を起動してチャート画像の表示を指示したときにスタートする。
【0038】
図5において、まず、ベクター描画部11は、帳票データ記憶部200に記憶されている複数の帳票データを用いて、1つ目の線画をベクター描画する(ステップS1)。次に、チャート画像生成部12は、ベクター描画部11によりベクター描画された1つ目の線画をビットマップデータへ転写することによりチャート画像を生成する(ステップS2)。
【0039】
さらに、識別情報生成部13は、チャート画像生成部12により生成されたチャート画像に基づいて、1つ目の線画に関する線識別用レイアウト情報および点識別用レイアウト情報を生成し、識別情報記憶部14に記憶する(ステップS3)。続いて、表示用チャート画像生成部15は、チャート画像生成部12により生成されたチャート画像に基づいて表示用チャート画像を生成する(ステップS4)。
【0040】
その後、ベクター描画部11は、帳票データ記憶部200に記憶されている複数の帳票データを用いて描画すべき線画を全て処理したか否か判定する(ステップS5)。描画すべき線画がまだ残っている場合、処理はステップS1に戻る。
このときベクター描画部11は、1つ目の線画を描画したときに生成したGraphicsクラスの内容をクリアする。
【0041】
そして、ベクター描画部11は、帳票データ記憶部200に記憶されている複数の帳票データに基づいて、2つ目の線画をベクター描画する(ステップS1)。次に、チャート画像生成部12は、ベクター描画部11によりベクター描画された2つ目の線画をビットマップデータへ転写することによりチャート画像を生成する(ステップS2)。
【0042】
さらに、識別情報生成部13は、チャート画像生成部12により生成されたチャート画像に基づいて、2つ目の線画に関する線識別用レイアウト情報および点識別用レイアウト情報を生成し、識別情報記憶部14に追加して記憶する(ステップS3)。続いて、表示用チャート画像生成部15は、チャート画像生成部12により生成されたチャート画像に基づいて表示用チャート画像を生成する(ステップS4)。具体的には、1つ目の線画の上に2つ目の線画を重ねて表示用チャート画像を生成する。
【0043】
その後、ベクター描画部11は、帳票データ記憶部200に記憶されている複数の帳票データを用いて描画すべき線画を全て処理したか否か判定する(ステップS5)。描画すべき線画がまだ残っている場合はステップS1に戻り、以下同様にして複数の線画に関する識別用レイアウト情報を生成するとともに、複数の線画を含む表示用チャート画像を生成する。
【0044】
描画すべき全ての線画を処理し終えたとステップS5にて判断した場合、すなわち、識別用レイアウト情報および表示用チャート画像が完成した場合、表示制御部16は、表示用チャート画像生成部15により生成された表示用チャート画像を表示装置300に表示させる(ステップS6)。
【0045】
表示用チャート画像が表示装置300に表示された状態で、識別情報取得部17は、当該チャート画像上でマウスカーソルによる位置の指定が行われたか否かを判定する(ステップS7)。チャート画像上でマウスカーソルによる位置の指定が行われた場合、識別情報取得部17は、マウスカーソルにより指定されたドットに対応する色情報を識別用レイアウト情報から取得する(ステップS8)。このとき、マウスカーソルにより指定されたドットが線画上の離散的な点に対応するドットの場合、識別情報取得部17は、点識別用レイアウト情報から色情報を取得する。一方、マウスカーソルにより指定されたドットが線画上の点(離散的な点以外の点)に対応するドットの場合、識別情報取得部17は、線識別用レイアウト情報から色情報を取得する。
【0046】
次に、線画特定部18は、マウスカーソルにより指定されたドットが線画上の離散的な点に対応するドットであるか、それ以外の線画上の点であるかを判定する(ステップS9)。これは、識別情報取得部17が線識別用レイアウト情報または点識別用レイアウト情報のどちらから色情報を取得したかによって判定することができる。
【0047】
ここで、マウスカーソルに指定されたドットが線画上の離散的な点に対応するドットである場合、線画特定部18は、識別情報記憶部14に記憶されている点識別用レイアウト情報に基づいて、識別情報取得部17により取得された色情報により示されるドットを線画上の点として特定する(ステップS10)。そして、動作制御部19は表示制御部16を制御して、特定された点に関する帳票データのラベル表示を行う(ステップS11)。
【0048】
一方、マウスカーソルにより指定されたドットが線画上の点(離散的な点以外の点)に対応するドットの場合、線画特定部18は、識別情報記憶部14に記憶されている線識別用レイアウト情報に基づいて、識別情報取得部17により取得された色情報と同一色グループに属する類似色の色情報により示されるドット列を線画として特定する(ステップS12)。そして、動作制御部19は表示用チャート画像生成部15および表示制御部16を制御して、特定された線画をハイライト表示させる(ステップS13)。
【0049】
次に、ベクター描画部11は、複数の線画をビットマップ化する順番の並べ替えがユーザにより指示されたか否かを判定する(ステップS14)。並べ替えの指示が行われたと判断した場合、処理はステップS1に戻る。この場合、並べ替えられた順番に従って、ステップS1〜ステップS5の処理を繰り返し実行することにより、識別用レイアウト情報および表示用チャート画像を再生成する。そして、再生成された表示用チャート画像を表示装置300に再表示する(ステップS6)。
【0050】
一方、複数の線画をビットマップ化する順番の並べ替えがユーザにより指示されていない場合、チャート描画装置100は動作を終了するための指示がユーザにより行われたか否かを判定する(ステップS15)。チャート描画装置100の動作を終了するための指示が行われていない場合、処理はステップS7に戻る。一方、チャート描画装置100の動作を終了するための指示が行われた場合、図5に示すフローチャートの処理は終了する。
【0051】
以上詳しく説明したように、本実施形態では、帳票データからビットマップ形式のチャート画像を生成し、当該チャート画像からビットマップ形式の表示用チャート画像を生成する一方、チャート画像上における線画の線と点を識別可能な色情報を線画に対応する各ドットに付与して成るビットマップ形式の識別用レイアウト情報をマウス判定用に生成する。そして、表示用チャート画像上でマウスカーソルにより指定されたドットに対応する色情報を識別用レイアウト情報から取得し、当該取得した色情報により示されるドット列を線画の線として特定し、または当該取得した色情報により示されるドットを線画の点として特定するようにしている。
【0052】
このように構成した本実施形態のチャート描画装置100によれば、複数の線画を含むチャートがビットマップ画像として生成され表示されるので、複数の線画をそれぞれベクター描画して表示する場合に比べて、複数の線画を描画する場合の動作速度を格段に速くすることができる。これにより、多量の線画を含むチャート画像であっても極めて高速に描画することができる。
【0053】
多量の線画があると重なって見えなくなる部分もあるが、重なり順の並べ替え(線画をビットマップ化する順番の並べ替え)によってチャート画像の見え方を変えることも瞬時に行うことができる。また、チャート画像の縦軸または横軸が長くて1画面に表示し切れない場合は、例えば図4のようにスクロールバー54の操作によって表示エリアを移動させる場合がある。この場合でも、スクロールに追随して異なるエリアのチャート画像を瞬時に表示し直すことができる。
【0054】
さらに、本実施形態のチャート描画装置100によれば、表示用チャート画像とは別に生成された識別用レイアウト情報により、チャート画像中に含まれる線画の位置という概念が形成されて、チャート画像中の線画をそれぞれ識別することが可能となる。これにより、ビットマップ化されたチャート画像上でも、マウスカーソルを合わせた位置の線画を特定することができるようになる。特に本実施形態では、識別用レイアウト情報として線識別用と点識別用との2種類を生成し、同じ線画上のドットであっても同じ色情報とはせずに異なる類似色で識別するようにしている。これにより、単に線画を特定するのみならず、線画上の線と点とを区別して特定することができる。
【0055】
なお、線識別用レイアウト情報および点識別用レイアウト情報は、用途に応じて生成することも可能である。すなわち、線画の線だけを識別すれば十分なアプリケーションの場合は、線識別用レイアウト情報だけがあれば良い。この場合、同じ線画に対しては同じ色情報を用いればよく、類似色で同一色グループを形成する必要はない。また、線画の点だけを識別すれば十分なアプリケーションの場合は、点識別用レイアウト情報があれば良い。
【0056】
また、本実施形態では、マウスカーソルの位置判定を行うのに、マウス400から座標情報を取得するのではなく、識別用レイアウト情報から色情報を取得している。マウス400から座標情報を取得する方法であると、カーソルを少し動かす度に外部デバイスのマウス400から座標情報を一々取得する必要があり、多くの時間を要する。
【0057】
これに対し、本実施形態のように内部の識別用レイアウト情報から色情報を取得する方法であれば、マウスカーソルの移動に追随して瞬時に色情報を取得することができる。このため、チャート画像をビットマップ化して表示することにより表示速度を向上させることに加えて、マウス位置の判定速度も格段に向上させることができる。これにより、チャート画像の表示からマウス位置の判定を経て、それにより特定した線画のハイライト表示等を行うまでの一連のパフォーマンスを極めて高いものにすることができる。
【0058】
なお、上記実施形態では、交差ドットについては、そこで交差しているそれぞれの線画に対応する色情報を各々付与して識別用レイアウト情報を生成する例について説明したが、本発明はこれに限定されない。例えば、交差ドットで交わっている複数の線画のうち、チャート画像生成部12により最も後にビットマップ化された線画に対応する色情報だけを付与するようにしても良い。あるいは、ユーザが任意に指定した線画に対応する色情報だけを付与するようにしても良い。
【0059】
また、上記実施形態では、マウスカーソルによる指定によって線画上の線が特定された場合は線画のハイライト表示を行い、線画上の点が特定された場合はラベル表示を行う例について説明したが、線画上の線または点が特定されたときのアクションはこの例に限定されない。すなわち、アプリケーションの用途に応じて任意の動作を行わせることが可能である。例えば、特定した線画の表示を表示用チャート画像から消去させることが可能である。
【0060】
また、上記実施形態では、識別用レイアウト情報を構成する識別情報として色情報を用いる例について説明したが、本発明はこれに限定されない。すなわち、チャート画像中に含まれる複数の線画(好ましくは更に線画上の線と点)をそれぞれ識別することが可能な情報であれば、色情報以外の情報を用いても良い。
【0061】
また、上記実施形態では、線画の一例として図2のような折れ線を挙げて説明したが、線画の種類はこれに限定されない。例えば、棒グラフ、円グラフ、レーダーチャート、帯グラフなどにも適用することが可能である。
【0062】
また、上記実施形態では、表示用チャート画像上のドットをマウス400のカーソルにより指定する例について説明したが、本発明はこれに限定されない。例えば、表示装置300にタッチパネルを設け、当該タッチパネルに対するタッチペンや指のタッチにより表示用チャート画像上のドットを指定するようにしても良い。
【0063】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0064】
11 ベクター描画部
12 チャート画像生成部
13 識別情報生成部
14 識別情報記憶部
15 表示用チャート画像生成部
16 表示制御部
17 識別情報取得部
18 線画特定部
19 動作制御部

【特許請求の範囲】
【請求項1】
複数の数値データから、複数の線画を色の違いで表現したチャートをビットマップ形式の画像として生成するチャート画像生成部と、
上記チャート画像生成部により生成されたチャート画像に基づいて、上記チャート画像上の上記複数の線画をそれぞれ識別可能な識別情報を生成し、上記チャート画像と同じ2次元レイアウト上で上記複数の線画に対応する各ドットに対して上記識別情報を各々付与して成る識別用レイアウト情報を生成する識別情報生成部と、
上記チャート画像生成部により生成された上記チャート画像に基づいて、表示用チャート画像を生成する表示用チャート画像生成部と、
上記表示用チャート画像生成部により生成された上記表示用チャート画像を表示装置に表示させる表示制御部と、
上記表示制御部により表示された上記表示用チャート画像上で指定されたドットに対応する識別情報を上記識別用レイアウト情報から取得する識別情報取得部と、
上記識別情報取得部により取得された識別情報により示されるドット列を線画として特定する線画特定部とを備えたことを特徴とするチャート描画装置。
【請求項2】
上記識別情報生成部は、上記チャート画像上で上記複数の線画が重なるドットについては、それぞれの線画に対応する上記識別情報を各々付与して上記識別用レイアウト情報を生成し、
上記識別情報取得部は、上記指定されたドットが、上記チャート画像上で上記複数の線画が重なるドットである場合には、当該ドットについて付与されている複数の識別情報の中から何れか1つを取得することを特徴とする請求項1に記載のチャート描画装置。
【請求項3】
上記表示制御部は、上記線画特定部により特定された線画をハイライト表示させることを特徴とする請求項1または2に記載のチャート描画装置。
【請求項4】
上記識別情報生成部が生成する各ドットの上記識別情報は色情報であることを特徴とする請求項1に記載のチャート描画装置。
【請求項5】
上記識別情報生成部は、上記チャート画像生成部により生成された上記チャート画像と同じ2次元レイアウト上で上記複数の線画の線に対応する各ドットに対して上記識別情報を各々付与して成る線識別用レイアウト情報と、上記チャート画像生成部により生成された上記チャート画像と同じ2次元レイアウト上で上記複数の線画上の離散的な点に対応する各ドットに対して上記識別情報を各々付与して成る点識別用レイアウト情報とを生成し、
上記線画特定部は、上記線識別用レイアウト情報に基づいて、上記識別情報取得部により取得された識別情報により示されるドット列を上記線画として特定するとともに、上記点識別用レイアウト情報に基づいて、上記識別情報取得部により取得された識別情報により示されるドットを上記線画上の点として特定することを特徴とする請求項1に記載のチャート描画装置。
【請求項6】
上記識別情報生成部が生成する各ドットの上記識別情報は、所定範囲内にある類似色を同一色グループにグルーピングした色情報であり、上記識別情報生成部は、1つの線画に対応する各ドットに対して上記同一色グループに属する類似色の色情報を各々付与し、その際に当該1つの線画上の離散的な点に対応する各ドットに対しては少なくとも異なる類似色の色情報を各々付与して上記線識別用レイアウト情報および上記点識別用レイアウト情報を生成し、
上記線画特定部は、上記線識別用レイアウト情報に基づいて、上記識別情報取得部により取得された色情報と同一色グループに属する色情報により示されるドット列を上記線画として特定するとともに、上記点識別用レイアウト情報に基づいて、上記識別情報取得部により取得された色情報により示されるドットを上記線画上の点として特定することを特徴とする請求項5に記載のチャート描画装置。
【請求項7】
上記線画特定部により上記線画が特定されたときには所定の第1の動作を行うように制御するとともに、上記線画特定部により上記線画上の点が特定されたときには所定の第2の動作を行うように制御する動作制御部を更に備えたことを特徴とする請求項6に記載のチャート描画装置。
【請求項8】
複数の数値データから、複数の線画を色の違いで表現したチャートをビットマップ形式の画像として生成するチャート画像生成ステップと、
上記チャート画像生成ステップで生成されたチャート画像に基づいて、上記チャート画像上の上記複数の線画をそれぞれ識別可能な識別情報を生成し、上記チャート画像と同じ2次元レイアウト上で上記複数の線画に対応する各ドットに対して上記識別情報を各々付与して成る識別用レイアウト情報を生成する識別情報生成ステップと、
上記チャート画像生成ステップで生成された上記チャート画像に基づいて、表示用チャート画像を生成する表示用チャート画像生成ステップと、
上記表示用チャート画像生成ステップで生成された上記表示用チャート画像を表示装置に表示させる表示ステップと、
上記表示装置に表示された上記表示用チャート画像上で指定されたドットに対応する識別情報を上記識別用レイアウト情報から取得する識別情報取得ステップと、
上記識別情報取得ステップで取得された識別情報により示されるドット列を線画として特定する線画特定ステップと、
上記線画特定ステップで特定された線画をハイライト表示させるハイライト表示ステップとを有することを特徴とするチャート描画方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−103065(P2011−103065A)
【公開日】平成23年5月26日(2011.5.26)
【国際特許分類】
【出願番号】特願2009−257763(P2009−257763)
【出願日】平成21年11月11日(2009.11.11)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FLASH
【出願人】(504103984)1stホールディングス株式会社 (4)
【出願人】(509035576)株式会社フォー・クルー (3)
【Fターム(参考)】