• 締切済み

取得したデータでグラフを描画する際、オートレンジにしたいです。

Visual Basicでプログラミングをしています。 測定器から2つのデータを取得してグラフを作成するという流れを、数十回程度、繰り返したいのですが、取得されるデータの大きさ(桁など)が明確で無い場合は、取得したデータから縦軸と横軸のレンジ(リミット)を判断して描画をさせる必要があると考えています。 もしも数値の見当がつくようなら、こちらでいくつかのレンジを用意すれば済むと思うのですが、オーバーレンジになったり極端に小さくなったりすることもあると思いますので、画面内に、ちょうど良い程度の大きさにグラフが描画されれば、見るほうも見やすいのかなと思います。 流れとしては、取得したデータから最大レンジを決めて画面内になるように描画し、次にデータを取得したときは、前のデータと比較するか何かして、そのままのレンジでは描画できない(枠からはみ出すなど)ようであれば、画面内に描画されるようにレンジを設定し直し、前のデータと次のデータを再描画する、そしてそれを繰り返していく・・・という感じになるのかなぁと考えています。 考えているだけでどのようにするか方法が分からず困っています。 上記とは全く違う別の考えかたでももちろん結構ですので、プログラムのアドバイスをどうぞお願いしますm(__)m

みんなの回答

  • Mnosan
  • ベストアンサー率25% (9/36)
回答No.2

決まった個数の情報をDate(n)などとして保存しておき その中で最大のものをグラフの最大値として設定してはどうでしょうか? そもそも、オートレンジ機能はあったと思いますがそれでは不満なんですか?

回答No.1

>Visual Basicでプログラミング 一応聞いておきます。これはVB6? 汎用性がなくてもよいのであれば、Excelのグラフを利用してあげたらよいかと思います。 (VB+Excelの連携) 独自にグラフを書くのであれば、質問内容でいわれている通りのアルゴリズムとなると思います。 よって、描画済みの部分の再描画が必要となるので、結局グラフを毎回最初から描画を行うはめになります。 独自でそれを考慮したグラフのコントロールを作ろうとした場合、結局はExcelのグラフを真似るような状況になると思います。 Excelを使うのがNGでなければ、それをお勧めします。

関連するQ&A