• 締切済み

vb2010でグラフを描く方法

vb2010を用いて「picturebox」に下図のようなグラフを描きたいと思っています。 できれば、ソースを教えて頂ければ幸いです。 VB初心者です。よろしくお願い致します。

この投稿のマルチメディアは削除されているためご覧いただけません。

みんなの回答

回答No.3

はじめまして、通るすがるともうします。グラフを描くに簡単な方法として、zgraphというものがありますが このコントロールを使ってはいかがでしょうか? http://blog.livedoor.jp/akf0/archives/51309517.html

  • hitomura
  • ベストアンサー率48% (325/664)
回答No.2

質問内容に対するちょっとした疑問ですが、どうしても PictureBox で描画しなければだめですか? 以下 URL の通り、グラフを描画するためのコンポーネントがそのものずばり Chart としてあるようですが。 http://msdn.microsoft.com/ja-jp/library/system.windows.forms.datavisualization.charting.chart(v=vs.110).aspx

meshi333
質問者

補足

VB6で上記のグラフを作成するのに、下記のコードを作りましたが、VB2010ではどうすればいいかわかりません。VB2010では、PictureBox で描画するものと思っていました。 VB2010で描画する方法を教えてください。 ---------------------------- '描画メニュー Dim strB As String Cls DrawWidth = 1 '線幅設定 ScaleMode = 3 '画面単位設定 ForeColor = QBColor(1) '画面色設定 'グラフ寸法線 Line (150, 100)-(150, 500), QBColor(1) Line (650, 100)-(650, 500), QBColor(1) Line (150, 100)-(650, 100), QBColor(1) Line (150, 300)-(650, 300), QBColor(1) Line (150, 500)-(650, 500), QBColor(1) 'グラフ目盛線(Y軸) For I = 0 To 360 Step 40 Line (150, 100 + I)-(160, 100 + I), QBColor(1) Next 'グラフ目盛線(X軸) For I = 50 To 450 Step 50 Line (150 + I, 490)-(150 + I, 500), QBColor(1) Next DrawWidth = 2 '線幅設定 For intDatDim = 1 To Datdim '曲線 For I = 34 To intDataNo(intDatDim) - 1 Step 10 Line (150 + I * (500 / intDataNo(intDatDim)), 300 - dData(intDatDim, I) * (200 / 2))-(150 + (I + 10) * (500 / intDataNo(intDatDim)), 300 - dData(intDatDim, I + 10) * (200 / 2)), QBColor(14 - intDatDim) Next I Line (400, 490 - (intDatDim * 20))-(450, 490 - (intDatDim * 20)), QBColor(14 - intDatDim) CurrentX = 455 CurrentY = 490 - (intDatDim * 20) Print strName(intDatDim) Next intDatDim '項目表示 CurrentX = 110 CurrentY = 70 Print "B[T]" '目盛表示 J = 0 For I = 0 To 200 Step 40 CurrentX = 120 CurrentY = 100 + I strB = CStr(0.2 - (2 / 5) * J * 0.1) Print strB J = J + 1 Next J = 0 For I = 0 To 200 Step 40 CurrentX = 120 CurrentY = 300 + I strB = CStr(0 - (2 / 5) * J * 0.1) Print strB J = J + 1 Next End Sub ----------------------------------------------------

回答No.1

X、Y、Width、Heightを決めて、DrawLine()やDrawRectangle()、DrawString()で 引けばいいと思います。 http://dobon.net/vb/dotnet/graphics/drawline.html http://dobon.net/vb/dotnet/graphics/drawrectangle.html http://dobon.net/vb/dotnet/graphics/drawstring.html

meshi333
質問者

補足

グラフ目盛線(Y軸)のVB6の下記のコードを VB2010にするとどうなりますでしょうか。 ------------------------------ 'グラフ目盛線(Y軸) For I = 0 To 360 Step 40 Line (150, 100 + I)-(160, 100 + I), QBColor(1) ------------------------------ ↓この内容でよろしいでしょうか。 ------------------------------ 'グラフ目盛線(Y軸) For I = 0 To 360 Step 40 g.DrawLine(Pens.Black, 150, 100 + I, 160, 100 + I) ------------------------------

