我是新手,最近要用MSCHART画一直方图的统计的,郁闷死了,搞不来!!!
请高手指教~~~~~

解决方案 »

  1.   

    Public Enum HistGramStyle
        LineTo
        Pillar
    End EnumPrivate Sub DrawHistgram(Data() As Double, pic As PictureBox, Style As HistGramStyle, Color As OLE_COLOR)
        Dim Min As Double, Max As Double
        Dim i As Integer, m As Integer, n As Integer
        m = LBound(Data): n = UBound(Data)
        Min = 1000000000: Max = -1000000000
        For i = m To n
            If Min > Data(i) Then Min = Data(i)
            If Max < Data(i) Then Max = Data(i)
        Next
        pic.Scale (m, Max)-(n, Min)
        pic.AutoRedraw = True
        pic.Cls
        If Style = LineTo Then
            For i = m To n - 1
                pic.Line (i, Data(i))-(i + 1, Data(i + 1)), Color
            Next
        ElseIf Style = Pillar Then
            For i = m To n
                pic.Line (i, Data(i))-(i + 1, Min), Color, BF
            Next
        End If
        
    End Sub
    Private Sub Command1_Click()
        Dim Data(100) As Double
        For i = 1 To 100
            Data(i) = Rnd * 50
        Next
        DrawHistgram Data, Picture1, Pillar, vbRed
    End SubPrivate Sub Command2_Click()
     Dim Data(100) As Double
        For i = 1 To 100
            Data(i) = Rnd * 70
        Next
        DrawHistgram Data, Picture1, LineTo, vbRed
    End Sub