• ベストアンサー

グラフ表示の仕方 教えてください

随時データを取得して、それを折れ線グラフで描画したいと思っています。 また一定期間をスクロールさせて表示できるようにしたいのですが、ピクチャボックスとスクロールバーを使用すれば出来るでしょうか? アドバイスまたはサンプルのプログラム等がありましたら教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.5

描画に関しては解決しそうですね。 私もピクチャボックスをずらしてスクロールさせる方法がよいと思います。 以前にスロットマシンのような画像回転サンプルを載せましたが、同様な方法を使用しています。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=167464 これはタイマーで回転させてますが、移動量をスクロールバーから取得したら応用できると思います。 あと画面のちらつきは、フォームとピクチャボックスのAutoRedrawプロパティで、少しは防げるけど、完全には防ぎきれないかも?

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=167464
全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

回答No.6

PaintPictureコマンドはどうでしょうか? p.PaintPicture p.Image,ずらす分XY,p.Width,p.height …のように

全文を見る
すると、全ての回答が全文表示されます。
回答No.4

私ならこうするという例をだします。(実際にこれでデモを作った) ピクチャボックスの中にピクチャボックスを貼り付けます。(前者をpicWIN、後者をpicGRAPHとする) 実行時にpicGRAPHのサイズをグラフ描画に必要なサイズにします。 例えば、Height=200、Width=20000ぐらいとか。 そしてグラフをpicGRAPHに描画していき、picWINの表示範囲から外れそうになったら picGRAPHのLeftを調節します。 描画後、このpicGRAPH.Leftの値をスクロールバーで操作すれば長いグラフも見ることが出来ます。

全文を見る
すると、全ての回答が全文表示されます。
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.3

スクロールバーを使ったとしても 自動で過去のデータをスクロールしてくれるわけではありません。 スクロールバーが行ってくれるのは 右を押したか、左を押したか、或いはどれぐらいの量を ドラッグしたのかを教えてくれるだけで視覚的な事は自分でやらなければ なりません。 つまりスクロールさせる為には過去のデータを配列なりに 格納しておく必要があります。 1分ぐらいのというと大体 600(60秒)+300(現在表示分)=900のdouble型?の配列をとります。 この場合1分30秒を超えると配列オーパーがおきるので 900を超えた時点で配列は0からデータを上書きしていきます。 どこをピクチャーボックスで表示するかはスクロールバーを使い 判断するわけですが、 例えば2分後に20秒前(1分40秒後)の画面にスクロールすると、配列の700~899と0~99をつなぎ合わせた物を ピクチャーボックスに表示させればいいわけです。 #あくまで私だったらこう作るという一例です。

全文を見る
すると、全ての回答が全文表示されます。
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.1

リアルタイムにスムースにスクロールさせて いきたいのでしょうか? だとするとスクロールバーは関係ありません。(使うのは自由ですが) ピクチャーボックスでも可能ですが リアルタイムに何度も描写しなおすと 画面にちらつきがおきます。 随時データ取得とありますがだいたいの時間間隔は どれぐらいなのでしょうか?

aioi_k
質問者

補足

返信ありがとうございました。 データの取得間隔は1秒毎に10データ(0.1秒)を表示させたいと思っています。 ピクチャーボックスを使って作成してみたのですが、最初に採ったデータが数秒で画面から消えてしまうので、1分位のデータをスクロールさせて見れたらいいなと思っています。

全文を見る
すると、全ての回答が全文表示されます。
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