関連するQ&A

  • vb2010でpictureboxにグラフを描く

    みなさん教えてください。 vb2010を用いて「picturebox」に下図のようなグラフを描きたいと思っています。 どうしてもY軸が図のように対数にすることができません。 できればソースを教えて頂けたらうれしいです。 よろしくお願い致します。

  • VB2008でグラフを書きたい。

    オープンソースのグラフコントロールのZedGraphなどを使わずに、 Pictureboxにグラフを書きたいです。 いろいろやってみたのですが、Pictureboxの画面の端まで行ってしまうと、 そこから先が見えなくなってしまいます。 Picマイコンと通信させてオシロスコープのようなものをつくりたいので、どうしても必要です。 どうかPictureboxにグラフを描く方法を教えてください。

  • VB6でグラフを表示する方法

    みなさん教えてください。 今VB6で、下記のようにグラフを表示するソフトを作成しています。 (1)Text1、Text2、Text3に数値を入力する (2)(1)後「グラフ作成」ボタンを押すと、入力値がテキストファイル「data.txt」に書き出される。 (3)(2)後、赤枠エリアに例のようなグラフ(折れ線グラフ)が作成される →「PictureBox」か「Microsoft Graph 10.0 Object Library」を用いて、エクセルで表示するようなグラフを作成したい 上記(1)~(3)のような動きをするソフトを作成しているのですが、(2)の段階で苦戦しています。悩んでいます。 みなさん、よいアドバイスを頂けないでしょうか。 サンプル構文をのせて頂けたらうれしいです。 よろしくお願い致します。

  • VBからエクセルのグラフを貼り付け

    VB初心者の者ですが、 VBのプログラム上から、エクセルを起動し、 シートにグラフを貼り付けたいのですが、 どうも、やり方が分からないのです。 グラフをシートごと追加するのはできるのですが、 シートに貼り付ける方法だけは、 どうしても分かりません。 もし、ご存知の方がいらっしゃいましたら、 よろしくお願い致します。

  • VB.netでのライン描画方法がわかりません

    VB6.0にて作成していたソースプログラムを.netアップグレードウィザードによりアップグレードして.netソースを作成しました。VB6.0ではPictureBox.Lineを利用してラインの描画をできていたようなのですが、.netにはLineメソッドが用意されていないらしくライン描画をどう行なえば良いかがわかりません。またVB6.0ではPictureBoxだったコントロールがアップグレードウィザードにて変換された後はPanelコントロールになってしまっています。 .netにもPictureBoxはあるのになぜPanelコントロールに置き換わってしまうのでしょうか? いま現在やりたいのは、あるファイルより取得したデータを用いて、VB.netのコントロール(Panel? PictureBox?)にライン描画をさせてやりたいのです。 あまり難しいことは出来ませんので簡単に描画する方法をわかる方がいましたら教えて頂けませんか? よろしくお願いします。

  • vb2008でもぐらたたきを作りたいのですが

    vb2008でもぐらたたきを作っているのですが、まだまだ初心者なので分からないことだらけです。 フォーム上のスタートボタンを押すことでゲームを開始させ、Timerを用いてPictureBoxを作成し、PictureBoxにもぐらの画像を対応させて、それを指定された数箇所にランダムに表示させたいのですが、どのようにすれば良いのでしょうか。 表示させるもぐらの座標位置は (50,50),(240,50),(430,50) (50,290),(240,290),(430,50) の6つなのですが。 答えていただければ幸いです。

  • VB2005 PictureBox1に線を描きたい

    VB2005 のPictureBox1に1秒毎に読込んできた値を折れ線グラフにして表示したいのですが、その方法を参考書を見ても良く分かりません。また、そのPictureBox1の上に別のフォームとかを表示すると、PictureBox1と重なった部分の表示が消えてしまいます。この2つを解決したいのですが。どなたか解決する方法を知っている方教えて頂きたいのですが。よろしくお願いします。

  • VB.netでグラフ表示にて

    vb.net2010にてタイマー機能を使い3分に一度DBからデータを読み込んで折れ線グラフを作画(pictureboxに)するプログラムを作成したのですが起動しっぱしで使用するとかなり動作が重くなり使えない状態です。 メモリーを解放するなどの解決方法はありますでしょうか。 環境windows 7 Intel(R) core(TM)i3-2120 CPU @ 3.3GHz 実装メモリ 4.0GB 開発環境:vb.net 2010 express

  • VB2008によるコントロール配列

    VB初心者でただ今勉強中です。VB2008です。 Form1の中にたくさん(100個くらい)の星(ビットマップデータ)をちりばめ、その星がランダムに点いたり消えたりするプログラムを作成しようとしています。 フォームにPictureBoxを配置して(星.bmp)とします。 その星を100個フォーム上にちりばめたいのですがPictureBoxを100個も置くのはムダな労力です。 それで配列を使いたいのですが、PictureBoxを1つだけフォームに配置してそれをコード上で配列として使う方法がわかりません。 いろいろ調べてみたのですが初心者にはわからない説明ばっかりで途方に暮れています。

  • エクセルデータをVB2008のMSChartでグラフ化する方法を教えてください!!

    はじめまして。VB初心者です。 エクセルからデータを取り出し、VB2008のMSChartコントロールを使って、マーカー無しの平滑線の散布図を作ろうと思っています。まだVB初心者で、プログラム作るのに苦労しています(汗)。エクセルから下記のようにランダムにデータを取り出して表示する方法わかる方いましたらご教示お願いします。(サンプルコードありましたら助かります!!) ★VB2008のMSChartコントロールで下記のように表示したいです!! (1)エクセルにあるデータは、A1からデータがはじまっているのではなく、AFの3からはじまり、3,6,9,12(行)に系列ごとにデータが入力されます(下記のエクセルデータ例参考)。 (2)VBでの表示は下記のエクセルで作ったグラフのようにしたいです!!データはエクセルデータの行に入力されている黄色の部分です。(X軸目盛りは1単位となります)、 (3)系列はエクセルの行となり、表示は系列をすべて重ねて表示します。(系列の数は列のセルの最後まである場合があります) 参考にエクセルでグラフ作りましたのでみて頂ければ幸いです

専門家に質問してみよう