(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022142429
(43)【公開日】2022-09-30
(54)【発明の名称】グラフ生成装置、グラフ生成方法、およびコンピュータプログラム
(51)【国際特許分類】
G06T 11/20 20060101AFI20220922BHJP
【FI】
G06T11/20 600
【審査請求】有
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2021042588
(22)【出願日】2021-03-16
(11)【特許番号】
(45)【特許公報発行日】2022-08-15
(71)【出願人】
【識別番号】500020151
【氏名又は名称】株式会社ワイ・ディ・シー
(74)【代理人】
【識別番号】100125117
【弁理士】
【氏名又は名称】坂田 泰弘
(74)【代理人】
【識別番号】100086933
【弁理士】
【氏名又は名称】久保 幸雄
(72)【発明者】
【氏名】草野 周
(72)【発明者】
【氏名】内藤 孝雄
【テーマコード(参考)】
5B080
【Fターム(参考)】
5B080CA00
5B080DA00
5B080FA02
5B080FA05
5B080GA00
(57)【要約】
【課題】グラフ化の速度を維持しつつ重要なデータを従来よりも見落としにくいグラフを提供する。
【解決手段】グラフ描画装置1は、テーブル61に含まれるそれぞれの電圧値を、計測された時間帯に対応するグループに分類するグループ化処理部203と、各グループから最大電圧値および最小電圧値を1つずつ選出する最大値最小値選出部204と、各グループから選出した最大電圧値と最大電圧値とを結ぶ線分を、グラフ領域の各グループに対応する位置へ描画するグループ線分描画部206と、を設ける。
【選択図】
図3
【特許請求の範囲】
【請求項1】
説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系に生成するグラフ生成装置であって、
前記複数の組それぞれの前記目的変数を、前記第一の軸方向の複数の区間に分類する分類手段と、
前記複数の区間それぞれに分類された前記目的変数の集合から最大値および最小値を1つずつ選出する選出手段と、
前記複数の区間それぞれについて、当該区間における値を表わす第一の線として、選出された前記最大値と前記最小値とを結ぶ線を当該区間に配置することによって、前記グラフを生成する生成手段と、
を有することを特徴とするグラフ生成装置。
【請求項2】
前記複数の区間の数は、前記グラフが生成される領域の、前記第一の軸方向のピクセル数に等しい、
請求項1に記載のグラフ生成装置。
【請求項3】
前記生成手段は、さらに、前記複数の区間のうちの互いに隣り合う2つの区間を結ぶ第二の線として、当該2つの区間のうちの先の区間に分類された前記目的変数のうちの最後の目的変数と後の区間に分類された前記目的変数のうちの最初の目的変数とを結ぶ線を配置することによって、前記グラフを生成する、
請求項2に記載のグラフ生成装置。
【請求項4】
前記分類手段は、前記複数の組のうちの一部の組を選択するための操作が行われた場合に、当該一部の組それぞれの前記目的変数を前記複数の区間に分類し直し、
前記選出手段は、前記複数の区間それぞれに分類し直された前記目的変数の集合から最大値および最小値を1つずつ選出し直し、
前記生成手段は、前記複数の区間それぞれについて、選出し直された前記最大値と前記最小値とを結ぶ線を前記第一の線として当該区間に配置し直し、さらに、分類し直された前記目的変数の集合に基づいて前記第二の線を配置し直すことによって、前記グラフを生成する、
請求項3に記載のグラフ生成装置。
【請求項5】
前記分類手段は、前記ピクセル数が変化した場合に、当該変化後のピクセル数と同数の区間を前記複数の区間として、前記複数の組それぞれの前記目的変数を分類し直し、
前記選出手段は、前記同数の区間それぞれについて、分類し直された前記目的変数の集合から最大値および最小値を1つずつ選出し、
前記生成手段は、前記同数の区間それぞれについて、前記第一の線として、選出し直された前記最大値と前記最小値とを結ぶ線を当該区間に配置し直し、さらに、当該同数の区間のうちの互いに隣り合う2つの区間のうちの先の区間に分類された前記目的変数のうちの最後の目的変数と後の区間に分類された前記目的変数のうちの最初の目的変数とを結ぶ線を前記第二の線として配置し直すことによって、前記グラフを生成し直す、
請求項3に記載のグラフ生成装置。
【請求項6】
説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系の、当該第二の軸に平行に並んだNh個のピクセルからなるNw個の小領域が当該第一の軸に平行に並んだ領域に生成する、グラフ生成装置であって、
前記複数の組それぞれの前記目的変数を、前記第一の軸方向のNw個の区間に分類する分類手段と、
前記Nw個の区間それぞれについて、当該区間の前記Nh個のピクセルの中から、当該区間に分類された前記目的変数それぞれに対応するピクセルを特定し、当該特定したピクセルに対して1回ずつ点を配置することによって前記グラフを生成する、生成手段と、
を有することを特徴とするグラフ生成装置。
【請求項7】
説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系に生成するグラフ生成方法であって、
前記複数の組それぞれの前記目的変数を、前記第一の軸方向の複数の区間に分類し、
前記複数の区間それぞれに分類された前記目的変数の集合から最大値および最小値を1つずつ選出し、
前記複数の区間それぞれについて、当該区間における値を表わす第一の線として、選出した前記最大値と前記最小値とを結ぶ線を当該区間に配置することによって、前記グラフを生成する、
ことを特徴とするグラフ生成方法。
【請求項8】
説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系の、当該第二の軸に平行に並んだNh個のピクセルからなるNw個の小領域が当該第一の軸に平行に並んだ領域に生成する、グラフ生成方法であって、
前記複数の組それぞれの前記目的変数を、前記第一の軸方向のNw個の区間に分類し、
前記Nw個の区間それぞれについて、当該区間の前記Nh個のピクセルの中から、当該区間に分類された前記目的変数それぞれに対応するピクセルを特定し、当該特定したピクセルに対して1回ずつ点を配置することによって前記グラフを生成する、
を有することを特徴とするグラフ生成方法。
【請求項9】
説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系に生成するためのコンピュータに用いられるコンピュータプログラムであって、
前記コンピュータに、
前記複数の組それぞれの前記目的変数を、前記第一の軸方向の複数の区間に分類する処理を実行させ、
前記複数の区間それぞれに分類された前記目的変数の集合から最大値および最小値を1つずつ選出する処理を実行させ、
前記複数の区間それぞれについて、当該区間における値を表わす第一の線として、選出した前記最大値と前記最小値とを結ぶ線を当該区間に配置することによって、前記グラフを生成する処理を実行させる、
ことを特徴とするコンピュータプログラム。
【請求項10】
説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系の、当該第二の軸に平行に並んだNh個のピクセルからなるNw個の小領域が当該第一の軸に平行に並んだ領域に生成するためのコンピュータに用いられるコンピュータプログラムであって、
前記コンピュータに、
前記複数の組それぞれの前記目的変数を、前記第一の軸方向のNw個の区間に分類する処理を実行させ、
前記Nw個の区間それぞれについて、当該区間の前記Nh個のピクセルの中から、当該区間に分類された前記目的変数それぞれに対応するピクセルを特定し、当該特定したピクセルに対して1回ずつ点を配置することによって前記グラフを生成する処理を実行させる、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テーブルなどのデータのグラフを生成する技術に関する。
【背景技術】
【0002】
表計算アプリケーションには、データをグラフ化する機能が備わっている。演算ユニットの能力が向上すると、グラフ化するのに要する時間(所要時間)が短縮される。しかし、メモリの容量が増加すると、グラフ化できるデータのサイズが大きくなる。したがって、演算ユニットの能力に依らずに所要時間を短縮させることが求められる。
【0003】
所要時間を短縮させる技術として、従来、次のような技術が提案されている。グラフ表示装置は、プラント内に配置される機器から収集したデータに基づいて、所定期間ごとのデータを代表する代表データを生成する代表データ生成部と、代表データを生成する際に用いたデータのばらつき情報を生成するばらつき情報生成部と、代表データを時系列に並べた折れ線グラフを表示するグラフ表示部と、折れ線グラフ上のいずれかの箇所に対する選択操作を検知する選択検知部と、を備え、グラフ表示部は、検知された箇所が属する期間における代表データに対応するばらつき情報を、折れ線グラフと区別可能な態様で表示する(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載されるような従来の技術によると、収集したすべてのデータをプロットする場合よりも高速にグラフ化することができる。しかし、従来の技術によると、重要なデータを見落しやすい。
【0006】
本発明は、このような問題点に鑑み、グラフ化の速度の維持を図りつつ重要なデータを従来よりも見落としにくいグラフを提供することを、目的とする。
【課題を解決するための手段】
【0007】
本発明の一形態に係るグラフ生成装置は、説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系に生成するグラフ生成装置であって、前記複数の組それぞれの前記目的変数を、前記第一の軸方向の複数の区間に分類する分類手段と、前記複数の区間それぞれに分類された前記目的変数の集合から最大値および最小値を1つずつ選出する選出手段と、前記複数の区間それぞれについて、当該区間における値を表わす第一の線分として、選出された前記最大値と前記最小値とを結ぶ線分を当該区間に配置することによって、前記グラフを生成する生成手段と、を有する。
【0008】
前記複数の区間の数は、例えば、前記グラフが生成される領域の、前記第一の軸方向のピクセル数に等しい。
【0009】
好ましくは、前記生成手段は、さらに、前記複数の区間のうちの互いに隣り合う2つの区間を結ぶ第二の線分として、当該2つの区間のうちの先の区間に分類された前記目的変数のうちの最後の目的変数と後の区間に分類された前記目的変数のうちの最初の目的変数とを結ぶ線分を配置することによって、前記グラフを生成する。
【発明の効果】
【0010】
本発明によると、グラフ化の速度の維持を図りつつ重要なデータを従来よりも見落としにくいグラフを提供することができる。
【図面の簡単な説明】
【0011】
【
図1】グラフ描画装置を含むネットワークシステムの例を示す図である。
【
図2】グラフ描画装置のハードウェア構成の例を示す図である。
【
図3】グラフ描画装置の機能的構成の例を示す図である。
【
図4】グラフウィンドウの初期の状態の例を示す図である。
【
図8】隣り合うグループを結ぶ線分の描画の方法の例を説明するための図である。
【
図9】隣り合うグループを結ぶ線分の描画の方法の例を説明するための図である。
【
図10】隣り合うグループを結ぶ線分の変形例を示す図である。
【
図11】描画後におけるグラフウィンドウの状態の例を示す図である。
【
図12】グラフ描画プログラムによる全体的な処理の流れの例を説明するフローチャートである。
【発明を実施するための形態】
【0012】
図1は、グラフ描画装置1を含むネットワークシステムの例を示す図である。
図2は、グラフ描画装置1のハードウェア構成の例を示す図である。
【0013】
図1に示すグラフ描画装置1は、テーブル(表)をグラフ化して表示する装置である。グラフ描画装置1として、パーソナルコンピュータ、タブレットコンピュータ、またはスマートフォンなどのコンピュータを用いることができる。以下、グラフ描画装置1として、ノート型のパーソナルコンピュータが用いられる場合を例に説明する。
【0014】
グラフ描画装置1は、
図2に示すように、演算ユニット101、RAM(Random Access Memory)102、ROM(Read Only Memory)103、補助記憶装置104、ディスプレイ105、通信装置106、キーボード107、およびポインティングデバイス108などによって構成される。
【0015】
演算ユニット101は、CPU(Central Processing Unit)またはGPU(Graphics Processing Unit)などのプロセッサであって、RAM102にロードされたコンピュータプログラムに従って演算処理を実行する。
【0016】
RAM102は、演算ユニット101の作業用メモリであって、種々のコンピュータプログラムがロードされる。
【0017】
ROM103および補助記憶装置104には、オペレーティングシステムをはじめ種々のコンピュータプログラムがインストールされている。特に本実施形態においては、グラフ描画プログラム2(
図3参照)がインストールされている。これらのコンピュータプログラムは、必要に応じてRAM102にロードされる。補助記憶装置104として、ハードディスクまたはSSD(Solid State Drive)などの不揮発性の補助記憶媒体が用いられる。
【0018】
ディスプレイ105は、入力用の画面および演算ユニット101による演算結果などを表示する。
【0019】
通信装置106は、インターネット、公衆回線、またはLAN(Local Area Network)などの通信回線を介してクラウドサーバ3などの他の装置と通信する。通信装置106として、NIC(Network Interface Card)または無線通信装置などが用いられる。
【0020】
キーボード107およびポインティングデバイス108は、作業者がグラフ描画装置1へ情報またはコマンドを入力するために用いられる。
【0021】
グラフ描画プログラム2は、テーブルに示される各値を折れ線グラフに変換しディスプレイ105に表示させるプログラムである。以下、グラフ描画プログラム2による処理について説明する。
【0022】
図3は、グラフ描画装置1の機能的構成の例を示す図である。
図4は、グラフウィンドウ4の初期の状態の例を示す図である。
図5は、テーブル61の例を示す図である。
図6は、小領域41Aの例を示す図である。
図7は、グループの線分の例を示す図である。
図8~
図9は、隣り合うグループを結ぶ線分41Cの描画の方法の例を説明するための図である。
図10は、隣り合うグループを結ぶ線分41Cの変形例を示す図である。
図11は、描画後におけるグラフウィンドウ4の状態の例を示す図である。
【0023】
グラフ描画プログラム2を演算ユニット101で実行することによって、
図3に示すグラフウィンドウ表示部201、テーブルデータ取得部202、グループ化処理部203、最大値最小値選出部204、スケール対応量決定部205、グループ線分描画部206、隣接値線分描画部207、注釈配置部208、およびグラフ化範囲受付部209などの機能がグラフ描画装置1において実現される。
【0024】
グラフウィンドウ表示部201は、グラフウィンドウ4をディスプレイ105に表示させる。グラフウィンドウ4は、
図4のようにグラフ領域41、注釈領域42、およびボタン領域43などによって構成される。
【0025】
グラフ領域41には、後述するように、グループ線分描画部206および隣接値線分描画部207によって折れ線グラフが描画される。グラフ領域41は、Nw×Nh個のピクセルを有し、グラフ領域41の左下の角のピクセルの座標が(1,1)であり、右上の角のピクセルの座標が(Nw,Nh)である。
【0026】
注釈領域42には、後述するように、注釈配置部208によってX軸およびY軸それぞれの目盛りならびに説明変数(独立変数)および目的変数(従属変数)それぞれの名称などが配置される。グラフ描画プログラム2を起動した際にグラフウィンドウ表示部201はグラフウィンドウ4を表示させるが、この時点では、グラフ領域41および注釈領域42には何も示されない。
【0027】
ボタン領域43は、テーブルボタン43Aおよび終了ボタン43Bなどのボタンが配置される。各ボタンの使い方は、後に順次、説明する。
【0028】
テーブルデータ取得部202は、テーブルデータ51を次のように取得する。作業者は、テーブルのファイルを補助記憶装置104の所定のディレクトリに用意する。このファイルは、表計算アプリケーションのフォーマットのファイルであってもよいし、CSV(Comma Separated Value)フォーマットのファイルであってもよい。
【0029】
作業者がテーブルボタン43Aをクリックすると、テーブルデータ取得部202は、ダイアログボックスをディスプレイ105に表示させる。作業者は、用意したファイルをダイアログボックスに対して指定する。すると、テーブルデータ取得部202は、そのファイルをテーブルデータ51として補助記憶装置104から読み出す。以下、
図5に示すようなテーブル61のファイルがテーブルデータ51として読み出された場合を例に説明する。
【0030】
テーブル61は、ある機械の電気回路に設けられた電圧計が期間Mに一定の時間間隔で合計200万回検出した電圧値Eを記録したものである。以下、時刻Tp(1≦p≦200万)に検出された電圧値Eを「電圧値Ep」と記載する。
【0031】
グループ化処理部203は、テーブル61の200万個すべての電圧値Eを、検出された時刻の古い順にNw個のグループに分ける。
【0032】
ところで、グラフ領域41は、
図6のように、1ピクセルの幅の縦長の小領域41Aに区切られる。そして、k番目のグループの電圧値Eを表わす線分41B(
図7参照)が、左からk番目の小領域41Aに描画される。このように描画することが、200万個の電圧値EをN
w個のグループに分ける理由である。以下、左からk番目の小領域41Aを「41A
k」と記載し、k番目のグループの線分41Bを「線分41B
k」と記載する。
【0033】
最大値最小値選出部204は、Nw個のグループそれぞれから電圧値Eの最大値および最小値を選出する。
【0034】
例えば、ピクセル数Nwが1000である場合は、各グループには(200万/Nw)個すなわち2000個の電圧値Eが属している。そこで、最大値最小値選出部204は、、k番目(k=1,2,…、Nw)のグループの最大値および最小値として、グループに属する電圧値E2000×(k-1)+1~電圧値E2000×kの中から最大値および最小値を1つずつ選出する。
【0035】
以下、k番目のグループから選出された最大値および最小値をそれぞれ「最大電圧値Ek_MAX」および「最小電圧値Ek_MIN」と記載する。
【0036】
スケール対応量決定部205は、グラフ領域41のX軸方向およびY軸方向それぞれの最小スケールすなわち1ピクセルに対応する量を決定する。X軸は時間軸なので、スケール対応量決定部205は、X軸方向の1ピクセル当たりの時間を、M/Nw、に決定する。一方、Y軸方向の1ピクセル当たりの電圧は、次のように決定される。
【0037】
スケール対応量決定部205は、各グループの最大電圧値E1_MAX、E2_MAX、…、ENw_MAXのうちの最大値を選出し、さらに最小電圧値E1_MIN、E2_MIN、…、ENw_MINのうちの最小値を選出する。これにより、すべての電圧値Eのうちの最大値および最小値が1つずつ選出される。以下、選出した最大値および最小値をそれぞれ「全体最大電圧値EMAX」および「全体最小電圧値EMIN」と記載する。そして、スケール対応量決定部205は、Y軸方向の1ピクセル当たりの電圧を、(EMAX-EMIN)/Nh、に決定する。例えば、Nh=800、EMAX=60、EMIN=-40であれば、{60-(-40)}/800、すなわち、0.125、に決定する。以下、Y軸方向の1ピクセル当たりの電圧を「単位電圧EUNIT」と記載する。
【0038】
グループ線分描画部206は、各グループの線分41Bを、各グループに対応する小領域41Aに描画する。線分41B
kの第一の端点および第二の端点は、それぞれ、最小電圧値E
k_MINおよび最大電圧値E
k_MAXに対応する。したがって、例えば、k=J、であるときの線分すなわち線分41B
Jの第一の端点および第二の端点は、それぞれ、最小電圧値E
J_MINおよび最大電圧値E
J_MAXに対応する。そして、
図7のように、小領域41A
Jに描画される。小領域41A
Jは幅が1ピクセルなので、線分41B
Jは、幅が1ピクセルの縦長のラインとして描画される。同様に、k=J-1、であるとき、および、k=J+1、であるときそれぞれの線分すなわち線分41B
J-1、41B
J+1も、
図7のように、小領域41A
J-1、41A
J+1に、幅が1ピクセルのラインとして描画される。
【0039】
グラフ領域41においてk番目のグループの中の電圧値Eを表わす点のX座標およびY座標は、それぞれ、kおよび{(E-EMIN)+1}/EUNIT、である。よって、第一の端点および第二の端点それぞれの座標は、(k,{(Ek_MIN-EMIN)+1}/EUNIT)および(k,{(Ek_MAX-EMIN)+1)/EUNIT)である。ただし、小数点以下は、切り捨てられ、切り下げられ、または四捨五入される。また、{(E-EMIN)+1}/EUNIT、の式によると、E=EMAX、の場合は、グラフ領域41に収まらないので第二の端点の座標を、Nh、にしてもよい。
【0040】
隣接値線分描画部207は、隣り合う2つグループ同士を繋ぐための線分41Cを描画する。線分41Cの2つの端点はそれぞれ、隣り合う2つグループのうちの先のグループの最後の電圧値Eおよび後のグループの最初の電圧値Eに対応する。
【0041】
例えば、(J-1)番目のグループとJ番目のグループとの線分41C
Jの2つの端点は、
図8(A)のように、太枠で示す2つのピクセルである。そして、線分41C
Jは、
図8(B)のように、これら2つのピクセルを結ぶ。または、J番目のグループと(J+1)番目のグループとの線分41C
J+1の2つの端点は、
図9(A)のように、太枠で示す2つのピクセルである。そして、線分41C
J+1は、
図9(B)のように、これら2つのピクセルを結ぶ。
【0042】
なお、線分41Cには線分41Bと重複する部分と重複しない部分とが含まれることがあるが、
図10のように、重複する部分を線分41Bと同じ色で表わし、重複しない部分を線分41Bよりも薄い色で表わしてもよい。
【0043】
以上の処理によってグラフ領域41に描画された線分41B、41Cの集まりが、
図11に示すような、テーブル61の折れ線グラフ62である。
【0044】
注釈配置部208は、テーブル61(
図5参照)に基づいてX軸およびY軸それぞれの名前(説明変数名および目的変数名)、目盛り、および値など、折れ線グラフ62の注釈を配置する。
【0045】
ところで、作業者は、グラフ領域41の外枠をドラッグアンドドロップすることによって、グラフ領域41のサイズを変更するようにグラフ描画装置1へ指令を与えることができる。すると、グラフウィンドウ表示部201は、指令に従ってグラフ領域41のサイズを変更してグラフウィンドウ4をディスプレイ105に表示し直す。
【0046】
または、作業者は、グラフウィンドウ4の外枠をドラッグアンドドロップすることによって、グラフウィンドウ4のサイズを変更するようにグラフ描画装置1へ指令することができる。すると、グラフウィンドウ表示部201は、指令に従ってグラフウィンドウ4のサイズを変更するとともにグラフウィンドウ4の新たなサイズに応じてグラフ領域41のサイズを適宜、変更してグラフウィンドウ4をディスプレイ105に表示し直す。
【0047】
または、作業者は、グラフ化する範囲を指定することができる。例えば、グラフ領域41の中の、その範囲の起点および終点それぞれに対応する位置をクリックすることによって指定する。以下、この起点および終点をそれぞれ「起点時刻Ts」および「終点時刻Te」と記載する。
【0048】
グラフ化範囲受付部209は、作業者の操作を受け付けると、起点時刻Tsおよび終点時刻Teを、クリックされた位置などに基づいて算出する。例えば、小領域41Asおよび小領域41Aeそれぞれの中の任意に位置がクリックされた場合は、s番目のグループの先頭の電圧値Eに対応する時刻を起点時刻Tsとして算出し、e番目のグループの最後の電圧値Eに対応する時刻を終点時刻Teとして算出する。ただし、s<e、である。
【0049】
このようにグラフ領域41のサイズがグラフウィンドウ表示部201によって変更され、または、起点時刻Tsおよび終点時刻Teがグラフ化範囲受付部209によって算出されると、折れ線グラフ62が次のように描画し直される。
【0050】
テーブルデータ取得部202は、起点時刻Tsおよび終点時刻Teが算出された場合は、テーブル61の中から、起点時刻Tsに対応する電圧値Esおよび終点時刻Teに対応する電圧値Eeをそれぞれ先頭および末尾とする範囲の電圧値Eを抽出することによって部分テーブル63を生成する。
【0051】
グループ化処理部203は、部分テーブル63の中のすべての電圧値Eを、検出された時刻の古い順に現在の(最新の)Nw個のグループに分ける。ただし、部分テーブル63が生成されなかった場合つまりグラフ領域41のサイズが変化したのみの場合は、最新のテーブル(本例では、テーブル61)の中のすべての電圧値Eを分ける。
【0052】
最大値最小値選出部204は、各グループから電圧値Eの最大値および最小値を選出する。
【0053】
スケール対応量決定部205は、現在のピクセル数Nhおよび全体最大電圧値EMAXに基づいて単位電圧EUNIT(1ピクセル当たりの電圧)を算出する。さらに、起点時刻Tsおよび終点時刻Teに基づいて、グラフ化の対象の範囲(期間MNEW)を算出し、X軸方向の最小スケール(1ピクセル当たりの時間)を、MNEW/Nw、に決定する。ただし、部分テーブル63が生成されなかった場合は、M/Nw、に決定する。
【0054】
グループ線分描画部206は、各グループの線分41Bを、各グループに対応する小領域41Aに描画する。上述の通り、k番目のグループの線分41Bkの第一の端点および第二の端点それぞれの座標は、(k,{(Ek_MIN-EMIN)+1}/EUNIT)および(k,{(Ek_MAX-EMIN)+1}/EUNIT)である。ただし、Ek_MAX=EMAX、の場合は、第二の端点の座標をグラフ領域41に納めるために、その座標を(k,Nh)にしてもよい。
【0055】
隣接値線分描画部207は、隣り合う2つグループ同士を繋ぐための線分41Cを描画する。線分41Cを描画する方法は、前に
図8~
図10で説明した通りである。
【0056】
そして、注釈配置部208は、テーブル61または部分テーブル63に基づいて折れ線グラフ62の注釈を配置する。
【0057】
図12は、グラフ描画プログラム2による全体的な処理の流れの例を説明するフローチャートである。
【0058】
次に、グラフ描画装置1の全体的な処理の流れを、フローチャートを参照しながら説明する。グラフ描画装置1は、グラフ描画プログラム2に基づいて、
図12に示す手順で処理を実行する。
【0059】
グラフ描画装置1は、グラフ描画プログラム2を起動すると、グラフウィンドウ4(
図4参照)を表示する(
図12の#11)。そして、作業者が指定したファイルをテーブルデータ51として取得し(#12)、テーブルデータ51に基づいて次のようにグラフ化の処理を行う。
【0060】
グラフ描画装置1は、テーブル61(
図5参照)に示されるすべての電圧値EをN
w個のグループに分け(#13)、各グループから最大値および最小値を選出する(#14)。さらに、X軸方向およびY軸方向それぞれの最小スケールを決定する(#15)。
【0061】
そして、グラフ描画装置1は、ステップ#14、#15の処理結果に基づいて、各グループの線分41Bおよび隣り合うグループ同士の線分41C(
図8~
図10参照)を作成しグラフ領域41に配置する(#16、#17)。これにより、折れ線グラフ62が表示される。
【0062】
その後、作業者がグラフウィンドウ4またはグラフ領域41のサイズを指定する作業を行ったら(#18でYes)、グラフ描画装置1は、指定されたサイズでグラフウィンドウ4またはグラフ領域41を表示し直す(#19)。
【0063】
または、作業者が起点時刻Tsおよび終点時刻Teを指定する作業を行ったら(#20でYes)、グラフ描画装置1は、指定された起点時刻Tsから終点時刻Teまでの範囲のデータをテーブル61から抽出することによって部分テーブル63を生成する(#21)。
【0064】
ステップ#19においてグラフ領域41のサイズ(ピクセル数NwまたはNh)が変化し、またはステップ#21において部分テーブル63が生成された場合は(#22でYes)、グラフ描画装置1は、ステップ#13~#17の処理を、最新のピクセル数Nw、Nhおよび最新のテーブル(テーブル61または部分テーブル63)に基づいて実行する。
【0065】
なお、部分テーブル63に含まれる電圧値Eの個数Nvがピクセル数Nw未満である場合も、そうでない場合と同じアルゴリズムによって、つまり、ステップ#13~#17の処理を実行することによって、折れ線グラフ62を描画し直すことができる。しかし、個数Nvが少なくなるほど、グラフ領域41のX軸方向の余白が大きくなってしまう。
【0066】
そこで、グラフ描画装置1は、個数Nvがピクセル数Nw未満である場合に、グラフ描画装置1は、グラフ領域41を有効的に使うために次のように処理を行ってもよい。
【0067】
グラフ描画装置1のグループ線分描画部206(
図3参照)は、ステップ#16において、k番目(k=1、2、…、N
v)のグループの線分41B
kを、グラフ領域41の中の((N
w/N
v)×k,E
k/E
UNIT)の位置に描画する。ただし、小数点以下は、切り捨てられ、切り下げられ、または四捨五入される。また、この場合は1つのグループに電圧値Eが1つしか属さないので、最大電圧値E
k_MAXと最小電圧値E
k_MINとが等しくなるため、線分41B
kは点になる。
【0068】
そして、隣接値線分描画部207は、ステップ#17において、隣り合う2つの電圧値Eの線分41B(本例では、点)が結ばれるように線分41Cを描画する。
【0069】
本実施形態によると、テーブル61または部分テーブル63の中の各電圧値Eをグループに分類し、グループごとにプロットを行うので、グラフ化の従来の速度の維持を図りつつ折れ線グラフ62を生成することができる。しかも、グループごとに最大値および最小値を結ぶ線分41Bを描画するので、重要なデータを従来よりも見落としにくくすることができる。
【0070】
本実施形態では、
図5のテーブル61のように、目的変数を1つしか有しないテーブルをグラフ化する場合を例に説明したが、グラフ描画装置1は、複数の目的変数(例えば、電圧およびトルク)を有するテーブルをグラフ化することもできる。この場合は、
図3に示したグループ化処理部203、最大値最小値選出部204、スケール対応量決定部205、グループ線分描画部206、隣接値線分描画部207、および注釈配置部208は、目的変数ごとに、上述の各処理を実行すればよい。
【0071】
本実施形態では、グラフ描画装置1は、線分41B、41Cの両方を描画したが、線分41Bのみを描画してもよい。これにより、グループごとの電圧値Eの範囲をより明確に表わすことができる。
【0072】
または、グラフ描画装置1は、各グループの線分41Bを描画する代わりに、各グループの中の電圧値Eの散布図を描画してもよい。以下、散布図を描画する方法を、2000個の電圧値ER_1~ER_2000が分類されているR番目のグループの散布図を描画する場合を例に説明する。
【0073】
グラフ描画装置1は、R番目のグループの中の1番目の電圧値Eすなわち電圧値ER_1を表わす点をグラフ領域41の(R,{(ER_1-EMIN)+1}/EUNIT)に描画する。ただし、座標の小数点以下は、切り捨てられるものとする。以下、同様である。
【0074】
グラフ描画装置1は、2番目の電圧値Eすなわち電圧値ER_2を表わす点のY座標、{(ER_2-EMIN)+1}/EUNIT、が、それよりも前のいずれの電圧値E(つまり、ここでは、電圧値ER_1)の点のY座標とも異なれば、電圧値ER_2を表わす点を(R,{(ER_2-EMIN)+1}/EUNIT)に描画し、同じであれば描画しない。以下、同様に、t番目(t=3、4、…、2000)の電圧値Eすなわち電圧値ER_tを表わす点のY座標、{(ER_t-EMIN)+1}/EUNIT、が、(t-1)以前のいずれの電圧値ER_1、ER_2、…、ER_t-1、の点のY座標とも異なれば、電圧値ER_tを表わす点を(R,{(ER_t-EMIN)+1}/EUNIT)に描画し、いずれかと同じであれば描画しない。
【0075】
なお、線分41Bの代わりに散布図を描画する場合は、グラフ描画装置1は、線分41Cを描画しない。
【0076】
このような方法によると、同一のピクセルに対しては、多くても1回しか点が描画されない。つまり、同一のピクセルに対して複数回、点が描画されることがない。したがって、画像処理による演算ユニット101への負荷を従来よりも軽減することができる。
【0077】
本実施形態では、グラフ領域41の下端に全体最小電圧値EMINに対応する点が配置され、上端に全体最大電圧値EMAXに対応する点が配置されるように、線分41B、41Cが描画された。しかし、グラフ領域41の上下両端付近に余白ができるように線分41B、41Cを描画させてもよい。例えば、全体最小電圧値EMINおよび全体最大電圧値EMAXがそれぞれ、-30、70、である場合は、グラフ領域41の下端および上端がそれぞれ、-50、100に対応するように単位電圧EUNITなどを設定し、線分41B、41Cが描画されるようにしてもよい。
【0078】
また、電圧値Eが0以上の値しか取らない場合は、全体最小電圧値EMINに関わらず、グラフ領域41の下端が0に対応するように単位電圧EUNITなどを設定し、線分41B、41Cが描画されるようにしてもよい。
【0079】
本実施形態では、テーブル61または部分テーブル63に示される電圧値Eを、ピクセル数Nwに等分することによってグループ化したが、次のようにグループ化する場合もある。電圧計が不定期に電圧値Eを記録する場合は、期間MまたはMNEWを一定の長さ(例えば、30分、2時間、または1日)の、ピクセル数Nw個の時間帯に区切って、各電圧値Eを、検出された時刻の属する時間帯へ分類してもよい。または、期間MまたはMNEWを、長さが異なることのある一定の概念(例えば、1ヶ月、1四半期、または1年)の、ピクセル数Nw個の時間帯に区切って、各電圧値Eを、検出された時刻の属する時間帯へ分類してもよい。
【0080】
本実施形態では、説明変数が時刻であるテーブルをグラフ化する場合を例に説明したが、説明変数が他の要素(例えば、電流、電力など)であるテーブルをグラフ化する場合にも、グラフ描画装置1を用いることができる。
【0081】
グラフ描画プログラム2を表計算アプリケーションに標準機能またはアドインとして組み込み、テーブルが選択された状態で所定のコマンドが入力されると折れ線グラフが描画されるようにしてもよい。
【0082】
本実施形態では、グラフ描画装置1は、グラフ描画プログラム2を実行することによって折れ線グラフ62を描画したが、グラフ描画プログラム2に相当するプログラムがクラウドサーバ3(
図1参照)に備わっている場合は、テーブルデータ51をクラウドサーバ3へ送信し、折れ線グラフ62をクラウドサーバ3に作成させてもよい。そして、折れ線グラフ62の画像データをクラウドサーバ3から受信し、ディスプレイ105によって表示すればよい。
【0083】
その他、グラフ描画装置1の全体または各部の構成、処理の内容、処理の順序、データの構成、ウィンドウの構成、折れ線グラフ62の最小目盛りの設定などは、本発明の趣旨に沿って適宜変更することができる。
【符号の説明】
【0084】
1 グラフ描画装置(グラフ生成装置)
203 グループ化処理部(分類手段)
204 最大値最小値選出部(選出手段)
206 グループ線分描画部(生成手段)
207 隣接値線分描画部(生成手段)
41 グラフ領域(領域)
41B 線分(第一の線)
41C 線分(第二の線)
61 テーブル
62 折れ線グラフ(グラフ)
63 部分テーブル
【手続補正書】
【提出日】2022-07-08
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系に生成するグラフ生成装置であって、
前記複数の組それぞれの前記目的変数を、前記第一の軸方向の複数の区間に分類する分類手段と、
前記複数の区間それぞれに分類された前記目的変数の集合から最大値および最小値を1つずつ選出する選出手段と、
前記複数の区間それぞれについて、当該区間における値を表わす第一の線として、選出された前記最大値と前記最小値とを結ぶ線を当該区間に配置するが、当該複数の区間のうち隣り合う2つの区間それぞれを結ぶ第二の線を配置しないことによって、前記グラフを生成する生成手段と、
を有することを特徴とするグラフ生成装置。
【請求項2】
説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系に生成するグラフ生成装置であって、
前記複数の組それぞれの前記目的変数を、前記第一の軸方向の複数の区間に分類する分類手段と、
前記複数の区間それぞれに分類された前記目的変数の集合から最大値および最小値を1つずつ選出する選出手段と、
前記複数の区間それぞれについて、当該区間における値を表わす第一の線として、選出された前記最大値と前記最小値とを結ぶ線を当該区間に配置し、さらに、当該複数の区間のうちの互いに隣り合う2つの区間を結ぶ第二の線として、当該2つの区間のうちの先の区間に分類された前記目的変数のうちの最後の目的変数と後の区間に分類された前記目的変数のうちの最初の目的変数とを結ぶ線を配置することによって、前記グラフを生成する生成手段と、
を有することを特徴とするグラフ生成装置。
【請求項3】
前記分類手段は、前記複数の組のうちの一部の組を選択するための操作が行われた場合に、当該一部の組それぞれの前記目的変数を前記複数の区間に分類し直し、
前記選出手段は、前記複数の区間それぞれに分類し直された前記目的変数の集合から最大値および最小値を1つずつ選出し直し、
前記生成手段は、前記複数の区間それぞれについて、選出し直された前記最大値と前記最小値とを結ぶ線を前記第一の線として当該区間に配置し直し、さらに、分類し直された前記目的変数の集合に基づいて前記第二の線を配置し直すことによって、前記グラフを生成する、
請求項2に記載のグラフ生成装置。
【請求項4】
前記分類手段は、前記第一の軸方向のピクセル数が変化した場合に、当該変化後のピクセル数と同数の区間を前記複数の区間として、前記複数の組それぞれの前記目的変数を分類し直し、
前記選出手段は、前記同数の区間それぞれについて、分類し直された前記目的変数の集合から最大値および最小値を1つずつ選出し、
前記生成手段は、前記同数の区間それぞれについて、前記第一の線として、選出し直された前記最大値と前記最小値とを結ぶ線を当該区間に配置し直し、さらに、当該同数の区間のうちの互いに隣り合う2つの区間のうちの先の区間に分類された前記目的変数のうちの最後の目的変数と後の区間に分類された前記目的変数のうちの最初の目的変数とを結ぶ線を前記第二の線として配置し直すことによって、前記グラフを生成し直す、
請求項2に記載のグラフ生成装置。
【請求項5】
前記複数の区間の数は、前記グラフが生成される領域の、前記第一の軸方向のピクセル数に等しい、
請求項1ないし請求項4のいずれかに記載のグラフ生成装置。
【請求項6】
説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系の、当該第二の軸に平行に並んだNh個のピクセルからなるNw個の小領域が当該第一の軸に平行に並んだ領域に生成する、グラフ生成装置であって、
前記複数の組それぞれの前記目的変数を、前記第一の軸方向のNw個の区間に分類する分類手段と、
前記Nw個の区間それぞれについて、当該区間の前記Nh個のピクセルの中から、当該区間に分類された前記目的変数それぞれに対応するピクセルを特定し、当該特定したピクセルに対して1回ずつ点を配置するが当該Nw個の区間のうち隣り合う2つの区間それぞれを結ぶ線を配置しないことによって前記グラフを生成する、生成手段と、
を有することを特徴とするグラフ生成装置。
【請求項7】
説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系に生成するグラフ生成方法であって、
前記複数の組それぞれの前記目的変数を、前記第一の軸方向の複数の区間に分類し、
前記複数の区間それぞれに分類された前記目的変数の集合から最大値および最小値を1つずつ選出し、
前記複数の区間それぞれについて、当該区間における値を表わす第一の線として、選出した前記最大値と前記最小値とを結ぶ線を当該区間に配置するが、当該複数の区間のうち隣り合う2つの区間それぞれを結ぶ第二の線を配置しないことによって、前記グラフを生成する、
ことを特徴とするグラフ生成方法。
【請求項8】
説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系に生成するグラフ生成方法であって、
前記複数の組それぞれの前記目的変数を、前記第一の軸方向の複数の区間に分類し、
前記複数の区間それぞれに分類された前記目的変数の集合から最大値および最小値を1つずつ選出し、
前記複数の区間それぞれについて、当該区間における値を表わす第一の線として、選出した前記最大値と前記最小値とを結ぶ線を当該区間に配置し、さらに、当該複数の区間のうちの互いに隣り合う2つの区間を結ぶ第二の線として、当該2つの区間のうちの先の区間に分類された前記目的変数のうちの最後の目的変数と後の区間に分類された前記目的変数のうちの最初の目的変数とを結ぶ線を配置することによって、前記グラフを生成する、
ことを特徴とするグラフ生成方法。
【請求項9】
説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系の、当該第二の軸に平行に並んだNh個のピクセルからなるNw個の小領域が当該第一の軸に平行に並んだ領域に生成する、グラフ生成方法であって、
前記複数の組それぞれの前記目的変数を、前記第一の軸方向のNw個の区間に分類し、
前記Nw個の区間それぞれについて、当該区間の前記Nh個のピクセルの中から、当該区間に分類された前記目的変数それぞれに対応するピクセルを特定し、当該特定したピクセルに対して1回ずつ点を配置するが当該Nw個の区間のうち隣り合う2つの区間それぞれを結ぶ線を配置しないことによって前記グラフを生成する、
を有することを特徴とするグラフ生成方法。
【請求項10】
説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系に生成するためのコンピュータに用いられるコンピュータプログラムであって、
前記コンピュータに、
前記複数の組それぞれの前記目的変数を、前記第一の軸方向の複数の区間に分類する処理を実行させ、
前記複数の区間それぞれに分類された前記目的変数の集合から最大値および最小値を1つずつ選出する処理を実行させ、
前記複数の区間それぞれについて、当該区間における値を表わす第一の線として、選出した前記最大値と前記最小値とを結ぶ線を当該区間に配置するが、当該複数の区間のうち隣り合う2つの区間それぞれを結ぶ第二の線を配置しないことによって、前記グラフを生成する処理を実行させる、
ことを特徴とするコンピュータプログラム。
【請求項11】
説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系に生成するためのコンピュータに用いられるコンピュータプログラムであって、
前記コンピュータに、
前記複数の組それぞれの前記目的変数を、前記第一の軸方向の複数の区間に分類する処理を実行させ、
前記複数の区間それぞれに分類された前記目的変数の集合から最大値および最小値を1つずつ選出する処理を実行させ、
前記複数の区間それぞれについて、当該区間における値を表わす第一の線として、選出した前記最大値と前記最小値とを結ぶ線を当該区間に配置し、さらに、当該複数の区間のうちの互いに隣り合う2つの区間を結ぶ第二の線として、当該2つの区間のうちの先の区間に分類された前記目的変数のうちの最後の目的変数と後の区間に分類された前記目的変数のうちの最初の目的変数とを結ぶ線を配置することによって、前記グラフを生成する処理を実行させる、
ことを特徴とするコンピュータプログラム。
【請求項12】
説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系の、当該第二の軸に平行に並んだNh個のピクセルからなるNw個の小領域が当該第一の軸に平行に並んだ領域に生成するためのコンピュータに用いられるコンピュータプログラムであって、
前記コンピュータに、
前記複数の組それぞれの前記目的変数を、前記第一の軸方向のNw個の区間に分類する処理を実行させ、
前記Nw個の区間それぞれについて、当該区間の前記Nh個のピクセルの中から、当該区間に分類された前記目的変数それぞれに対応するピクセルを特定し、当該特定したピクセルに対して1回ずつ点を配置するが当該Nw個の区間のうち隣り合う2つの区間それぞれを結ぶ線を配置しないことによって前記グラフを生成する処理を実行させる、
ことを特徴とするコンピュータプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正の内容】
【0007】
本発明の一形態に係るグラフ生成装置は、説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系に生成するグラフ生成装置であって、前記複数の組それぞれの前記目的変数を、前記第一の軸方向の複数の区間に分類する分類手段と、前記複数の区間それぞれに分類された前記目的変数の集合から最大値および最小値を1つずつ選出する選出手段と、前記複数の区間それぞれについて、当該区間における値を表わす第一の線として、選出された前記最大値と前記最小値とを結ぶ線を当該区間に配置するが、当該複数の区間のうち隣り合う2つの区間それぞれを結ぶ第二の線を配置しないことによって、前記グラフを生成する生成手段と、を有する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0008
【補正方法】変更
【補正の内容】
【0008】
本発明の他の一形態に係るグラフ生成装置は、説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系に生成するグラフ生成装置であって、前記複数の組それぞれの前記目的変数を、前記第一の軸方向の複数の区間に分類する分類手段と、前記複数の区間それぞれに分類された前記目的変数の集合から最大値および最小値を1つずつ選出する選出手段と、前記複数の区間それぞれについて、当該区間における値を表わす第一の線として、選出された前記最大値と前記最小値とを結ぶ線を当該区間に配置し、さらに、当該複数の区間のうちの互いに隣り合う2つの区間を結ぶ第二の線として、当該2つの区間のうちの先の区間に分類された前記目的変数のうちの最後の目的変数と後の区間に分類された前記目的変数のうちの最初の目的変数とを結ぶ線を配置することによって、前記グラフを生成する生成手段と、を有する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】変更
【補正の内容】
【0009】
本発明の他の一形態に係るグラフ生成装置は、説明変数および目的変数の複数の組を有する対象データの全部分または一部分を表わすグラフを、当該説明変数を表わす第一の軸および当該目的変数を表わす第二の軸を有する座標系の、当該第二の軸に平行に並んだNh個のピクセルからなるNw個の小領域が当該第一の軸に平行に並んだ領域に生成する、グラフ生成装置であって、前記複数の組それぞれの前記目的変数を、前記第一の軸方向のNw個の区間に分類する分類手段と、前記Nw個の区間それぞれについて、当該区間の前記Nh個のピクセルの中から、当該区間に分類された前記目的変数それぞれに対応するピクセルを特定し、当該特定したピクセルに対して1回ずつ点を配置するが当該Nw個の区間のうち隣り合う2つの区間それぞれを結ぶ線を配置しないことによって前記グラフを生成する、生成手段と、を有する。