リアルタイムにスムースにスクロールさせて いきたいのでしょうか? だとするとスクロールバーは関係ありません。(使うのは自由ですが) ピクチャーボックスでも可能ですが リアルタイムに何度も描写しなおすと 画面にちらつきがおきます。 随時データ取得とありますがだいたいの時間間隔は どれぐらいなのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VB6.0で折れ線グラフに最大値を表示したいのですが

    VB6.0でピクチャーボックスに折れ線グラフを描画しています。グラフ上の最大値のところに数値を表示したいのですが、ピクチャーボックス上で任意の座標に、ラベルを表示させることはできるのでしょうか? やり方をご存知の方がいたら教えてください。 参考になるサイトを教えていただいても助かります。 どうぞお願いします。

  • エクセルのグラフ

    お尋ねです。エクセルでグラフを描きます。折れ線グラフです。 そのグラフ自体、数年にもわたるデーターからのグラフで、 そのグラフ内である一定の期間を定めて、その期間の間のグラフに似た グラフをその他の期間で探すというプログラムなどはあるのでしょうか?

  • エクセルでのグラフ表示

    エクセルで折れ線グラフを作成しますが、縦軸がデータの数値に対して、横軸が測定条件の変化をサンプル別に複数の折れ線グラフを描きますが、サンプルにより測定条件に欠損値がある場合、そのサンプルの折れ線グラフがその部分の測定条件(横軸)で縦軸が0のデータで折れ線を引きます。これでは見難いので、欠損値を無視して折れ線を引く方法は無いでしょうか? 宜しくお願いします。

  • 統計ソフトRでグラフにスクロールバーをつける方法

    長期間の時系列データをグラフで描画した際に、一画面に収めるのはキツイため、 グラフの下に時間方向(横軸)のスクロールバーをつけて、 スクロールさせながら全期間を確認したいです。 そのようなことは可能でしょうか? 出来そうかなと思ったのですが、見つけられませんでした。

  • VB6.0で、グラフを複数表示させたいのですが。

    VB6.0で、Form1にある描画ボタンを押すたびに、 Form2のグラフを画面上に追加表示したいのですが、 同じフォームを複数表示させる方法がわかりません。 ご存知の方教えてください。 よろしくお願いします。 Form2は添付ファイルのような感じです。 ピクチャーボックスにグラフを描画します。

  • グラフの作成について

    VB画面でグラフを表示する方法として MSChartを使う方法や Excelで作成したグラフを ピクチャーボックスに貼り付ける方法を ご紹介していただきました。 今回は縦棒グラフでかまわないのですが、 横軸を時間軸とした場合に、 非常に長いので、横スクロールバーを使って グラフ表示させる方法が分かる方、 ご教授ください。 よろしくお願いいたします。

  • VB6.0で複数フォームのグラフ描写ができません

    VB6.0でForm1にある描画ボタンを押すと、Form2が表示され、Form2のピクチャーボックスにグラフが描かれるコードを作っているところです。 ところが、Form2にはグラフが描かれません。 以下の簡単なコード(ピクチャーボックス2の背景を白色にする)も実行されません。 Form1にピクチャーボックスを作り、描画ボタンを押すとそこにグラフが表示されるようにしたところ、グラフが描かれました。 フォームは2つ表示させると問題があるのでしょうか? なにか考えられる原因を教えていただけないでしょうか。 Form1に記述しているコード Dim GraphForm As New Form2 GraphForm.Show Form2.Picture2.BackColor = vbWhite

  • 棒グラフと折れ線グラフを同時に表示する

    100%積み上げ棒グラフと、折れ線グラフを同じグラフ上に表示させたいのですが、どのようにすればいいですか? ちなみに、100%積み上げ棒グラフのデータと、折れ線グラフで表示したいデータは、別の表で管理されています。 この程度の情報で分かりますか? 宜しくお願いいたします。

  • グラフの書き方

    使っている環境はVB6.0です。 X座標とY座標のデータがあるとします。 そのデータを使ってピクチャーボックスに折れ線グラフを書きたいのですが、どのようにすればよいかわかりません。なので、教えてもらえないでしょうか? 軸については、書き方はわかりませんがアイデアとしては、データからX座標とY座標の最大値を取ってきて、それを自分で決めた個数で目盛り線を入れるという考えです。 よろしくお願いします。

  • Excel 折れ線グラフのデータ描画時間を改善したい

    Excel 折れ線グラフのデータ描画時間を改善したい Excel 2003を使用しています。 15000行20列ほどのデータを折れ線グラフとして表示していますが 系列が20と、データ数が膨大なためグラフの描画時間がかかってしまいます。 グラフデータを図面化するなどといった方法で、 なんとか描画時間を少なくしてExcelオープン時の負担を軽くしたいのです。 よい方法をご存知の方は教えてください。 よろしくお願いします。