0

VB6 で 2 つの配列から折れ線グラフをプロットしたい。

x(1 to 3) =1,2,3
y(1 to 3) =1,2,3

... 値 x=1,2,3 および y=1,2,3 を含む軸。

私はこのコマンドしか知りません:

picture1.line(x1,y1)-(x2,y2) 

...しかし、これらにはラベルなどの軸オプションがありません。それを使用してグラフを取得していますが、軸はありません-対応する選択されたポイントの勾配を持つ線だけです。

軸に名前を付けるためのコード、または VB6 でチャートを生成するためのその他のより良い方法を教えてください。

4

1 に答える 1

0

VB6 を使用すると、Form コントロールと PictureBox コントロールで使用できる自動スケーリングを利用できます。

PictureBox "Picture1" をフォームに追加し、2 つの Line コントロール LineX と LineYPictureBox に配置します。これらは軸を形成します。次のコードを追加します。

Option Explicit

Private Sub DrawLines(x() As Single, y() As Single)

    Dim nIndex As Long

    ' Ensure x() and y() are the same size.
    If UBound(x) <> UBound(y) Then
        Err.Raise 1000, , "x() and y() are different sizes"
    End If

    ' First line:
    If UBound(x) < 2 Then
        Exit Sub
    End If

    ' Draw line between first two coordinates.
    Picture1.Line (x(1), y(1))-(x(2), y(2))

    ' Subsequent lines:
    For nIndex = 3 To UBound(x)
        ' Draw line to next coordinate.
        Picture1.Line -(x(nIndex), y(nIndex))
    Next nIndex

End Sub

Private Sub Form_Load()

    SetupPictureBox Picture1

End Sub

Private Sub Picture1_Paint()

    Dim x(1 To 4) As Single
    Dim y(1 To 4) As Single

    x(1) = 15!
    y(1) = 15!

    x(2) = 45!
    y(2) = 45!

    x(3) = 15!
    y(3) = 45!

    x(4) = 15!
    y(4) = 15!

    DrawLines x(), y()

End Sub

Private Sub SetupPictureBox(ByRef pct As PictureBox)

    ' Set up coordinates for picture box.
    pct.ScaleLeft = -100
    pct.ScaleTop = -100
    pct.ScaleWidth = 200
    pct.ScaleHeight = 200

    ' Set up coordinates for the X axis.
    LineX.X1 = -100
    LineX.X2 = 100
    LineX.Y1 = 0
    LineX.Y2 = 0

    ' Set up coordinates for the Y axis.
    LineY.X1 = 0
    LineY.X2 = 0
    LineY.Y1 = -100
    LineY.Y2 = 100

End Sub

2 つの軸が自動的にペイントされることに注意してください。三角形の描画コードは、PictureBox の Paint イベントに含まれています。

于 2013-04-23T22:27:18.643 に答える