- 締切済み
vb2010でグラフを描く方法
vb2010を用いて「picturebox」に下図のようなグラフを描きたいと思っています。 できれば、ソースを教えて頂ければ幸いです。 VB初心者です。よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- ToOrisugaru
- ベストアンサー率28% (80/280)
はじめまして、通るすがるともうします。グラフを描くに簡単な方法として、zgraphというものがありますが このコントロールを使ってはいかがでしょうか? http://blog.livedoor.jp/akf0/archives/51309517.html
- hitomura
- ベストアンサー率48% (325/664)
質問内容に対するちょっとした疑問ですが、どうしても PictureBox で描画しなければだめですか? 以下 URL の通り、グラフを描画するためのコンポーネントがそのものずばり Chart としてあるようですが。 http://msdn.microsoft.com/ja-jp/library/system.windows.forms.datavisualization.charting.chart(v=vs.110).aspx
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
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
補足
グラフ目盛線(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) ------------------------------
補足
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 ----------------------------------------------------